{"version":3,"file":"8669.ed6f47abea10c4448c01.js","mappings":"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,EAAA,aACAA,EAAAA,EAAA,aACAA,EAAAA,EAAA,aACAA,EAAAA,EAAA,aACAA,EAAAA,EAAA,aACAA,EAAAA,EAAA,aACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EAAA,eACAA,EAAAA,EA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","sources":["..\\..\\..\\LSWebUICore.ClientApp\\./Utils/jsonPatch/operation.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Components/Icons/Close.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Utils/typeGuards.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Components/ReactstrapSlim/Modals/ModalFooter.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/ReactstrapSlim/Buttons.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/ReactstrapSlim/Modals/Modal.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/LayoutContext.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Services/API/API.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Components/ReactstrapSlim/Modals/ModalBody.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/ReactstrapSlim/Modals/ModalHeader.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Services/API/ClientBase.ts","..\\..\\..\\LSWebUICore.ClientApp\\./Components/ReactstrapSlim/Modals/ModalCloseButton.tsx","..\\..\\..\\LSWebUICore.ClientApp\\./Components/DesignContext.tsx"],"sourcesContent":["import { Operation as FastOpertaion } from \"fast-json-patch\";\r\n\r\nexport class Operation {\r\n public operation: FastOpertaion;\r\n constructor(op: FastOpertaion) {\r\n this.operation = op;\r\n }\r\n\r\n public toJSON = () => this.operation;\r\n public static fromJS = (item: string) => new Operation(JSON.parse(item));\r\n}","import React from \"react\";\r\nimport { forwardRef } from \"react\";\r\nimport { Icon, IconProps } from \"./common\";\r\n\r\nconst Close: Icon = forwardRef(({ color = \"currentColor\", size = 24, onClick = () => { /*empty*/ }, ...rest }, ref) => \r\n \r\n);\r\nexport default Close;","import { IVenueBrief, IVenueSelectorListItem, ProblemDetails, ResponseWrapper, WorkspaceHourlyModel, WorkspaceModel, WorkspacePeriodModel } from \"Services/API/API\";\r\n\r\nexport function isVenueBrief(venue: IVenueBrief | IVenueSelectorListItem): venue is IVenueBrief {\r\n return (venue as IVenueBrief).isVenueBrief === true;\r\n}\r\n\r\nexport function isResponseWrapper(obj: unknown): obj is ResponseWrapper {\r\n return (obj as ResponseWrapper)?.isResponseWrapper === true;\r\n}\r\n\r\nexport function isWorkspaceHourlyModel(obj: WorkspaceModel): obj is WorkspaceHourlyModel {\r\n return obj[\"_discriminator\"] === \"WorkspaceHourlyModel\";\r\n}\r\n\r\nexport function isWorkspacePeriodModel(obj: WorkspaceModel): obj is WorkspacePeriodModel {\r\n return obj[\"_discriminator\"] === \"WorkspacePeriodModel\";\r\n}\r\n\r\nexport function isLegacyException(obj: unknown): obj is LSCommon.ServerErrorJsonResponse {\r\n return !!(obj as LSCommon.ServerErrorJsonResponse)?.isException;\r\n}\r\n\r\nexport function isReactKey(obj: unknown): obj is React.Key {\r\n const objType = typeof obj;\r\n return objType === \"number\" || objType === \"string\";\r\n}\r\n\r\nexport function isProblemDetails(obj: unknown): obj is ProblemDetails {\r\n return obj instanceof ProblemDetails;\r\n}","import React from \"react\";\r\nimport { default as RBS_ModalFooter, ModalFooterProps as RBS_ModalFooterProps } from \"reactstrap/lib/ModalFooter\";\r\nimport classNames from \"classnames\";\r\n\r\n\r\nexport type ModalFooterProps = RBS_ModalFooterProps & { \r\n compact?: boolean,\r\n}\r\n\r\nconst ModalFooter: React.FC = ({ compact = false, className, ...rest }) => {\r\n return ()\r\n}\r\n\r\nexport default ModalFooter;","import React, { ButtonHTMLAttributes, AnchorHTMLAttributes, ClassAttributes } from \"react\";\r\nimport classNames from \"classnames\";\r\n\r\nexport type ButtonSize = \"lg\" | \"md\" | \"sm\" | \"icon\";\r\nexport type ButtonFluidBreakpoints = \"md\" | \"sm\";\r\n\r\nexport const legacyButtonColors = [\"orange\", \"ocean\", \"gray\", \"white\", \"link\", \"light-gray\", \"light-orange\", \"transparent\"];\r\ntype LegacyButtonColor = typeof legacyButtonColors[number];\r\ntype CurrentButtonColor = \"primary\" | \"primary-on-ocean\" | \"primary-on-dark\" | \"secondary\" | \"secondary-on-ocean\" | \"secondary-on-dark\" | \"clean\" | \"arctic-20\" | \"icon\" | \"icon-outline\" | \"primary-link\" | \"input\";\r\nexport type ButtonColor = CurrentButtonColor | LegacyButtonColor;\r\n\r\nexport type CustomButtonProps = {\r\n size?: ButtonSize,\r\n fluid?: boolean | ButtonFluidBreakpoints,\r\n color?: ButtonColor,\r\n outline?: boolean,\r\n}\r\n\r\nexport type ButtonProps = ButtonHTMLAttributes & ClassAttributes & CustomButtonProps;\r\nexport type ButtonLinkProps = AnchorHTMLAttributes & CustomButtonProps;\r\n\r\nconst getBtnClasses = (buttonProps: CustomButtonProps, className: string | undefined): string => {\r\n const outline = !buttonProps.color\r\n ? buttonProps.outline\r\n : (buttonProps.outline && legacyButtonColors.includes(buttonProps.color));\r\n\r\n return classNames(\"btn\", className, {\r\n [`btn-${buttonProps.size}`]: !!buttonProps.size,\r\n \"btn--fluid\": typeof buttonProps.fluid == \"boolean\" && buttonProps.fluid,\r\n [`btn--fluid-${buttonProps.fluid}`]: typeof buttonProps.fluid != \"boolean\" && buttonProps.fluid,\r\n [`btn-${buttonProps.color}`]: !outline && buttonProps.color,\r\n \"btn-outline\": outline && !buttonProps.color,\r\n [`btn-outline-${buttonProps.color}`]: outline && buttonProps.color,\r\n });\r\n}\r\n\r\nexport const Button: React.FC = React.forwardRef(({ children, size, className, color, outline = false, fluid = false, ...htmlProps }, ref) => {\r\n\r\n const buttonClasses = getBtnClasses({\r\n size,\r\n fluid,\r\n color,\r\n outline\r\n }, className);\r\n\r\n return ()\r\n});\r\n\r\nexport const ButtonLink: React.FC = ({ children, size, className, color, outline = false, fluid = false, ...htmlProps }) => {\r\n const buttonClasses = getBtnClasses({\r\n size,\r\n fluid,\r\n color,\r\n outline\r\n }, className);\r\n\r\n return ({children})\r\n}\r\n\r\nexport const PlayButton: React.FC> = ({ children, ...htmlProps }) => {\r\n return (\r\n )\r\n}\r\n\r\nexport type SpinningButtonProps = ButtonProps & {\r\n isLoading: boolean\r\n}\r\nexport const SpinningButton: React.FC = ({ isLoading, className, children, ...buttonProps }) => {\r\n const buttonClasses = classNames({\r\n \"spinning-btn\": true,\r\n \"spinning-btn--spinning\": isLoading,\r\n }, className);\r\n return (\r\n \r\n )\r\n}\r\n\r\nexport { default as ButtonGroup } from \"reactstrap/lib/ButtonGroup\";\r\n","import React, { useContext } from \"react\";\r\nimport { default as RBS_Modal, ModalProps } from \"reactstrap/lib/Modal\";\r\nimport { DesignContext } from \"Components/DesignContext\";\r\n\r\nconst Modal: React.FC = (props) => {\r\n const designContext = useContext(DesignContext);\r\n return \r\n}\r\n\r\nexport default Modal;","import { Button, Modal, ModalBody, ModalFooter, ModalHeader } from \"Components/ReactstrapSlim\";\r\nimport React, { createContext, useCallback, useContext, useEffect, useMemo, useRef, useState } from \"react\";\r\nimport { BrowserRouterProps } from \"react-router-dom\";\r\nimport { isLegacyException, isResponseWrapper } from \"Utils/typeGuards\";\r\n\r\ntype PageLeaveCallback = (ok: boolean) => void;\r\ntype PageLeaveConfirmationOptions = LiquidSpace.View.PageLeaveConfirmationOptionsCore;\r\n\r\nexport const usePageLeaveConfirmation = (subscriptionId: string, options: PageLeaveConfirmationOptions, deps: React.DependencyList) => {\r\n const layoutContext = useContext(LayoutContext);\r\n useEffect(() => {\r\n if (layoutContext.onPageLeave)\r\n layoutContext.onPageLeave(subscriptionId, options);\r\n return function cancel() {\r\n if (layoutContext.offPageLeave)\r\n layoutContext.offPageLeave(subscriptionId)\r\n }\r\n }, deps)\r\n}\r\n\r\nconst PAGE_LEAVE_MESSAGE = \"You have unsaved changes. Do you want to save before navigating away from this page?\";\r\n\r\nconst getPageLeaveMessage = (message?: string): string => {\r\n return message || PAGE_LEAVE_MESSAGE;\r\n}\r\n\r\nexport interface ErrorState {\r\n message: string,\r\n title?: string,\r\n errorCode?: string,\r\n debugTrace?: string,\r\n onClose?: () => void,\r\n}\r\n\r\nexport interface ILayoutContext {\r\n showMessage(message: string, timeout?: number): void;\r\n errorState: ErrorState | undefined;\r\n showError(error: unknown, title?: string, onClose?: () => void): void;\r\n isLoading: boolean,\r\n setIsLoading: (isLoading: boolean) => void,\r\n hasPageLeaveCallbacks: () => boolean,\r\n getUserConfirmation?: BrowserRouterProps[\"getUserConfirmation\"],\r\n onPageLeave?: (id: string, options: PageLeaveConfirmationOptions) => void,\r\n offPageLeave?: (id: string) => void,\r\n\r\n}\r\nexport const LayoutContext = createContext({\r\n showMessage(message, timeout) { return void 0; },\r\n errorState: undefined,\r\n showError(error, title, onClose) { return void 0; },\r\n isLoading: false,\r\n setIsLoading(isLoading) { return void 0; },\r\n hasPageLeaveCallbacks() { return false },\r\n});\r\n\r\nexport const LayoutContextProvider: React.FC = function ({ children }) {\r\n const [isLoading, setIsLoading] = useState(false);\r\n const [errorState, setErrorState] = useState();\r\n const onPageLeaveStack = useRef<{ [key: string]: PageLeaveConfirmationOptions }>({});\r\n\r\n const [pageLeaveCallback, setPageLeaveCallback] = useState();\r\n const [pageLeaveModalOptions, setPageLeaveModalOptions] = useState();\r\n\r\n const hasPageLeaveCallbacks = () => {\r\n return Object.keys(onPageLeaveStack.current).length > 0\r\n }\r\n\r\n const registerOnPageLeave = (id: string, options: PageLeaveConfirmationOptions) => {\r\n onPageLeaveStack.current[id] = options;\r\n }\r\n\r\n const removeOnPageLeave = (id: string) => {\r\n if (id in onPageLeaveStack.current)\r\n delete onPageLeaveStack.current[id];\r\n }\r\n\r\n const showOnPageLeaveModal = (options: PageLeaveConfirmationOptions, callback: PageLeaveCallback) => {\r\n setPageLeaveCallback(() => callback);\r\n setPageLeaveModalOptions(options);\r\n }\r\n\r\n const closeOnPageLeaveModal = () => {\r\n closeOnPageLeaveModalInner(true);\r\n }\r\n\r\n const closeOnPageLeaveModalInner = (proceedToDestination) => {\r\n if (pageLeaveCallback) {\r\n pageLeaveCallback(proceedToDestination);\r\n setPageLeaveCallback(undefined);\r\n setPageLeaveModalOptions(undefined);\r\n }\r\n }\r\n\r\n\r\n const confirmPageLeaveModal = () => {\r\n if (pageLeaveModalOptions) {\r\n pageLeaveModalOptions.confirmAction(closeOnPageLeaveModalInner);\r\n setPageLeaveModalOptions(undefined);\r\n }\r\n }\r\n\r\n const getUserConfirmation: BrowserRouterProps[\"getUserConfirmation\"] = (message, callback) => {\r\n if (hasPageLeaveCallbacks()) {\r\n const callbackWrapper = (ok: boolean) => {\r\n callback(ok);\r\n onPageLeaveStack.current = {};\r\n }\r\n for (const options of Object.values(onPageLeaveStack.current)) {\r\n if (options.shouldDisplay()) {\r\n showOnPageLeaveModal(options, callbackWrapper);\r\n return;\r\n }\r\n }\r\n callbackWrapper(true);\r\n } else {\r\n callback(true);\r\n }\r\n }\r\n\r\n useEffect(() => {\r\n const onBeforeUnload = (event: BeforeUnloadEvent): string | void => {\r\n for (const options of Object.values(onPageLeaveStack.current)) {\r\n if (options.shouldDisplay()) {\r\n return event.returnValue = getPageLeaveMessage(options.message);\r\n }\r\n }\r\n }\r\n\r\n window.addEventListener(\"beforeunload\", onBeforeUnload);\r\n\r\n return function cancel() {\r\n window.removeEventListener(\"beforeunload\", onBeforeUnload);\r\n }\r\n }, [])\r\n\r\n const layoutContextProvider = useMemo((): ILayoutContext => ({\r\n showMessage: (message, timeout) => {\r\n console.log(\"showMessage\", message);\r\n },\r\n errorState,\r\n showError: (error, title, onClose) => {\r\n const currentError: ErrorState = {\r\n message: \"Unexpected Server Error\",\r\n title: title,\r\n onClose: onClose\r\n };\r\n\r\n let errorObj = error;\r\n if (typeof error === \"string\") {\r\n //First check if it's a json from API exception\r\n try {\r\n errorObj = JSON.parse(error);\r\n } catch {\r\n //If not - consider it an exception message string\r\n if (error)\r\n currentError.message = error;\r\n }\r\n }\r\n\r\n if (isResponseWrapper(errorObj)) {\r\n if (errorObj.errorMessage)\r\n currentError.message = errorObj.errorMessage;\r\n currentError.errorCode = errorObj.errorCode;\r\n currentError.debugTrace = errorObj.detailedDebugException;\r\n }\r\n else if (isLegacyException(errorObj)) {\r\n if (errorObj.errorMessage)\r\n currentError.message = errorObj.errorMessage;\r\n currentError.errorCode = errorObj.errorCode ?? undefined;\r\n currentError.title = errorObj.title ?? undefined;\r\n } else if (errorObj instanceof Error) {\r\n currentError.message = errorObj.message;\r\n }\r\n\r\n setErrorState(currentError);\r\n },\r\n isLoading: isLoading,\r\n setIsLoading: setIsLoading,\r\n hasPageLeaveCallbacks: hasPageLeaveCallbacks,\r\n getUserConfirmation: getUserConfirmation,\r\n onPageLeave: registerOnPageLeave,\r\n offPageLeave: removeOnPageLeave\r\n }), [isLoading, errorState]);\r\n\r\n const closeErrorDialog = useCallback(() => {\r\n if(errorState && errorState.onClose) {\r\n errorState.onClose();\r\n }\r\n setErrorState(undefined);\r\n }, [errorState]);\r\n\r\n return (\r\n {children}\r\n {\r\n errorState\r\n ? \r\n {errorState.title ?? \"Warning\"}\r\n \r\n
{errorState.message}
\r\n
If you continue to experience this problem, please contact support@liquidspace.com{errorState.errorCode ? ` and refer to error ${errorState.errorCode}.` : \".\"}
\r\n {\r\n errorState.debugTrace\r\n ?
\r\n                           {errorState.debugTrace}\r\n                        
\r\n : null\r\n }\r\n
\r\n \r\n \r\n \r\n
\r\n : null\r\n }\r\n {\r\n pageLeaveModalOptions\r\n ? \r\n {pageLeaveModalOptions.title ?? \"You have unsaved changes.\"}\r\n \r\n {pageLeaveModalOptions.message ? pageLeaveModalOptions.message :
\r\n Do you want to save before navigating away from this page?\r\n
}\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n : null\r\n }\r\n
);\r\n}","//----------------------\r\n// \r\n// Generated using the NSwag toolchain v14.0.3.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\r\n// \r\n//----------------------\r\n\r\n/* tslint:disable */\r\n/* eslint-disable */\r\n// ReSharper disable InconsistentNaming\r\n\r\nimport { Operation } from \"Utils/jsonPatch\";\r\nimport ClientBase from \"./ClientBase\";\r\n\r\nexport class PictureClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getMemberPictureViewModel(memberId: string, tag: ImageTagConstants | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Picture/GetMemberPictureViewModel/{memberId}?\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (tag === null)\r\n throw new Error(\"The parameter 'tag' cannot be null.\");\r\n else if (tag !== undefined)\r\n url_ += \"tag=\" + encodeURIComponent(\"\" + tag) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMemberPictureViewModel(_response));\r\n });\r\n }\r\n\r\n protected processGetMemberPictureViewModel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PictureViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SlackClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getEnterpriseToken(appId: string, enterpriseId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/slack/{appId}/token/enterprise/{enterpriseId}\";\r\n if (appId === undefined || appId === null)\r\n throw new Error(\"The parameter 'appId' must be defined.\");\r\n url_ = url_.replace(\"{appId}\", encodeURIComponent(\"\" + appId));\r\n if (enterpriseId === undefined || enterpriseId === null)\r\n throw new Error(\"The parameter 'enterpriseId' must be defined.\");\r\n url_ = url_.replace(\"{enterpriseId}\", encodeURIComponent(\"\" + enterpriseId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetEnterpriseToken(_response));\r\n });\r\n }\r\n\r\n protected processGetEnterpriseToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SlackToken.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTeamToken(appId: string, teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/slack/{appId}/token/team/{teamId}\";\r\n if (appId === undefined || appId === null)\r\n throw new Error(\"The parameter 'appId' must be defined.\");\r\n url_ = url_.replace(\"{appId}\", encodeURIComponent(\"\" + appId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetTeamToken(_response));\r\n });\r\n }\r\n\r\n protected processGetTeamToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SlackToken.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getAccountToken(appId: string, accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/slack/{appId}/token/account/{accountId}\";\r\n if (appId === undefined || appId === null)\r\n throw new Error(\"The parameter 'appId' must be defined.\");\r\n url_ = url_.replace(\"{appId}\", encodeURIComponent(\"\" + appId));\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAccountToken(_response));\r\n });\r\n }\r\n\r\n protected processGetAccountToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SlackToken.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addToken(token: SlackToken, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/slack/token\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(token);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddToken(_response));\r\n });\r\n }\r\n\r\n protected processAddToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addEnterpriseInstallation(enterpriseId: string, appId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/slack/enterprise-account/{enterpriseId}/installation/{appId}\";\r\n if (enterpriseId === undefined || enterpriseId === null)\r\n throw new Error(\"The parameter 'enterpriseId' must be defined.\");\r\n url_ = url_.replace(\"{enterpriseId}\", encodeURIComponent(\"\" + enterpriseId));\r\n if (appId === undefined || appId === null)\r\n throw new Error(\"The parameter 'appId' must be defined.\");\r\n url_ = url_.replace(\"{appId}\", encodeURIComponent(\"\" + appId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddEnterpriseInstallation(_response));\r\n });\r\n }\r\n\r\n protected processAddEnterpriseInstallation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteEnterpriseInstallation(enterpriseId: string, appId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/slack/enterprise-account/{enterpriseId}/installation/{appId}\";\r\n if (enterpriseId === undefined || enterpriseId === null)\r\n throw new Error(\"The parameter 'enterpriseId' must be defined.\");\r\n url_ = url_.replace(\"{enterpriseId}\", encodeURIComponent(\"\" + enterpriseId));\r\n if (appId === undefined || appId === null)\r\n throw new Error(\"The parameter 'appId' must be defined.\");\r\n url_ = url_.replace(\"{appId}\", encodeURIComponent(\"\" + appId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteEnterpriseInstallation(_response));\r\n });\r\n }\r\n\r\n protected processDeleteEnterpriseInstallation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getEnterpriseInstallations(enterpriseId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/slack/enterprise-account/{enterpriseId}/installation\";\r\n if (enterpriseId === undefined || enterpriseId === null)\r\n throw new Error(\"The parameter 'enterpriseId' must be defined.\");\r\n url_ = url_.replace(\"{enterpriseId}\", encodeURIComponent(\"\" + enterpriseId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetEnterpriseInstallations(_response));\r\n });\r\n }\r\n\r\n protected processGetEnterpriseInstallations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class AccountClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n forgotPassword(request: ForgotPasswordRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/password/forgot\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processForgotPassword(_response));\r\n });\r\n }\r\n\r\n protected processForgotPassword(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n changePassword(model: ChangePasswordModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/password\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processChangePassword(_response));\r\n });\r\n }\r\n\r\n protected processChangePassword(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n personalInformation(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/profile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPersonalInformation(_response));\r\n });\r\n }\r\n\r\n protected processPersonalInformation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberDataModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updatePersonalInformation(model: MemberDataModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/profile\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdatePersonalInformation(_response));\r\n });\r\n }\r\n\r\n protected processUpdatePersonalInformation(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n notificationList(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/notifications\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processNotificationList(_response));\r\n });\r\n }\r\n\r\n protected processNotificationList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberNotificationModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setNotificationValue(notificationSettingType: MemberNotificationSettingType, value: boolean, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/notifications/{notificationSettingType}\";\r\n if (notificationSettingType === undefined || notificationSettingType === null)\r\n throw new Error(\"The parameter 'notificationSettingType' must be defined.\");\r\n url_ = url_.replace(\"{notificationSettingType}\", encodeURIComponent(\"\" + notificationSettingType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(value);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetNotificationValue(_response));\r\n });\r\n }\r\n\r\n protected processSetNotificationValue(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n changeEmail(model: ChangeEmailModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/email\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processChangeEmail(_response));\r\n });\r\n }\r\n\r\n protected processChangeEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ssoMember(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/sso\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSsoMember(_response));\r\n });\r\n }\r\n\r\n protected processSsoMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SsoMemberModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeMemberSSO(ssoType: SsoType, ssoId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/sso/{ssoType}/{ssoId}\";\r\n if (ssoType === undefined || ssoType === null)\r\n throw new Error(\"The parameter 'ssoType' must be defined.\");\r\n url_ = url_.replace(\"{ssoType}\", encodeURIComponent(\"\" + ssoType));\r\n if (ssoId === undefined || ssoId === null)\r\n throw new Error(\"The parameter 'ssoId' must be defined.\");\r\n url_ = url_.replace(\"{ssoId}\", encodeURIComponent(\"\" + ssoId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveMemberSSO(_response));\r\n });\r\n }\r\n\r\n protected processRemoveMemberSSO(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SsoMemberModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setSocialVisibility(visibility: SocialVisibility | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/account/social-visibility?\";\r\n if (visibility === null)\r\n throw new Error(\"The parameter 'visibility' cannot be null.\");\r\n else if (visibility !== undefined)\r\n url_ += \"visibility=\" + encodeURIComponent(\"\" + visibility) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetSocialVisibility(_response));\r\n });\r\n }\r\n\r\n protected processSetSocialVisibility(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ApiClientsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/apiclients\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ApiClientListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: EditableApiClientModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/apiclients\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 409) {\r\n return response.text().then((_responseText) => {\r\n let result409: any = null;\r\n let resultData409 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result409 = ResponseWrapper.fromJS(resultData409);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result409);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(clientId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/apiclients/{clientId}\";\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined.\");\r\n url_ = url_.replace(\"{clientId}\", encodeURIComponent(\"\" + clientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EditableApiClientModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(clientId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/apiclients/{clientId}\";\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined.\");\r\n url_ = url_.replace(\"{clientId}\", encodeURIComponent(\"\" + clientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(clientId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/apiclients/{clientId}\";\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined.\");\r\n url_ = url_.replace(\"{clientId}\", encodeURIComponent(\"\" + clientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BlogsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n byTag(tag: BlogTag, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/blogs/{tag}\";\r\n if (tag === undefined || tag === null)\r\n throw new Error(\"The parameter 'tag' must be defined.\");\r\n url_ = url_.replace(\"{tag}\", encodeURIComponent(\"\" + tag));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processByTag(_response));\r\n });\r\n }\r\n\r\n protected processByTag(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BlogViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BookingClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n prerequisites(request: BookingPrerequisites, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/booking/prerequisites/validate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPrerequisites(_response));\r\n });\r\n }\r\n\r\n protected processPrerequisites(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BookingPrerequisitesValidationResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n representee(venueId: string | undefined, workspaceId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/booking/representee?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRepresentee(_response));\r\n });\r\n }\r\n\r\n protected processRepresentee(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BookingRepresenteeViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n check(request: WorkspaceAvailabilityCheckViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/booking/availability/validate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheck(_response));\r\n });\r\n }\r\n\r\n protected processCheck(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = WorkspaceAvailabilityCheckViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CollectionsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n collections(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCollections(_response));\r\n });\r\n }\r\n\r\n protected processCollections(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FavoriteCollectionViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n count(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/count\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCount(_response));\r\n });\r\n }\r\n\r\n protected processCount(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n memberVenues(onlyHourlySpaces: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/venues?\";\r\n if (onlyHourlySpaces === null)\r\n throw new Error(\"The parameter 'onlyHourlySpaces' cannot be null.\");\r\n else if (onlyHourlySpaces !== undefined)\r\n url_ += \"onlyHourlySpaces=\" + encodeURIComponent(\"\" + onlyHourlySpaces) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMemberVenues(_response));\r\n });\r\n }\r\n\r\n protected processMemberVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueSearchResult.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createCollection(newName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{newName}\";\r\n if (newName === undefined || newName === null)\r\n throw new Error(\"The parameter 'newName' must be defined.\");\r\n url_ = url_.replace(\"{newName}\", encodeURIComponent(\"\" + newName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateCollection(_response));\r\n });\r\n }\r\n\r\n protected processCreateCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FavoriteCollectionViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n renameCollection(collectionId: string, newName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/name\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(newName);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRenameCollection(_response));\r\n });\r\n }\r\n\r\n protected processRenameCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FavoriteCollectionViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n copyCollection(collectionId: string, newName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/copy\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(newName);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCopyCollection(_response));\r\n });\r\n }\r\n\r\n protected processCopyCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteCollection(collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteCollection(_response));\r\n });\r\n }\r\n\r\n protected processDeleteCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n collectionCollaborators(collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/collaborators\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCollectionCollaborators(_response));\r\n });\r\n }\r\n\r\n protected processCollectionCollaborators(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CollaboratorViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeCollectionCollaborator(collectionId: string, collaboratorId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/collaborators/{collaboratorId}\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n if (collaboratorId === undefined || collaboratorId === null)\r\n throw new Error(\"The parameter 'collaboratorId' must be defined.\");\r\n url_ = url_.replace(\"{collaboratorId}\", encodeURIComponent(\"\" + collaboratorId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveCollectionCollaborator(_response));\r\n });\r\n }\r\n\r\n protected processRemoveCollectionCollaborator(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venues(collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/venues\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenues(_response));\r\n });\r\n }\r\n\r\n protected processVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueSearchResult.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n workspaces(collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/workspaces\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processWorkspaces(_response));\r\n });\r\n }\r\n\r\n protected processWorkspaces(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = FavoriteCollectionWorkspacesViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteWorkspaceFromCollection(collectionId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/workspaces/{workspaceId}\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteWorkspaceFromCollection(_response));\r\n });\r\n }\r\n\r\n protected processDeleteWorkspaceFromCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n shareCollectionData(collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/{collectionId}/sharedata\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processShareCollectionData(_response));\r\n });\r\n }\r\n\r\n protected processShareCollectionData(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ShareCollectionModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n sharedCollections(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/shared\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSharedCollections(_response));\r\n });\r\n }\r\n\r\n protected processSharedCollections(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(FavoriteCollectionViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteSharedCollection(collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/collections/shared/{collectionId}\";\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteSharedCollection(_response));\r\n });\r\n }\r\n\r\n protected processDeleteSharedCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConciergeRequestClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Request from Unclaimed XPP\r\n */\r\n notifyMe(model: ConciergeRequestViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/concierge-request\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processNotifyMe(_response));\r\n });\r\n }\r\n\r\n protected processNotifyMe(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 401) {\r\n return response.text().then((_responseText) => {\r\n let result401: any = null;\r\n let resultData401 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result401 = ProblemDetails.fromJS(resultData401);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ConfigClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n classAndEnumConverter(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/config/classandenumconverter\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClassAndEnumConverter(_response));\r\n });\r\n }\r\n\r\n protected processClassAndEnumConverter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ClassesAndEnumsToConvert.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMarketingStats(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/config/marketingstats\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMarketingStats(_response));\r\n });\r\n }\r\n\r\n protected processGetMarketingStats(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MarketingStats.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getTimeZones(signal?: AbortSignal): Promise<{ [key: string]: string; }> {\r\n let url_ = this.baseUrl + \"/api/config/timezones\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetTimeZones(_response));\r\n });\r\n }\r\n\r\n protected processGetTimeZones(response: Response): Promise<{ [key: string]: string; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: string; }>(null as any);\r\n }\r\n}\r\n\r\nexport class ConnectionsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(connectionKind: ConnectionKind | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/connections?\";\r\n if (connectionKind === null)\r\n throw new Error(\"The parameter 'connectionKind' cannot be null.\");\r\n else if (connectionKind !== undefined)\r\n url_ += \"connectionKind=\" + encodeURIComponent(\"\" + connectionKind) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ConnectionInfo.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n follow(targetUserId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/connections/{targetUserId}\";\r\n if (targetUserId === undefined || targetUserId === null)\r\n throw new Error(\"The parameter 'targetUserId' must be defined.\");\r\n url_ = url_.replace(\"{targetUserId}\", encodeURIComponent(\"\" + targetUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processFollow(_response));\r\n });\r\n }\r\n\r\n protected processFollow(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unfollow(targetUserId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/connections/{targetUserId}\";\r\n if (targetUserId === undefined || targetUserId === null)\r\n throw new Error(\"The parameter 'targetUserId' must be defined.\");\r\n url_ = url_.replace(\"{targetUserId}\", encodeURIComponent(\"\" + targetUserId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnfollow(_response));\r\n });\r\n }\r\n\r\n protected processUnfollow(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CostsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n calculate(request: CostRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Costs/calculate\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCalculate(_response));\r\n });\r\n }\r\n\r\n protected processCalculate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CostDetailsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class CountriesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getCodes(forceAllCountries: boolean | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/countries?\";\r\n if (forceAllCountries !== undefined && forceAllCountries !== null)\r\n url_ += \"forceAllCountries=\" + encodeURIComponent(\"\" + forceAllCountries) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCodes(_response));\r\n });\r\n }\r\n\r\n protected processGetCodes(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CountryCodeBase.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listWithStates(forceAllCountries: boolean | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/countries/states?\";\r\n if (forceAllCountries !== undefined && forceAllCountries !== null)\r\n url_ += \"forceAllCountries=\" + encodeURIComponent(\"\" + forceAllCountries) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processListWithStates(_response));\r\n });\r\n }\r\n\r\n protected processListWithStates(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CountryCode.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n submitWaitlistForm(request: WaitlistRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/countries/submit-waitlist-form\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSubmitWaitlistForm(_response));\r\n });\r\n }\r\n\r\n protected processSubmitWaitlistForm(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DataRemovalRequestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n sendRequest(model: DataRemovalRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/data-removal-requests\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSendRequest(_response));\r\n });\r\n }\r\n\r\n protected processSendRequest(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ActivityReservationInternalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get list of Enterprise Account reservations optionally filtered by Team or Member\r\n * @param accountId Enterprise Account ID\r\n * @param reservationsStatuses (optional) Reservation statuses to read\r\n * @param teamId (optional) Team ID\r\n * @param memberId (optional) Member ID\r\n * @param start (optional) Start time (included)\r\n * @param end (optional) End time (included; use 1s before target time. ex.: 23:59:59)\r\n * @param requestId (optional) Async progress request id\r\n */\r\n reservations(accountId: string, reservationsStatuses: ActivityReservationStatusFilter | undefined, teamId: string | null | undefined, memberId: string | null | undefined, start: string | null | undefined, end: string | null | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/internal/reservations?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (reservationsStatuses === null)\r\n throw new Error(\"The parameter 'reservationsStatuses' cannot be null.\");\r\n else if (reservationsStatuses !== undefined)\r\n url_ += \"reservationsStatuses=\" + encodeURIComponent(\"\" + reservationsStatuses) + \"&\";\r\n if (teamId !== undefined && teamId !== null)\r\n url_ += \"teamId=\" + encodeURIComponent(\"\" + teamId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservations(_response));\r\n });\r\n }\r\n\r\n protected processReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationInternalModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ActivityReservationPrivateClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get list of Enterprise Account reservations optionally filtered by Team or Member\r\n * @param accountId Enterprise Account ID\r\n * @param reservationsStatuses (optional) Reservation statuses to read\r\n * @param teamId (optional) Team ID\r\n * @param memberId (optional) Member ID\r\n * @param start (optional) Start time (included)\r\n * @param end (optional) End time (included; use 1s before target time. ex.: 23:59:59)\r\n * @param requestId (optional) \r\n */\r\n reservations(accountId: string, reservationsStatuses: ActivityReservationStatusFilter | undefined, teamId: string | null | undefined, memberId: string | null | undefined, start: string | null | undefined, end: string | null | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (reservationsStatuses === null)\r\n throw new Error(\"The parameter 'reservationsStatuses' cannot be null.\");\r\n else if (reservationsStatuses !== undefined)\r\n url_ += \"reservationsStatuses=\" + encodeURIComponent(\"\" + reservationsStatuses) + \"&\";\r\n if (teamId !== undefined && teamId !== null)\r\n url_ += \"teamId=\" + encodeURIComponent(\"\" + teamId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservations(_response));\r\n });\r\n }\r\n\r\n protected processReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationPrivateModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reservationsCached(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations/cached\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservationsCached(_response));\r\n });\r\n }\r\n\r\n protected processReservationsCached(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationPrivateModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reservationsOverview(accountId: string, teamId: string | null | undefined, start: string | undefined, end: string | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations/overview?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId !== undefined && teamId !== null)\r\n url_ += \"teamId=\" + encodeURIComponent(\"\" + teamId) + \"&\";\r\n if (start === null)\r\n throw new Error(\"The parameter 'start' cannot be null.\");\r\n else if (start !== undefined)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end === null)\r\n throw new Error(\"The parameter 'end' cannot be null.\");\r\n else if (end !== undefined)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservationsOverview(_response));\r\n });\r\n }\r\n\r\n protected processReservationsOverview(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationOverview.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reservationsOverviewCached(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations/overview/cached\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservationsOverviewCached(_response));\r\n });\r\n }\r\n\r\n protected processReservationsOverviewCached(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationOverview.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ActivityReservationReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n generate(accountId: string, hourlyMonthly: HourlyMonthly | undefined, teamId: string | null | undefined, memberId: string | null | undefined, start: string | null | undefined, end: string | null | undefined, fileFormat: DownloadFileFormat | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations/report?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (hourlyMonthly === null)\r\n throw new Error(\"The parameter 'hourlyMonthly' cannot be null.\");\r\n else if (hourlyMonthly !== undefined)\r\n url_ += \"hourlyMonthly=\" + encodeURIComponent(\"\" + hourlyMonthly) + \"&\";\r\n if (teamId !== undefined && teamId !== null)\r\n url_ += \"teamId=\" + encodeURIComponent(\"\" + teamId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (fileFormat === null)\r\n throw new Error(\"The parameter 'fileFormat' cannot be null.\");\r\n else if (fileFormat !== undefined)\r\n url_ += \"fileFormat=\" + encodeURIComponent(\"\" + fileFormat) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerate(_response));\r\n });\r\n }\r\n\r\n protected processGenerate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations/report?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationReportStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(accountId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations/report/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reservations/report/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ActivityReviewClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n reviews(accountId: string, teamId: string | null | undefined, start: string | null | undefined, end: string | null | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reviews?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId !== undefined && teamId !== null)\r\n url_ += \"teamId=\" + encodeURIComponent(\"\" + teamId) + \"&\";\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReviews(_response));\r\n });\r\n }\r\n\r\n protected processReviews(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReview.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reviewsOverview(accountId: string, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reviews/overview?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReviewsOverview(_response));\r\n });\r\n }\r\n\r\n protected processReviewsOverview(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReviewOverview.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reviewDetails(reviewId: string | undefined, workspaceId: string | undefined, accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/reviews/details?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (reviewId === null)\r\n throw new Error(\"The parameter 'reviewId' cannot be null.\");\r\n else if (reviewId !== undefined)\r\n url_ += \"reviewId=\" + encodeURIComponent(\"\" + reviewId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReviewDetails(_response));\r\n });\r\n }\r\n\r\n protected processReviewDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ActivityReviewDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ActivitySearchClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n searchesOverview(accountId: string, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/searches/searchesOverview?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchesOverview(_response));\r\n });\r\n }\r\n\r\n protected processSearchesOverview(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(SearchOverview.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searches(accountId: string, teamId: string | null | undefined, start: string | null | undefined, end: string | null | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/searches/searches?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId !== undefined && teamId !== null)\r\n url_ += \"teamId=\" + encodeURIComponent(\"\" + teamId) + \"&\";\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearches(_response));\r\n });\r\n }\r\n\r\n protected processSearches(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivitySearch.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searchDetails(searchId: string | undefined, searchDate: string | undefined, accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/activities/searches/searchDetails?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (searchId === null)\r\n throw new Error(\"The parameter 'searchId' cannot be null.\");\r\n else if (searchId !== undefined)\r\n url_ += \"searchId=\" + encodeURIComponent(\"\" + searchId) + \"&\";\r\n if (searchDate === null)\r\n throw new Error(\"The parameter 'searchDate' cannot be null.\");\r\n else if (searchDate !== undefined)\r\n url_ += \"searchDate=\" + encodeURIComponent(\"\" + searchDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchDetails(_response));\r\n });\r\n }\r\n\r\n protected processSearchDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ActivitySearchDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class BrandingClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/Branding\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BrandedOptionsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/Branding\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ContentClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Content?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ContentItemModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string | undefined, itemId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Content?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (itemId === null)\r\n throw new Error(\"The parameter 'itemId' cannot be null.\");\r\n else if (itemId !== undefined)\r\n url_ += \"ItemId=\" + encodeURIComponent(\"\" + itemId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(id: string | undefined, model: ContentItemAddModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Content?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(id: string | undefined, itemId: string | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Content?\";\r\n if (id === null)\r\n throw new Error(\"The parameter 'id' cannot be null.\");\r\n else if (id !== undefined)\r\n url_ += \"Id=\" + encodeURIComponent(\"\" + id) + \"&\";\r\n if (itemId === null)\r\n throw new Error(\"The parameter 'itemId' cannot be null.\");\r\n else if (itemId !== undefined)\r\n url_ += \"ItemId=\" + encodeURIComponent(\"\" + itemId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n order(accountId: string | undefined, contentOrder: { [key: string]: number; }, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Content/order?\";\r\n if (accountId === null)\r\n throw new Error(\"The parameter 'accountId' cannot be null.\");\r\n else if (accountId !== undefined)\r\n url_ += \"accountId=\" + encodeURIComponent(\"\" + accountId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(contentOrder);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOrder(_response));\r\n });\r\n }\r\n\r\n protected processOrder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DashboardClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n dashboard(accountId: string, start: string | null | undefined, end: string | null | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/Dashboard?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDashboard(_response));\r\n });\r\n }\r\n\r\n protected processDashboard(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n dashboardCached(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/Dashboard/cached\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDashboardCached(_response));\r\n });\r\n }\r\n\r\n protected processDashboardCached(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnrollmentClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/Enrollment\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnrollmentSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/Enrollment\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountAdminClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/admin\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(AccountAdminInfoViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, memberId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/admin?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === null)\r\n throw new Error(\"The parameter 'memberId' cannot be null.\");\r\n else if (memberId !== undefined)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(accountId: string, model: AddAccountAdminModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/admin\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountApiClientsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/apiClients\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EnterpriseAccountApiClientListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(accountId: string, clientId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/apiClients/{clientId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined.\");\r\n url_ = url_.replace(\"{clientId}\", encodeURIComponent(\"\" + clientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EditableEnterpriseAccountApiClientViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n assignApiClient(accountId: string, clientId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/apiClients/{clientId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined.\");\r\n url_ = url_.replace(\"{clientId}\", encodeURIComponent(\"\" + clientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignApiClient(_response));\r\n });\r\n }\r\n\r\n protected processAssignApiClient(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unassignApiClient(accountId: string, clientId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/apiClients/{clientId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined.\");\r\n url_ = url_.replace(\"{clientId}\", encodeURIComponent(\"\" + clientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnassignApiClient(_response));\r\n });\r\n }\r\n\r\n protected processUnassignApiClient(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, clientId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/apiClients/{clientId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (clientId === undefined || clientId === null)\r\n throw new Error(\"The parameter 'clientId' must be defined.\");\r\n url_ = url_.replace(\"{clientId}\", encodeURIComponent(\"\" + clientId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountBillingsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/billings\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EnterpriseAccountBillingModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(accountId: string, request: EnterpriseAccountBillingCreateRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/billings\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseAccountBillingModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, billingId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/billings/{billingId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (billingId === undefined || billingId === null)\r\n throw new Error(\"The parameter 'billingId' must be defined.\");\r\n url_ = url_.replace(\"{billingId}\", encodeURIComponent(\"\" + billingId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n cancel(accountId: string, billingId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/billings/{billingId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (billingId === undefined || billingId === null)\r\n throw new Error(\"The parameter 'billingId' must be defined.\");\r\n url_ = url_.replace(\"{billingId}\", encodeURIComponent(\"\" + billingId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCancel(_response));\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n force(accountId: string, billingId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/billings/{billingId}/force\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (billingId === undefined || billingId === null)\r\n throw new Error(\"The parameter 'billingId' must be defined.\");\r\n url_ = url_.replace(\"{billingId}\", encodeURIComponent(\"\" + billingId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processForce(_response));\r\n });\r\n }\r\n\r\n protected processForce(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n accountInfo(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/info\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAccountInfo(_response));\r\n });\r\n }\r\n\r\n protected processAccountInfo(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountInfoViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List available Enterprise Accounts\r\n * @return List of Enterprise Account models. Note that depending on access level there list can consist of EnterpriseAccountListViewModel or EnterpriseAccountExtendedListViewModel\r\n */\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EnterpriseAccountListViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: EnterpriseAccountSettingsModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseAccountSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ssoUrl(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/ssourl\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSsoUrl(_response));\r\n });\r\n }\r\n\r\n protected processSsoUrl(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List teams in Enterprise Account\r\n * @param accountId Enterprise Account ID\r\n */\r\n teams(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTeams(_response));\r\n });\r\n }\r\n\r\n protected processTeams(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamInfoViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteTeam(accountId: string, teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteTeam(_response));\r\n });\r\n }\r\n\r\n protected processDeleteTeam(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n attachTeam(accountId: string, teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/attach\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAttachTeam(_response));\r\n });\r\n }\r\n\r\n protected processAttachTeam(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n attachTeamList(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/attachteamlist\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAttachTeamList(_response));\r\n });\r\n }\r\n\r\n protected processAttachTeamList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AccountModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n importMessage(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/importmessage\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processImportMessage(_response));\r\n });\r\n }\r\n\r\n protected processImportMessage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountEventsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/events\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EventHistoryModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(accountId: string, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/events?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(accountId: string, eventId: string, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/events/{eventId}?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (eventId === undefined || eventId === null)\r\n throw new Error(\"The parameter 'eventId' must be defined.\");\r\n url_ = url_.replace(\"{eventId}\", encodeURIComponent(\"\" + eventId));\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, eventId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/events/{eventId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (eventId === undefined || eventId === null)\r\n throw new Error(\"The parameter 'eventId' must be defined.\");\r\n url_ = url_.replace(\"{eventId}\", encodeURIComponent(\"\" + eventId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountHeadquarterClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getHeadquarters(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/headquarter\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHeadquarters(_response));\r\n });\r\n }\r\n\r\n protected processGetHeadquarters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EnterpriseAccountHeadquarterViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addHeadquarter(accountId: string, model: EnterpriseAccountHeadquarterViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/headquarter\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processAddHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getHeadquarter(accountId: string, headquarterId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/headquarter/{headquarterId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (headquarterId === undefined || headquarterId === null)\r\n throw new Error(\"The parameter 'headquarterId' must be defined.\");\r\n url_ = url_.replace(\"{headquarterId}\", encodeURIComponent(\"\" + headquarterId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processGetHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseAccountHeadquarterViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteHeadquarter(accountId: string, headquarterId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/headquarter/{headquarterId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (headquarterId === undefined || headquarterId === null)\r\n throw new Error(\"The parameter 'headquarterId' must be defined.\");\r\n url_ = url_.replace(\"{headquarterId}\", encodeURIComponent(\"\" + headquarterId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processDeleteHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateHeadquarter(accountId: string, headquarterId: string, model: EnterpriseAccountHeadquarterViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/headquarter/{headquarterId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (headquarterId === undefined || headquarterId === null)\r\n throw new Error(\"The parameter 'headquarterId' must be defined.\");\r\n url_ = url_.replace(\"{headquarterId}\", encodeURIComponent(\"\" + headquarterId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processUpdateHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountMemberClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * List Members in Enterprise Account\r\n * @param accountId Enterprise Account ID\r\n * @param take (optional) Optional limit of returned items\r\n */\r\n list(accountId: string, take: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (take !== undefined && take !== null)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberInfoViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Register member for Enterprise Account\r\n * @param accountId Enterprise Account ID\r\n * @param invite (optional) Team name\r\n * @param request Registration model\r\n */\r\n register(accountId: string, invite: string | null | undefined, request: EnterprisePortalRegisterRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (invite !== undefined && invite !== null)\r\n url_ += \"invite=\" + encodeURIComponent(\"\" + invite) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRegister(_response));\r\n });\r\n }\r\n\r\n protected processRegister(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get Member by ID or email\r\n * @param accountId Enterprise Account ID\r\n * @param memberId Member ID or email\r\n */\r\n get(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, memberId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInfo(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/info\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetInfo(_response));\r\n });\r\n }\r\n\r\n protected processGetInfo(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberInfoViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n memberAutocomplete(accountId: string, emailPart: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/autocomplete?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (emailPart === null)\r\n throw new Error(\"The parameter 'emailPart' cannot be null.\");\r\n else if (emailPart !== undefined)\r\n url_ += \"emailPart=\" + encodeURIComponent(\"\" + emailPart) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMemberAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processMemberAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberAutocomplete.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendInvite(accountId: string, memberId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/reinvite?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === null)\r\n throw new Error(\"The parameter 'memberId' cannot be null.\");\r\n else if (memberId !== undefined)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendInvite(_response));\r\n });\r\n }\r\n\r\n protected processResendInvite(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendInvites(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/reinvite-all\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendInvites(_response));\r\n });\r\n }\r\n\r\n protected processResendInvites(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n spendThisMonth(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/spendthismonth\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSpendThisMonth(_response));\r\n });\r\n }\r\n\r\n protected processSpendThisMonth(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberSpendResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ratingCounters(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/ratingcounters\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRatingCounters(_response));\r\n });\r\n }\r\n\r\n protected processRatingCounters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberRatingCounters.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n activity(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/activity\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processActivity(_response));\r\n });\r\n }\r\n\r\n protected processActivity(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberActivity.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n budgetSettings(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/budgetsettings\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBudgetSettings(_response));\r\n });\r\n }\r\n\r\n protected processBudgetSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberBudgetViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateBudgetSettings(accountId: string, memberId: string, settings: EnterpriseBudgetSettingsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/budgetsettings\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(settings);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateBudgetSettings(_response));\r\n });\r\n }\r\n\r\n protected processUpdateBudgetSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n listTeamMemberPaymentProfileSettings(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/paymentProfileSettings\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processListTeamMemberPaymentProfileSettings(_response));\r\n });\r\n }\r\n\r\n protected processListTeamMemberPaymentProfileSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PaymentProfileSettingsViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateTeamMemberPaymentProfileSettings(accountId: string, memberId: string, paymentProvider: PaymentProviderType, model: PaymentProfileSettingsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/{memberId}/paymentProfileSettings/{paymentProvider}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (paymentProvider === undefined || paymentProvider === null)\r\n throw new Error(\"The parameter 'paymentProvider' must be defined.\");\r\n url_ = url_.replace(\"{paymentProvider}\", encodeURIComponent(\"\" + paymentProvider));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateTeamMemberPaymentProfileSettings(_response));\r\n });\r\n }\r\n\r\n protected processUpdateTeamMemberPaymentProfileSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verifySignup(accountId: string, email: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/verifysignup?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (email === null)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else if (email !== undefined)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVerifySignup(_response));\r\n });\r\n }\r\n\r\n protected processVerifySignup(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterprisePortalSignupInfoViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n onlineMembers(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/online\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOnlineMembers(_response));\r\n });\r\n }\r\n\r\n protected processOnlineMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n billableUsersCount(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/billable-count\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBillableUsersCount(_response));\r\n });\r\n }\r\n\r\n protected processBillableUsersCount(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountMemberImportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n template(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/import/template\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTemplate(_response));\r\n });\r\n }\r\n\r\n protected processTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getResults(accountId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/import/{importId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetResults(_response));\r\n });\r\n }\r\n\r\n protected processGetResults(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseAccountMembersImportResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n import(accountId: string, csvFile: FileParameter | null | undefined, importMode: string | null | undefined, teamId: string | undefined, message: string | null | undefined, suppressInviteEmail: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/import\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (csvFile !== null && csvFile !== undefined)\r\n content_.append(\"CsvFile\", csvFile.data, csvFile.fileName ? csvFile.fileName : \"CsvFile\");\r\n if (importMode !== null && importMode !== undefined)\r\n content_.append(\"ImportMode\", importMode.toString());\r\n if (teamId === null || teamId === undefined)\r\n throw new Error(\"The parameter 'teamId' cannot be null.\");\r\n else\r\n content_.append(\"TeamId\", teamId.toString());\r\n if (message !== null && message !== undefined)\r\n content_.append(\"Message\", message.toString());\r\n if (suppressInviteEmail === null || suppressInviteEmail === undefined)\r\n throw new Error(\"The parameter 'suppressInviteEmail' cannot be null.\");\r\n else\r\n content_.append(\"SuppressInviteEmail\", suppressInviteEmail.toString());\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processImport(_response));\r\n });\r\n }\r\n\r\n protected processImport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseAccountMembersImportResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountMemberReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n generate(accountId: string, fileFormat: DownloadFileFormat | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/reports?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (fileFormat === null)\r\n throw new Error(\"The parameter 'fileFormat' cannot be null.\");\r\n else if (fileFormat !== undefined)\r\n url_ += \"fileFormat=\" + encodeURIComponent(\"\" + fileFormat) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerate(_response));\r\n });\r\n }\r\n\r\n protected processGenerate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/reports\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationReportStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(accountId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountMemberReservationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n reservations(accountId: string, memberId: string, timeType: ReservationTimeType | undefined, countOnPage: number | undefined, includeInviteeReservations: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/member/{memberId}/reservation?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (timeType === null)\r\n throw new Error(\"The parameter 'timeType' cannot be null.\");\r\n else if (timeType !== undefined)\r\n url_ += \"timeType=\" + encodeURIComponent(\"\" + timeType) + \"&\";\r\n if (countOnPage === null)\r\n throw new Error(\"The parameter 'countOnPage' cannot be null.\");\r\n else if (countOnPage !== undefined)\r\n url_ += \"countOnPage=\" + encodeURIComponent(\"\" + countOnPage) + \"&\";\r\n if (includeInviteeReservations === null)\r\n throw new Error(\"The parameter 'includeInviteeReservations' cannot be null.\");\r\n else if (includeInviteeReservations !== undefined)\r\n url_ += \"includeInviteeReservations=\" + encodeURIComponent(\"\" + includeInviteeReservations) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservations(_response));\r\n });\r\n }\r\n\r\n protected processReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberReservation.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reservationCounters(accountId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/member/{memberId}/reservation/counters\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservationCounters(_response));\r\n });\r\n }\r\n\r\n protected processReservationCounters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberReservationCounters.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountSettingsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/settings\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseAccountSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/settings\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountsExportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n export(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/export\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExport(_response));\r\n });\r\n }\r\n\r\n protected processExport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountsExportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/export/status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ExportEnterpriseAccountStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/export/status/{exportId}\";\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ExportEnterpriseAccountStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/export/status/{exportId}\";\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountsImportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n import(model: EnterpriseAccountsImportViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/import\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processImport(_response));\r\n });\r\n }\r\n\r\n protected processImport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountsImportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/import/status\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ImportEnterpriseAccountStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/import/status/{importId}\";\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportEnterpriseAccountStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/import/status/{importId}\";\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetails(importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/import/status/{importId}/details\";\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportEnterpriseAccountStatusDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountUnassignedMemberClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/member/unassigned\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberInfoViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n requestDemo(request: EnterpriseDemoRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Enterprise/requestdemo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRequestDemo(_response));\r\n });\r\n }\r\n\r\n protected processRequestDemo(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n submitProRequest(request: LiquidspaceProRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Enterprise/submitprorequest\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSubmitProRequest(_response));\r\n });\r\n }\r\n\r\n protected processSubmitProRequest(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountIntegrationOfficeRnDClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n officeRnDHybridSync(accountId: string, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/integration/ornd/hybrid/sync?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOfficeRnDHybridSync(_response));\r\n });\r\n }\r\n\r\n protected processOfficeRnDHybridSync(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = OfficeRnDHybridSyncResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountIntegrationSlackClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getInstallUrl(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/integration/slack/installUrl\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetInstallUrl(_response));\r\n });\r\n }\r\n\r\n protected processGetInstallUrl(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConfigs(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/integration/slack\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetConfigs(_response));\r\n });\r\n }\r\n\r\n protected processGetConfigs(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EnterpriseAccountIntegrationSlackConfig.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteConfig(accountId: string, appId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/integration/slack?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (appId === null)\r\n throw new Error(\"The parameter 'appId' cannot be null.\");\r\n else if (appId !== undefined)\r\n url_ += \"appId=\" + encodeURIComponent(\"\" + appId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteConfig(_response));\r\n });\r\n }\r\n\r\n protected processDeleteConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EnterpriseAccountLocationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n onDemandLocations(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/ondemand\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOnDemandLocations(_response));\r\n });\r\n }\r\n\r\n protected processOnDemandLocations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OnDemandLocationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n dedicatedLocations(accountId: string, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/dedicated?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDedicatedLocations(_response));\r\n });\r\n }\r\n\r\n protected processDedicatedLocations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DedicatedLocationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueList(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/venuelist\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueList(_response));\r\n });\r\n }\r\n\r\n protected processVenueList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueGroupList(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/venuegrouplist\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroupList(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroupList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getCollection(accountId: string, collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/collection/{collectionId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCollection(_response));\r\n });\r\n }\r\n\r\n protected processGetCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseAccountCollectionViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteCollection(accountId: string, collectionId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/collection/{collectionId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteCollection(_response));\r\n });\r\n }\r\n\r\n protected processDeleteCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateCollection(accountId: string, collectionId: string, model: EnterpriseAccountCollectionViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/collection/{collectionId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (collectionId === undefined || collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' must be defined.\");\r\n url_ = url_.replace(\"{collectionId}\", encodeURIComponent(\"\" + collectionId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateCollection(_response));\r\n });\r\n }\r\n\r\n protected processUpdateCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addCollection(accountId: string, model: EnterpriseAccountCollectionViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/collection\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddCollection(_response));\r\n });\r\n }\r\n\r\n protected processAddCollection(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBrands(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/brands\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBrands(_response));\r\n });\r\n }\r\n\r\n protected processGetBrands(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BrandsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ResponseWrapper.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setBrandsOptions(accountId: string, brandsOptionsModel: BrandsOptionsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/location/brands-options\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(brandsOptionsModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetBrandsOptions(_response));\r\n });\r\n }\r\n\r\n protected processSetBrandsOptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ResponseWrapper.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PortalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n currentMember(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/me\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCurrentMember(_response));\r\n });\r\n }\r\n\r\n protected processCurrentMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EnterpriseUserInfoViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n headquarters(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/headquarters\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHeadquarters(_response));\r\n });\r\n }\r\n\r\n protected processHeadquarters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueSearchResult.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n collections(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/collections\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCollections(_response));\r\n });\r\n }\r\n\r\n protected processCollections(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(CollectionViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n preferredCollectionVenues(accountId: string, collectionId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/preferredcollectionvenues?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (collectionId === null)\r\n throw new Error(\"The parameter 'collectionId' cannot be null.\");\r\n else if (collectionId !== undefined)\r\n url_ += \"collectionId=\" + encodeURIComponent(\"\" + collectionId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPreferredCollectionVenues(_response));\r\n });\r\n }\r\n\r\n protected processPreferredCollectionVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CollectionViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n questionsAndAnswers(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/questionsanswers\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQuestionsAndAnswers(_response));\r\n });\r\n }\r\n\r\n protected processQuestionsAndAnswers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ContentItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n onboardingContent(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/onboardingcontent?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOnboardingContent(_response));\r\n });\r\n }\r\n\r\n protected processOnboardingContent(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = OnboardingContentViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reviews(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/reviews\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReviews(_response));\r\n });\r\n }\r\n\r\n protected processReviews(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PortalReviews.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n supportRequest(accountId: string, request: SupportRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/SupportRequest\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSupportRequest(_response));\r\n });\r\n }\r\n\r\n protected processSupportRequest(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n question(accountId: string, request: QuestionRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/question\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQuestion(_response));\r\n });\r\n }\r\n\r\n protected processQuestion(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMember(memberId: string, accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/member/{memberId}\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMember(_response));\r\n });\r\n }\r\n\r\n protected processGetMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n banner(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/banner\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBanner(_response));\r\n });\r\n }\r\n\r\n protected processBanner(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BrandedBannerViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMessengerTargets(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/messengertargets\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMessengerTargets(_response));\r\n });\r\n }\r\n\r\n protected processGetMessengerTargets(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MessageTargetAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n completePortalGuide(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/completePortalGuide\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCompletePortalGuide(_response));\r\n });\r\n }\r\n\r\n protected processCompletePortalGuide(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subscribeOnEmail(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/subscribeOnEmail?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSubscribeOnEmail(_response));\r\n });\r\n }\r\n\r\n protected processSubscribeOnEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unsubscribeOnEmail(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/unsubscribeOnEmail?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnsubscribeOnEmail(_response));\r\n });\r\n }\r\n\r\n protected processUnsubscribeOnEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getColleaguesNearBy(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/members/nearby\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetColleaguesNearBy(_response));\r\n });\r\n }\r\n\r\n protected processGetColleaguesNearBy(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationMemberViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getActivities(accountId: string, selectedDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/activities?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (selectedDate !== undefined && selectedDate !== null)\r\n url_ += \"selectedDate=\" + encodeURIComponent(\"\" + selectedDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetActivities(_response));\r\n });\r\n }\r\n\r\n protected processGetActivities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DayActivityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SingleSignOnClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SSOSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n federationMetadata(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn/FederationMetadata\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processFederationMetadata(_response));\r\n });\r\n }\r\n\r\n protected processFederationMetadata(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TeamClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get team information\r\n */\r\n get(teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(teamId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(model: TeamAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List members assigned to the team\r\n * @param teamId Team ID\r\n * @param take (optional) Optional number of entried to return\r\n * @return List of members. Response length can be limited to return only first take members, ordered by ID\r\n */\r\n members(teamId: string, take: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (take !== undefined && take !== null)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMembers(_response));\r\n });\r\n }\r\n\r\n protected processMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberInfoViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Create and invite member to team\r\n * @param teamId Team ID\r\n * @param suppressInviteEmail (optional) true to supress sending invitation email\r\n * @param model Member model\r\n */\r\n addMember(teamId: string, suppressInviteEmail: boolean | undefined, model: TeamMemberAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (suppressInviteEmail === null)\r\n throw new Error(\"The parameter 'suppressInviteEmail' cannot be null.\");\r\n else if (suppressInviteEmail !== undefined)\r\n url_ += \"suppressInviteEmail=\" + encodeURIComponent(\"\" + suppressInviteEmail) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddMember(_response));\r\n });\r\n }\r\n\r\n protected processAddMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteMember(teamId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/{memberId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteMember(_response));\r\n });\r\n }\r\n\r\n protected processDeleteMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setMemberSuspended(teamId: string, memberId: string, isSuspended: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/{memberId}/suspended?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isSuspended === null)\r\n throw new Error(\"The parameter 'isSuspended' cannot be null.\");\r\n else if (isSuspended !== undefined)\r\n url_ += \"isSuspended=\" + encodeURIComponent(\"\" + isSuspended) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetMemberSuspended(_response));\r\n });\r\n }\r\n\r\n protected processSetMemberSuspended(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addMembers(teamId: string, model: TeamMembersAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/import\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddMembers(_response));\r\n });\r\n }\r\n\r\n protected processAddMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendInvites(teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/reinvite-all\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendInvites(_response));\r\n });\r\n }\r\n\r\n protected processResendInvites(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TeamReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n generate(accountId: string, teamId: string, fileFormat: DownloadFileFormat | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (fileFormat === null)\r\n throw new Error(\"The parameter 'fileFormat' cannot be null.\");\r\n else if (fileFormat !== undefined)\r\n url_ += \"fileFormat=\" + encodeURIComponent(\"\" + fileFormat) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerate(_response));\r\n });\r\n }\r\n\r\n protected processGenerate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(accountId: string, teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationReportStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(accountId: string, teamId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, teamId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class GeocoderClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n geocode(requestModel: GeocodeRequestModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/geocode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGeocode(_response));\r\n });\r\n }\r\n\r\n protected processGeocode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPlacePredictions(requestModel: PlacePredictionsRequestViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/getplacepredictions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPlacePredictions(_response));\r\n });\r\n }\r\n\r\n protected processGetPlacePredictions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PlacePredictionViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPlaceDetails(placeId: string, sessionToken: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/place/{placeId}?\";\r\n if (placeId === undefined || placeId === null)\r\n throw new Error(\"The parameter 'placeId' must be defined.\");\r\n url_ = url_.replace(\"{placeId}\", encodeURIComponent(\"\" + placeId));\r\n if (sessionToken !== undefined && sessionToken !== null)\r\n url_ += \"sessionToken=\" + encodeURIComponent(\"\" + sessionToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPlaceDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetPlaceDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class HourlyRequestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n accept(requestId: string, model: AcceptRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/accept\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAccept(_response));\r\n });\r\n }\r\n\r\n protected processAccept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n decline(requestId: string, model: DeclineRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/decline\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecline(_response));\r\n });\r\n }\r\n\r\n protected processDecline(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pause(requestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/pause\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPause(_response));\r\n });\r\n }\r\n\r\n protected processPause(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hourlyRequestReservationDetails(requestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyRequestReservationDetails(_response));\r\n });\r\n }\r\n\r\n protected processHourlyRequestReservationDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReservationRequestDetailsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class InternationalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n countries(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/countries\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCountries(_response));\r\n });\r\n }\r\n\r\n protected processCountries(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMerchantAccounts(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/merchantaccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMerchantAccounts(_response));\r\n });\r\n }\r\n\r\n protected processGetMerchantAccounts(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MerchantAccountModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class LocationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n currentCountry(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/location/current/country\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCurrentCountry(_response));\r\n });\r\n }\r\n\r\n protected processCurrentCountry(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MarketplaceCustomerProfilesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getCustomerProfile(payableType: PayableType, payableId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace/{payableType}/{payableId}/customer-profiles\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCustomerProfile(_response));\r\n });\r\n }\r\n\r\n protected processGetCustomerProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MarketplaceCustomerProfileModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createPaymentProfile(payableType: PayableType, payableId: string, request: MarketplacePaymentProfileCreateRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace/{payableType}/{payableId}/customer-profiles/payment-profiles\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreatePaymentProfile(_response));\r\n });\r\n }\r\n\r\n protected processCreatePaymentProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MembersClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(emailFilter: string | null | undefined, firstNameFilter: string | null | undefined, lastNameFilter: string | null | undefined, lastReadEmail: string | null | undefined, take: number | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members?\";\r\n if (emailFilter !== undefined && emailFilter !== null)\r\n url_ += \"emailFilter=\" + encodeURIComponent(\"\" + emailFilter) + \"&\";\r\n if (firstNameFilter !== undefined && firstNameFilter !== null)\r\n url_ += \"firstNameFilter=\" + encodeURIComponent(\"\" + firstNameFilter) + \"&\";\r\n if (lastNameFilter !== undefined && lastNameFilter !== null)\r\n url_ += \"lastNameFilter=\" + encodeURIComponent(\"\" + lastNameFilter) + \"&\";\r\n if (lastReadEmail !== undefined && lastReadEmail !== null)\r\n url_ += \"lastReadEmail=\" + encodeURIComponent(\"\" + lastReadEmail) + \"&\";\r\n if (take === null)\r\n throw new Error(\"The parameter 'take' cannot be null.\");\r\n else if (take !== undefined)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(memberId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/memberId?\";\r\n if (memberId === null)\r\n throw new Error(\"The parameter 'memberId' cannot be null.\");\r\n else if (memberId !== undefined)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searchEmail(term: string | undefined, takeCount: number | undefined, roles: MemberRole[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/search?\";\r\n if (term === null)\r\n throw new Error(\"The parameter 'term' cannot be null.\");\r\n else if (term !== undefined)\r\n url_ += \"term=\" + encodeURIComponent(\"\" + term) + \"&\";\r\n if (takeCount === null)\r\n throw new Error(\"The parameter 'takeCount' cannot be null.\");\r\n else if (takeCount !== undefined)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n if (roles !== undefined && roles !== null)\r\n roles && roles.forEach(item => { url_ += \"roles=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchEmail(_response));\r\n });\r\n }\r\n\r\n protected processSearchEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searchOrganizerListAutocomplete(venueId: string | undefined, workspaceId: string | undefined, ownerId: string | null | undefined, searchPart: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/organizer-list/autocomlete?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n if (searchPart !== undefined && searchPart !== null)\r\n url_ += \"searchPart=\" + encodeURIComponent(\"\" + searchPart) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchOrganizerListAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processSearchOrganizerListAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganizerViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n connections(ownerId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/connections?\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConnections(_response));\r\n });\r\n }\r\n\r\n protected processConnections(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganizerViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPicture(memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/{memberId}/picture\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPicture(_response));\r\n });\r\n }\r\n\r\n protected processGetPicture(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMemberProfile(memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/{memberId}/member-profile\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMemberProfile(_response));\r\n });\r\n }\r\n\r\n protected processGetMemberProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberProfileViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isEnterpriseAccountMember(email: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/is-enterprise-member?\";\r\n if (email === null)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else if (email !== undefined)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsEnterpriseAccountMember(_response));\r\n });\r\n }\r\n\r\n protected processIsEnterpriseAccountMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPictures(memberIdsRequest: string[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/pictures\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(memberIdsRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPictures(_response));\r\n });\r\n }\r\n\r\n protected processGetPictures(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberPicture.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PaymentMethodClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n paymentMethods(payableType: PayableType, payableId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/{payableType}/{payableId}\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPaymentMethods(_response));\r\n });\r\n }\r\n\r\n protected processPaymentMethods(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodListViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateDescription(request: UpdatePaymentMethodDescriptionRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/updatedescription\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateDescription(_response));\r\n });\r\n }\r\n\r\n protected processUpdateDescription(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createCreditCard(request: CreditCardRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/credit-card\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateCreditCard(_response));\r\n });\r\n }\r\n\r\n protected processCreateCreditCard(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exchangePlaidToken(request: ExchangePlaidTokenRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/exchangeplaidtoken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExchangePlaidToken(_response));\r\n });\r\n }\r\n\r\n protected processExchangePlaidToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createLinkToken(request: CreatePlaidLinkTokenRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/create-link-token\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateLinkToken(_response));\r\n });\r\n }\r\n\r\n protected processCreateLinkToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePaymentMethod(request: PaymentMethodRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePaymentMethod(_response));\r\n });\r\n }\r\n\r\n protected processDeletePaymentMethod(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n makeDefault(request: PaymentMethodRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/makedefault\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMakeDefault(_response));\r\n });\r\n }\r\n\r\n protected processMakeDefault(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n stateCodes(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/statecodes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStateCodes(_response));\r\n });\r\n }\r\n\r\n protected processStateCodes(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CountryStateCodesRepsonse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n supportedCurrencies(signal?: AbortSignal): Promise<{ [key: string]: CurrencyType; }> {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/SupportedCurrencies\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSupportedCurrencies(_response));\r\n });\r\n }\r\n\r\n protected processSupportedCurrencies(response: Response): Promise<{ [key: string]: CurrencyType; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: CurrencyType; }>(null as any);\r\n }\r\n}\r\n\r\nexport class ProposalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n create(venueId: string | undefined, workspaceId: string | undefined, savedSearchId: string | undefined, savedSearchMemberId: string | undefined, message: string | undefined, validatedMessage: string | undefined, chainId: string | null | undefined, attachments: FileParameter[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Proposal/Create?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (savedSearchId === null)\r\n throw new Error(\"The parameter 'savedSearchId' cannot be null.\");\r\n else if (savedSearchId !== undefined)\r\n url_ += \"savedSearchId=\" + encodeURIComponent(\"\" + savedSearchId) + \"&\";\r\n if (savedSearchMemberId === null)\r\n throw new Error(\"The parameter 'savedSearchMemberId' cannot be null.\");\r\n else if (savedSearchMemberId !== undefined)\r\n url_ += \"savedSearchMemberId=\" + encodeURIComponent(\"\" + savedSearchMemberId) + \"&\";\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n if (validatedMessage === null)\r\n throw new Error(\"The parameter 'validatedMessage' cannot be null.\");\r\n else if (validatedMessage !== undefined)\r\n url_ += \"validatedMessage=\" + encodeURIComponent(\"\" + validatedMessage) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (attachments !== null && attachments !== undefined)\r\n attachments.forEach(item_ => content_.append(\"attachments\", item_.data, item_.fileName ? item_.fileName : \"attachments\") );\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n decline(proposalId: string | undefined, memberId: string | null | undefined, message: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Proposal/Decline?\";\r\n if (proposalId === null)\r\n throw new Error(\"The parameter 'proposalId' cannot be null.\");\r\n else if (proposalId !== undefined)\r\n url_ += \"proposalId=\" + encodeURIComponent(\"\" + proposalId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecline(_response));\r\n });\r\n }\r\n\r\n protected processDecline(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RatingClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(workspaceId: string, take: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/list/{workspaceId}?\";\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (take !== undefined && take !== null)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RatingViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n average(venueId: string, workspaceId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/average/{venueId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAverage(_response));\r\n });\r\n }\r\n\r\n protected processAverage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AverageRatingModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ownByReservationId(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/own/reservation/{reservationId}\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOwnByReservationId(_response));\r\n });\r\n }\r\n\r\n protected processOwnByReservationId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RatingViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(ratingViewModel: RatingUpsertModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(ratingViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ResponseWrapper.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n hourlyReservations(start: string | undefined, end: string | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/reservations/hourly?\";\r\n if (start === null)\r\n throw new Error(\"The parameter 'start' cannot be null.\");\r\n else if (start !== undefined)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end === null)\r\n throw new Error(\"The parameter 'end' cannot be null.\");\r\n else if (end !== undefined)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyReservations(_response));\r\n });\r\n }\r\n\r\n protected processHourlyReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservation.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TourClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n guestNoShow(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/GuestNoShow\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGuestNoShow(_response));\r\n });\r\n }\r\n\r\n protected processGuestNoShow(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n cancel(id: string, reason: TourCancelReason | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/Cancel?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (reason === null)\r\n throw new Error(\"The parameter 'reason' cannot be null.\");\r\n else if (reason !== undefined)\r\n url_ += \"reason=\" + encodeURIComponent(\"\" + reason) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCancel(_response));\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isFirstConfirmedTourInVenue(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/IsFirstConfirmedTourInVenue\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsFirstConfirmedTourInVenue(_response));\r\n });\r\n }\r\n\r\n protected processIsFirstConfirmedTourInVenue(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n confirm(id: string, message: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/Confirm?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (message !== undefined && message !== null)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConfirm(_response));\r\n });\r\n }\r\n\r\n protected processConfirm(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n \r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(id: string, date: string | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (date === null)\r\n throw new Error(\"The parameter 'date' cannot be null.\");\r\n else if (date !== undefined)\r\n url_ += \"date=\" + encodeURIComponent(\"\" + date) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdate(_response));\r\n });\r\n }\r\n\r\n protected processUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n \r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suggest(request: SuggestTourViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSuggest(_response));\r\n });\r\n }\r\n\r\n protected processSuggest(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupExportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ExportVenueGroupStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueGroupId: string, exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status/{exportId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ExportVenueGroupStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status/{exportId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupExportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n export(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExport(_response));\r\n });\r\n }\r\n\r\n protected processExport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupImportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n import(venueGroupId: string, model: VenueGroupImportViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processImport(_response));\r\n });\r\n }\r\n\r\n protected processImport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupImportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ImportVenueGroupStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportVenueGroupStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetails(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}/details\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportVenueGroupStatusDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupAdminsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAdminModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(venueGroupId: string, pregeneratedPictureId: string | undefined, model: VenueAdminModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pregeneratedPictureId === null)\r\n throw new Error(\"The parameter 'pregeneratedPictureId' cannot be null.\");\r\n else if (pregeneratedPictureId !== undefined)\r\n url_ += \"pregeneratedPictureId=\" + encodeURIComponent(\"\" + pregeneratedPictureId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(venueGroupId: string, memberId: string, isPasswordChanging: boolean | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins/{memberId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isPasswordChanging === null)\r\n throw new Error(\"The parameter 'isPasswordChanging' cannot be null.\");\r\n else if (isPasswordChanging !== undefined)\r\n url_ += \"isPasswordChanging=\" + encodeURIComponent(\"\" + isPasswordChanging) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins/{memberId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupPricingRatesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getPricingRate(venueGroupId: string, pricingRateId: string, isMonthly: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates/{pricingRateId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pricingRateId === undefined || pricingRateId === null)\r\n throw new Error(\"The parameter 'pricingRateId' must be defined.\");\r\n url_ = url_.replace(\"{pricingRateId}\", encodeURIComponent(\"\" + pricingRateId));\r\n if (isMonthly === null)\r\n throw new Error(\"The parameter 'isMonthly' cannot be null.\");\r\n else if (isMonthly !== undefined)\r\n url_ += \"isMonthly=\" + encodeURIComponent(\"\" + isMonthly) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPricingRate(_response));\r\n });\r\n }\r\n\r\n protected processGetPricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PricingRateViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePricingRate(venueGroupId: string, pricingRateId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates/{pricingRateId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pricingRateId === undefined || pricingRateId === null)\r\n throw new Error(\"The parameter 'pricingRateId' must be defined.\");\r\n url_ = url_.replace(\"{pricingRateId}\", encodeURIComponent(\"\" + pricingRateId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePricingRate(_response));\r\n });\r\n }\r\n\r\n protected processDeletePricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addOrEditPricingRate(venueGroupId: string, pricingRateViewModel: PricingRateViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pricingRateViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddOrEditPricingRate(_response));\r\n });\r\n }\r\n\r\n protected processAddOrEditPricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PricingRateViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupReportsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n reports(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReports(_response));\r\n });\r\n }\r\n\r\n protected processReports(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupReportsViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n monthlyLeadsReport(venueGroupId: string, model: VenueGroupMonthlyLeadsReportParamsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/monthly-leads\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMonthlyLeadsReport(_response));\r\n });\r\n }\r\n\r\n protected processMonthlyLeadsReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pdfReport(venueGroupId: string, onDate: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/pdf?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (onDate === null)\r\n throw new Error(\"The parameter 'onDate' cannot be null.\");\r\n else if (onDate !== undefined)\r\n url_ += \"onDate=\" + encodeURIComponent(\"\" + onDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPdfReport(_response));\r\n });\r\n }\r\n\r\n protected processPdfReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteReport(reportId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/{reportId}\";\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteReport(_response));\r\n });\r\n }\r\n\r\n protected processDeleteReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n downloadReport(reportId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/{reportId}/download\";\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadReport(_response));\r\n });\r\n }\r\n\r\n protected processDownloadReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupReservationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getDataTiles(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/statistics\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDataTiles(_response));\r\n });\r\n }\r\n\r\n protected processGetDataTiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataTilesViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUpcomingReservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/upcoming\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUpcomingReservations(_response));\r\n });\r\n }\r\n\r\n protected processGetUpcomingReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPastReservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/past\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPastReservations(_response));\r\n });\r\n }\r\n\r\n protected processGetPastReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/list\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservations(_response));\r\n });\r\n }\r\n\r\n protected processReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupReservationsComposer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n venueGroup(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroup(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroup(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hourlyRequestToBook(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/hourly-requests-to-book\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyRequestToBook(_response));\r\n });\r\n }\r\n\r\n protected processHourlyRequestToBook(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyRequestToBookModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueGroupVenues(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroupVenues(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroupVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupVenueListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLogoPictureUrl(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pictures/logo\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLogoPictureUrl(_response));\r\n });\r\n }\r\n\r\n protected processGetLogoPictureUrl(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PictureURLViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendClaimProposals(venueId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues/{venueId}/resend-claim-proposals\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendClaimProposals(_response));\r\n });\r\n }\r\n\r\n protected processResendClaimProposals(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setForceGrantVisa(venueGroupId: string, forceGrant: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/force-grant-visa?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (forceGrant === null)\r\n throw new Error(\"The parameter 'forceGrant' cannot be null.\");\r\n else if (forceGrant !== undefined)\r\n url_ += \"forceGrant=\" + encodeURIComponent(\"\" + forceGrant) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetForceGrantVisa(_response));\r\n });\r\n }\r\n\r\n protected processSetForceGrantVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n sendClaimProposals(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/claim-proposals\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSendClaimProposals(_response));\r\n });\r\n }\r\n\r\n protected processSendClaimProposals(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBulkAddVenues(venueGroupId: string, visaType: VenueGroupVisaType, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/bulk-add-venues/{visaType}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaType === undefined || visaType === null)\r\n throw new Error(\"The parameter 'visaType' must be defined.\");\r\n url_ = url_.replace(\"{visaType}\", encodeURIComponent(\"\" + visaType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBulkAddVenues(_response));\r\n });\r\n }\r\n\r\n protected processGetBulkAddVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupBulkAddVenueViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bulkAddVenues(venueGroupId: string, bulkData: VenueGroupBulkData, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/bulk-add-venues\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bulkData);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBulkAddVenues(_response));\r\n });\r\n }\r\n\r\n protected processBulkAddVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n qualifyingMemberGroups(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/qualifying-member-groups\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQualifyingMemberGroups(_response));\r\n });\r\n }\r\n\r\n protected processQualifyingMemberGroups(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(KeyValuePairOfGuidAndString.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueVisas(venueGroupId: string, venueId: string, visaType: VenueGroupVisaType | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues/{venueId}/visas?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaType !== undefined && visaType !== null)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueVisas(_response));\r\n });\r\n }\r\n\r\n protected processVenueVisas(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(KeyValuePairOfGuidAndString.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupSettingsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/settings\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupSettingsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(venueGroupId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/settings\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupsRootClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupListViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(venueGroupModel: VenueGroupSettingsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(venueGroupModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupStatementsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n statements(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/statements\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStatements(_response));\r\n });\r\n }\r\n\r\n protected processStatements(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupVenuesStatementWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reportXlsxByDataId(venueGroupId: string, spreadsheetDataId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/statements/{spreadsheetDataId}/report.xlsx\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (spreadsheetDataId === undefined || spreadsheetDataId === null)\r\n throw new Error(\"The parameter 'spreadsheetDataId' must be defined.\");\r\n url_ = url_.replace(\"{spreadsheetDataId}\", encodeURIComponent(\"\" + spreadsheetDataId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReportXlsxByDataId(_response));\r\n });\r\n }\r\n\r\n protected processReportXlsxByDataId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupVisasClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getVisas(venueGroupId: string, visaType: VenueGroupVisaType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaType === null)\r\n throw new Error(\"The parameter 'visaType' cannot be null.\");\r\n else if (visaType !== undefined)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVisas(_response));\r\n });\r\n }\r\n\r\n protected processGetVisas(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupVisaViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addVisa(venueGroupId: string, request: AddVisaRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddVisa(_response));\r\n });\r\n }\r\n\r\n protected processAddVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData400)) {\r\n result400 = [] as any;\r\n for (let item of resultData400)\r\n result400!.push(ResponseWrapper.fromJS(item));\r\n }\r\n else {\r\n result400 = null;\r\n }\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteVisa(venueGroupId: string, venueId: string | undefined, visaId: string, visaType: VenueGroupVisaType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas/{visaId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (visaType === null)\r\n throw new Error(\"The parameter 'visaType' cannot be null.\");\r\n else if (visaType !== undefined)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteVisa(_response));\r\n });\r\n }\r\n\r\n protected processDeleteVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WebhookExampleClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Example webhook endpoint for API Clients\r\n */\r\n callback(event: WebhookEvent, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/webhook/example\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(event);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCallback(_response));\r\n });\r\n }\r\n\r\n protected processCallback(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspaceScenariosClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/workspace-scenarios\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(WorkspaceScenarioViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueAmenitiesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * List of all requestable/included amenities for reservation\r\n */\r\n amenities(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/amenities\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAmenities(_response));\r\n });\r\n }\r\n\r\n protected processAmenities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List of all requestable/included workspace amenities for reservation\r\n */\r\n workspaceAmenities(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/amenities\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processWorkspaceAmenities(_response));\r\n });\r\n }\r\n\r\n protected processWorkspaceAmenities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueClaimClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n claim(venueId: string, resend: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/claim?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (resend === null)\r\n throw new Error(\"The parameter 'resend' cannot be null.\");\r\n else if (resend !== undefined)\r\n url_ += \"resend=\" + encodeURIComponent(\"\" + resend) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClaim(_response));\r\n });\r\n }\r\n\r\n protected processClaim(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verifyHost(venueId: string, ticketId: number, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/claim/{ticketId}/verify\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (ticketId === undefined || ticketId === null)\r\n throw new Error(\"The parameter 'ticketId' must be defined.\");\r\n url_ = url_.replace(\"{ticketId}\", encodeURIComponent(\"\" + ticketId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVerifyHost(_response));\r\n });\r\n }\r\n\r\n protected processVerifyHost(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenuePermissionsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n permissions(venueId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/permissions?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPermissions(_response));\r\n });\r\n }\r\n\r\n protected processPermissions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuePermissionsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n requestPermissions(venueId: string, request: VenuePermissionsRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/permissions\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRequestPermissions(_response));\r\n });\r\n }\r\n\r\n protected processRequestPermissions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenuesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get venue details\r\n * @param venueId Venue ID\r\n * @return Venue details\r\n */\r\n get(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hasLiquidspacePro(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/hasliquidspacepro\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHasLiquidspacePro(_response));\r\n });\r\n }\r\n\r\n protected processHasLiquidspacePro(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n healthAndSafetyPolicy(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/healthandsafetypolicy\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHealthAndSafetyPolicy(_response));\r\n });\r\n }\r\n\r\n protected processHealthAndSafetyPolicy(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Search venues by prefix term\r\n * @param term (optional) Venue name prefix term\r\n * @return List of venue ID+Name pairs\r\n */\r\n autocomplete(term: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/search?\";\r\n if (term !== undefined && term !== null)\r\n url_ += \"term=\" + encodeURIComponent(\"\" + term) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getHeadquarterData(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/headquarterdata\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHeadquarterData(_response));\r\n });\r\n }\r\n\r\n protected processGetHeadquarterData(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueHeadquarterDataViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspacesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * List workspaces of venue\r\n * @param venueId Venue ID\r\n * @return List of workspace details\r\n */\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueWorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspaces details\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @return Workspace details\r\n */\r\n get(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueWorkspaceModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueAvailabilityClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get venue hourly availability at requested date\r\n * @param venueId Venue ID\r\n * @param date Date on which the availability calculation is to be made (Venue time zone)\r\n * @param timeChunkSize (optional) Granularity of response time chunks. Min15 is most accurate\r\n */\r\n hourlyAvailability(venueId: string, date: string, timeChunkSize: TimeChunkSize | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/availability/hourly/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (timeChunkSize === null)\r\n throw new Error(\"The parameter 'timeChunkSize' cannot be null.\");\r\n else if (timeChunkSize !== undefined)\r\n url_ += \"timeChunkSize=\" + encodeURIComponent(\"\" + timeChunkSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyAvailability(_response));\r\n });\r\n }\r\n\r\n protected processHourlyAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationCalendarWorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspaceAvailabilityClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get workspace closed days for requested month\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date First day of month on which the availability calculation is to be made\r\n */\r\n closedDays(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/closed-days/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClosedDays(_response));\r\n });\r\n }\r\n\r\n protected processClosedDays(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ClosedDayModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace open hours at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made\r\n */\r\n openHours(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/open-hours/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenHours(_response));\r\n });\r\n }\r\n\r\n protected processOpenHours(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpenHoursItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace open for tour hours at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made\r\n */\r\n openHoursForTour(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/tour/open-hours/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenHoursForTour(_response));\r\n });\r\n }\r\n\r\n protected processOpenHoursForTour(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpenHoursItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get monthly workspace closed days for requested month\r\n * @param venueId Venue ID\r\n * @param workspaceId Monthly Workspace ID\r\n * @param date First day of month on which the availability calculation is to be made\r\n * @param memberId (optional) \r\n * @param existingReservationId (optional) Optional monthly reservation ID to be excluded from availability calculations.\r\n Shuold be used in order to calculated proper availability in edit reservation scenario.\r\n */\r\n unavailableDays(venueId: string, workspaceId: string, date: string, memberId: string | null | undefined, existingReservationId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/unavailable-days/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (existingReservationId !== undefined && existingReservationId !== null)\r\n url_ += \"existingReservationId=\" + encodeURIComponent(\"\" + existingReservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnavailableDays(_response));\r\n });\r\n }\r\n\r\n protected processUnavailableDays(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ClosedDayModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace hourly availability at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made (Venue time zone)\r\n * @param timeChunkSize (optional) Granularity of response time chunks. Min15 is most accurate\r\n * @param reservationId (optional) Id of reservation to exclude from availability calculations (for example when editing)\r\n * @param occurrenceDate (optional) Occurrence date to exclude occurrence of recurrent from availability calculations\r\n */\r\n hourlyAvailability(venueId: string, workspaceId: string, date: string, timeChunkSize: TimeChunkSize | undefined, reservationId: string | null | undefined, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/hourly/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (timeChunkSize === null)\r\n throw new Error(\"The parameter 'timeChunkSize' cannot be null.\");\r\n else if (timeChunkSize !== undefined)\r\n url_ += \"timeChunkSize=\" + encodeURIComponent(\"\" + timeChunkSize) + \"&\";\r\n if (reservationId !== undefined && reservationId !== null)\r\n url_ += \"reservationId=\" + encodeURIComponent(\"\" + reservationId) + \"&\";\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyAvailability(_response));\r\n });\r\n }\r\n\r\n protected processHourlyAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationCalendarTimeChunkStateModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Check workspace availability and get next available date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param request Additional details (date, time, quantity, existing reservation id)\r\n * @return Next available date for the workspace in the venue time zone or null if none found\r\n */\r\n checkAvailability(venueId: string, workspaceId: string, request: CheckAvailabilityRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/check\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckAvailability(_response));\r\n });\r\n }\r\n\r\n protected processCheckAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CheckAvailabilityResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get available desks quantity for specific date.\r\n * @param existingReservationId (optional) Id of the reservation you are editing to exclude from quantity calculations (in case you plan to edit it's quantity)\r\n */\r\n quantityAvilable(venueId: string, workspaceId: string, date: string, existingReservationId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/quantity/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (existingReservationId !== undefined && existingReservationId !== null)\r\n url_ += \"existingReservationId=\" + encodeURIComponent(\"\" + existingReservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQuantityAvilable(_response));\r\n });\r\n }\r\n\r\n protected processQuantityAvilable(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Check workspace availability and get next available date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param request Additional details (date, time, quantity, existing reservation id)\r\n * @return Next available date for the workspace in the venue time zone or null if none found\r\n */\r\n checkRegusAvailability(venueId: string, workspaceId: string, request: CheckAvailabilityRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/checkregus\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckRegusAvailability(_response));\r\n });\r\n }\r\n\r\n protected processCheckRegusAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CheckRegusAvailabilityResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UserClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n currentMember(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCurrentMember(_response));\r\n });\r\n }\r\n\r\n protected processCurrentMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n enterpriseAccountMembership(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/ea\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEnterpriseAccountMembership(_response));\r\n });\r\n }\r\n\r\n protected processEnterpriseAccountMembership(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoEnterpriseAccountResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getCounters(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/counters\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCounters(_response));\r\n });\r\n }\r\n\r\n protected processGetCounters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HeaderMenuCountersViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UserVenuesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getOwned(venueId: string | null | undefined, takeCount: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/venues/owned?\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (takeCount !== undefined && takeCount !== null)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetOwned(_response));\r\n });\r\n }\r\n\r\n protected processGetOwned(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MyVenueViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRecent(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/venues/recent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRecent(_response));\r\n });\r\n }\r\n\r\n protected processGetRecent(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueSearchResult.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUnfinished(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/venues/owned/unfinished\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUnfinished(_response));\r\n });\r\n }\r\n\r\n protected processGetUnfinished(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SavedSearchRequestClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(savedSearchRequestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/request/{savedSearchRequestId}\";\r\n if (savedSearchRequestId === undefined || savedSearchRequestId === null)\r\n throw new Error(\"The parameter 'savedSearchRequestId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchRequestId}\", encodeURIComponent(\"\" + savedSearchRequestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SavedSearchRequestWithId.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(savedSearchRequestId: string, searchRequest: SavedSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/request/{savedSearchRequestId}\";\r\n if (savedSearchRequestId === undefined || savedSearchRequestId === null)\r\n throw new Error(\"The parameter 'savedSearchRequestId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchRequestId}\", encodeURIComponent(\"\" + savedSearchRequestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdate(_response));\r\n });\r\n }\r\n\r\n protected processUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Create new Saved Search Request\r\n * @param searchRequest Payload\r\n * @return ID of just created entity\r\n */\r\n create(searchRequest: SavedSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/request\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SearchAutocompleteClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n geoAutocomplete(query: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/geo?\";\r\n if (query === null)\r\n throw new Error(\"The parameter 'query' cannot be null.\");\r\n else if (query !== undefined)\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGeoAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processGeoAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GeoSearchAutocomplete.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n liquidSpaceAutocomplete(query: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/ls?\";\r\n if (query === null)\r\n throw new Error(\"The parameter 'query' cannot be null.\");\r\n else if (query !== undefined)\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processLiquidSpaceAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processLiquidSpaceAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BaseSearchAutocomplete.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n dropdownAutocomplete(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/dropdown\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDropdownAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processDropdownAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BaseSearchAutocomplete.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n textToSearchQuery(text: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/query?\";\r\n if (text === null)\r\n throw new Error(\"The parameter 'text' cannot be null.\");\r\n else if (text !== undefined)\r\n url_ += \"text=\" + encodeURIComponent(\"\" + text) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTextToSearchQuery(_response));\r\n });\r\n }\r\n\r\n protected processTextToSearchQuery(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchQueryAutocomplete.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SearchClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Execute default search request type\r\n * @param request Geo search request\r\n * @return Found spaces with geocoding information\r\n */\r\n default(request: DefaultSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDefault(_response));\r\n });\r\n }\r\n\r\n protected processDefault(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuesSearchResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Execute full-fledged search request\r\n * @param request Search request parameters model\r\n * @return Found spaces with geocoding information\r\n */\r\n execute(request: BaseSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/execute\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExecute(_response));\r\n });\r\n }\r\n\r\n protected processExecute(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuesSearchResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Execute saved search request search\r\n * @param savedSearchRequestId Saved search request ID\r\n * @return Found spaces with geocoding information\r\n */\r\n executeSavedSearch(savedSearchRequestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/{savedSearchRequestId}\";\r\n if (savedSearchRequestId === undefined || savedSearchRequestId === null)\r\n throw new Error(\"The parameter 'savedSearchRequestId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchRequestId}\", encodeURIComponent(\"\" + savedSearchRequestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExecuteSavedSearch(_response));\r\n });\r\n }\r\n\r\n protected processExecuteSavedSearch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuesSearchResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n config(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConfig(_response));\r\n });\r\n }\r\n\r\n protected processConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchConfig.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationGuestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/guests\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationMaybeMemberViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n invite(reservationId: string, model: InviteGuestsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/guests\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processInvite(_response));\r\n });\r\n }\r\n\r\n protected processInvite(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationPagesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get reservations pages model for current User or defined by memberId\r\n * @param memberId (optional) Optional Member ID. This field is required in machine-to-machine context.\r\n * @return Model with list of page tokens\r\n */\r\n pager(memberId: string | null | undefined, pagerRequest: ReservationPagerRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/pages?\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pagerRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPager(_response));\r\n });\r\n }\r\n\r\n protected processPager(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReservationPager.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get page of reservations by page token\r\n * @param token Page token\r\n */\r\n page(token: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/pages?\";\r\n if (token === undefined || token === null)\r\n throw new Error(\"The parameter 'token' must be defined and cannot be null.\");\r\n else\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPage(_response));\r\n });\r\n }\r\n\r\n protected processPage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberReservation.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get Reservation details\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Reservation occurrence date. Suitable only for Recurrent Reservation\r\n * @param applyDate (optional) Reservation apply date. Suitable only for Recurrent Reservation\r\n */\r\n get(reservationId: string, occurrenceDate: string | null | undefined, applyDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n if (applyDate !== undefined && applyDate !== null)\r\n url_ += \"applyDate=\" + encodeURIComponent(\"\" + applyDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberReservation.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Edit reservation\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Optional reservation occurrence data used to identify instance of recurrent resrvation\r\n * @param applyDate (optional) Setting this parameter for Recurrent Reservation will edit all following reservations since given date\r\n * @param request Request containing patch document with reservation updates and additional info\r\n */\r\n edit(reservationId: string, occurrenceDate: string | null | undefined, applyDate: string | null | undefined, request: EditReservationRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n if (applyDate !== undefined && applyDate !== null)\r\n url_ += \"applyDate=\" + encodeURIComponent(\"\" + applyDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EditReservationResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Cancel (delete) reservation\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Optional reservation occurrence data used to identify instance of recurrent resrvation\r\n * @param applyDate (optional) Setting this parameter for Recurrent Reservation will delete all following reservations since given date\r\n */\r\n cancel(reservationId: string, occurrenceDate: string | null | undefined, applyDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n if (applyDate !== undefined && applyDate !== null)\r\n url_ += \"applyDate=\" + encodeURIComponent(\"\" + applyDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCancel(_response));\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ResponseWrapper.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUrgencyStatus(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/urgency\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUrgencyStatus(_response));\r\n });\r\n }\r\n\r\n protected processGetUrgencyStatus(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRaw(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/raw\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRaw(_response));\r\n });\r\n }\r\n\r\n protected processGetRaw(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReservationRaw.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n closestFinishDate(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/closest-finish-date\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClosestFinishDate(_response));\r\n });\r\n }\r\n\r\n protected processClosestFinishDate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n stopAutoRenew(reservationId: string, finishDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/stop-autorenew?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (finishDate !== undefined && finishDate !== null)\r\n url_ += \"finishDate=\" + encodeURIComponent(\"\" + finishDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStopAutoRenew(_response));\r\n });\r\n }\r\n\r\n protected processStopAutoRenew(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getReservationCardPicture(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/reservationcardpicture\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetReservationCardPicture(_response));\r\n });\r\n }\r\n\r\n protected processGetReservationCardPicture(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationsCreateClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n previewLicense(request: ReservationRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/license/preview\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPreviewLicense(_response));\r\n });\r\n }\r\n\r\n protected processPreviewLicense(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(request: ReservationRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateReservationResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationVenueConfirmationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n set(reservationId: string, status: VenueConfirmationStatus | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/venue-confirmation?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSet(_response));\r\n });\r\n }\r\n\r\n protected processSet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/venue-confirmation\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueConfirmationViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationVisitStatesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Perform reservation check-in procedure\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Reservation occurrence date. Suitable only for Recurrent Reservation\r\n */\r\n checkIn(reservationId: string, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/visit-state/checkin?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckIn(_response));\r\n });\r\n }\r\n\r\n protected processCheckIn(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Perform reservation check-out procedure\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Reservation occurrence date. Suitable only for Recurrent Reservation\r\n */\r\n checkOut(reservationId: string, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/visit-state/checkout?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckOut(_response));\r\n });\r\n }\r\n\r\n protected processCheckOut(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n set(reservationId: string, wasVisited: boolean | undefined, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/visit-state?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (wasVisited === null)\r\n throw new Error(\"The parameter 'wasVisited' cannot be null.\");\r\n else if (wasVisited !== undefined)\r\n url_ += \"wasVisited=\" + encodeURIComponent(\"\" + wasVisited) + \"&\";\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSet(_response));\r\n });\r\n }\r\n\r\n protected processSet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: PromotionSettingsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PromotionListItemViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRedemptions(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/redemptions\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRedemptions(_response));\r\n });\r\n }\r\n\r\n protected processGetRedemptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionRedemptionListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n visibility(venueId: string | undefined, workspaceId: string | undefined, ownerId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/visibility?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVisibility(_response));\r\n });\r\n }\r\n\r\n protected processVisibility(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validate(code: string | undefined, venueId: string | undefined, workspaceId: string | undefined, ownerId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/validate?\";\r\n if (code === null)\r\n throw new Error(\"The parameter 'code' cannot be null.\");\r\n else if (code !== undefined)\r\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processValidate(_response));\r\n });\r\n }\r\n\r\n protected processValidate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PromotionValidationResultViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInitialCouponCode(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{venueId}/venues/initial-code\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetInitialCouponCode(_response));\r\n });\r\n }\r\n\r\n protected processGetInitialCouponCode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n duplicate(id: string, newCode: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/duplicate?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (newCode === null)\r\n throw new Error(\"The parameter 'newCode' cannot be null.\");\r\n else if (newCode !== undefined)\r\n url_ += \"newCode=\" + encodeURIComponent(\"\" + newCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDuplicate(_response));\r\n });\r\n }\r\n\r\n protected processDuplicate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionMemberGroupsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/membergroups\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionMemberGroupListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(id: string, memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/membergroups/{memberGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/membergroups/{memberGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionSettingsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/settings\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PromotionSettingsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(id: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/settings\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionVenueGroupsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venuegroups\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionVenueGroupListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(id: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venuegroups/{venueGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venuegroups/{venueGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionVenuesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venues\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionVenueListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(id: string, venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venues/{venueId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venues/{venueId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MessageAttachmentsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/attachments/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MessagesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n sendMessage(targetId: string | undefined, chainId: string | null | undefined, subject: string | null | undefined, venueId: string | null | undefined, fromVenue: boolean | undefined, text: string | null | undefined, attachments: FileParameter[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages?\";\r\n if (targetId === null)\r\n throw new Error(\"The parameter 'targetId' cannot be null.\");\r\n else if (targetId !== undefined)\r\n url_ += \"targetId=\" + encodeURIComponent(\"\" + targetId) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (subject !== undefined && subject !== null)\r\n url_ += \"subject=\" + encodeURIComponent(\"\" + subject) + \"&\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (fromVenue === null)\r\n throw new Error(\"The parameter 'fromVenue' cannot be null.\");\r\n else if (fromVenue !== undefined)\r\n url_ += \"fromVenue=\" + encodeURIComponent(\"\" + fromVenue) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (text !== null && text !== undefined)\r\n content_.append(\"text\", text.toString());\r\n if (attachments !== null && attachments !== undefined)\r\n attachments.forEach(item_ => content_.append(\"attachments\", item_.data, item_.fileName ? item_.fileName : \"attachments\") );\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSendMessage(_response));\r\n });\r\n }\r\n\r\n protected processSendMessage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SendMessageResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n messages(memberId: string | null | undefined, chainId: string | null | undefined, venueId: string | null | undefined, filter: MessagesFilterEnum | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages?\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (filter === null)\r\n throw new Error(\"The parameter 'filter' cannot be null.\");\r\n else if (filter !== undefined)\r\n url_ += \"filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMessages(_response));\r\n });\r\n }\r\n\r\n protected processMessages(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberMessagesModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getChain(chainId: string, venueId: string | null | undefined, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/{chainId}?\";\r\n if (chainId === undefined || chainId === null)\r\n throw new Error(\"The parameter 'chainId' must be defined.\");\r\n url_ = url_.replace(\"{chainId}\", encodeURIComponent(\"\" + chainId));\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetChain(_response));\r\n });\r\n }\r\n\r\n protected processGetChain(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MessageChain.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n markChainAsRead(chainId: string, venueId: string | null | undefined, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/{chainId}/mark-as-read?\";\r\n if (chainId === undefined || chainId === null)\r\n throw new Error(\"The parameter 'chainId' must be defined.\");\r\n url_ = url_.replace(\"{chainId}\", encodeURIComponent(\"\" + chainId));\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMarkChainAsRead(_response));\r\n });\r\n }\r\n\r\n protected processMarkChainAsRead(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMessengerTargets(venueId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/targets?\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMessengerTargets(_response));\r\n });\r\n }\r\n\r\n protected processGetMessengerTargets(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MessageTargetAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n chainArchiveAction(chainId: string, archive: boolean | undefined, ownerId: string | null | undefined, ownerType: EntityType | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/{chainId}/archive?\";\r\n if (chainId === undefined || chainId === null)\r\n throw new Error(\"The parameter 'chainId' must be defined.\");\r\n url_ = url_.replace(\"{chainId}\", encodeURIComponent(\"\" + chainId));\r\n if (archive === null)\r\n throw new Error(\"The parameter 'archive' cannot be null.\");\r\n else if (archive !== undefined)\r\n url_ += \"archive=\" + encodeURIComponent(\"\" + archive) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n if (ownerType !== undefined && ownerType !== null)\r\n url_ += \"ownerType=\" + encodeURIComponent(\"\" + ownerType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processChainArchiveAction(_response));\r\n });\r\n }\r\n\r\n protected processChainArchiveAction(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n existingChain(memberId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/existing?\";\r\n if (memberId === null)\r\n throw new Error(\"The parameter 'memberId' cannot be null.\");\r\n else if (memberId !== undefined)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExistingChain(_response));\r\n });\r\n }\r\n\r\n protected processExistingChain(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteMessage(messageId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/{messageId}\";\r\n if (messageId === undefined || messageId === null)\r\n throw new Error(\"The parameter 'messageId' must be defined.\");\r\n url_ = url_.replace(\"{messageId}\", encodeURIComponent(\"\" + messageId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteMessage(_response));\r\n });\r\n }\r\n\r\n protected processDeleteMessage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupAdminsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n addAdmin(memberGroupId: string, adminEmail: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/add?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (adminEmail !== undefined && adminEmail !== null)\r\n url_ += \"adminEmail=\" + encodeURIComponent(\"\" + adminEmail) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddAdmin(_response));\r\n });\r\n }\r\n\r\n protected processAddAdmin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberListItemViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeAdmin(memberGroupId: string, userId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/remove?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveAdmin(_response));\r\n });\r\n }\r\n\r\n protected processRemoveAdmin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addBookingDelegate(memberGroupId: string, bookingDelegateEmail: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/add-booking-delegate?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (bookingDelegateEmail !== undefined && bookingDelegateEmail !== null)\r\n url_ += \"bookingDelegateEmail=\" + encodeURIComponent(\"\" + bookingDelegateEmail) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddBookingDelegate(_response));\r\n });\r\n }\r\n\r\n protected processAddBookingDelegate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberListItemViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeBookingDelegate(memberGroupId: string, userId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/remove-booking-delegate?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveBookingDelegate(_response));\r\n });\r\n }\r\n\r\n protected processRemoveBookingDelegate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberGroupViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberGroupListViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: MemberGroupViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(memberGroupId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{memberGroupId}\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMembers(memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{memberGroupId}/members\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembers(_response));\r\n });\r\n }\r\n\r\n protected processGetMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupHQClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n headquarters(memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/headquarters\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHeadquarters(_response));\r\n });\r\n }\r\n\r\n protected processHeadquarters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberGroupHeadquarterViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveHeadquarter(memberGroupId: string, headquarterModel: MemberGroupHeadquarterViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/headquarters/save\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(headquarterModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processSaveHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeHeadquarter(memberGroupId: string, hqId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/headquarters/remove?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (hqId === null)\r\n throw new Error(\"The parameter 'hqId' cannot be null.\");\r\n else if (hqId !== undefined)\r\n url_ += \"hqId=\" + encodeURIComponent(\"\" + hqId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processRemoveHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupInvitationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n previewEmail(id: string, model: ManageMemberGroupInvitationPreviewEmailViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{id}/invitation/email/render\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPreviewEmail(_response));\r\n });\r\n }\r\n\r\n protected processPreviewEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MarketplaceAccountsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceAccount.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n transactions(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/transactions\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTransactions(_response));\r\n });\r\n }\r\n\r\n protected processTransactions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceTransaction.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n transactionsWithReservationStartDate(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/transactions/with-start-date\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTransactionsWithReservationStartDate(_response));\r\n });\r\n }\r\n\r\n protected processTransactionsWithReservationStartDate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceTransactionWithStartDate.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n invoices(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processInvoices(_response));\r\n });\r\n }\r\n\r\n protected processInvoices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceInvoice.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addInvoice(accountId: string, request: AddMarketplaceInvoiceRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddInvoice(_response));\r\n });\r\n }\r\n\r\n protected processAddInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MarketplaceInvoice.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteInvoice(accountId: string, invoiceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices/{invoiceId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (invoiceId === undefined || invoiceId === null)\r\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\r\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteInvoice(_response));\r\n });\r\n }\r\n\r\n protected processDeleteInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n syncInvoice(accountId: string, invoiceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices/{invoiceId}/sync\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (invoiceId === undefined || invoiceId === null)\r\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\r\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSyncInvoice(_response));\r\n });\r\n }\r\n\r\n protected processSyncInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n generateInvoice(accountId: string, periodDate: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices/generate?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (periodDate === null)\r\n throw new Error(\"The parameter 'periodDate' cannot be null.\");\r\n else if (periodDate !== undefined)\r\n url_ += \"periodDate=\" + encodeURIComponent(\"\" + periodDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerateInvoice(_response));\r\n });\r\n }\r\n\r\n protected processGenerateInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueAdminsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n admins(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdmins(_response));\r\n });\r\n }\r\n\r\n protected processAdmins(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAdminModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(venueId: string, pregeneratedPictureId: string | undefined, model: VenueAdminModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (pregeneratedPictureId === null)\r\n throw new Error(\"The parameter 'pregeneratedPictureId' cannot be null.\");\r\n else if (pregeneratedPictureId !== undefined)\r\n url_ += \"pregeneratedPictureId=\" + encodeURIComponent(\"\" + pregeneratedPictureId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n remove(venueId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins/{memberId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemove(_response));\r\n });\r\n }\r\n\r\n protected processRemove(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n admin(venueId: string, memberId: string, isPasswordChanging: boolean | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins/{memberId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isPasswordChanging === null)\r\n throw new Error(\"The parameter 'isPasswordChanging' cannot be null.\");\r\n else if (isPasswordChanging !== undefined)\r\n url_ += \"isPasswordChanging=\" + encodeURIComponent(\"\" + isPasswordChanging) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdmin(_response));\r\n });\r\n }\r\n\r\n protected processAdmin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n venueSelector(currentVenueId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management?\";\r\n if (currentVenueId !== undefined && currentVenueId !== null)\r\n url_ += \"currentVenueId=\" + encodeURIComponent(\"\" + currentVenueId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueSelector(_response));\r\n });\r\n }\r\n\r\n protected processVenueSelector(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueSelectorListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueBrief(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/brief\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueBrief(_response));\r\n });\r\n }\r\n\r\n protected processVenueBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueBrief.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeSavedSearch(venueId: string, savedSearchId: string, chainId: string | null | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/searches/{savedSearchId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (savedSearchId === undefined || savedSearchId === null)\r\n throw new Error(\"The parameter 'savedSearchId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchId}\", encodeURIComponent(\"\" + savedSearchId));\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveSavedSearch(_response));\r\n });\r\n }\r\n\r\n protected processRemoveSavedSearch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n newMessagesCount(signal?: AbortSignal): Promise<{ [key: string]: number; }> {\r\n let url_ = this.baseUrl + \"/api/venue-management/new-messages-count\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processNewMessagesCount(_response));\r\n });\r\n }\r\n\r\n protected processNewMessagesCount(response: Response): Promise<{ [key: string]: number; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: number; }>(null as any);\r\n }\r\n\r\n newMessagesCountByVenue(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/new-messages-count\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processNewMessagesCountByVenue(_response));\r\n });\r\n }\r\n\r\n protected processNewMessagesCountByVenue(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hasReservations(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/has-reservations\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHasReservations(_response));\r\n });\r\n }\r\n\r\n protected processHasReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setIntegrationOption(venueId: string, integrationOptionRequest: IntegrationOptionRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integration-option\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(integrationOptionRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetIntegrationOption(_response));\r\n });\r\n }\r\n\r\n protected processSetIntegrationOption(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n settings(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSettings(_response));\r\n });\r\n }\r\n\r\n protected processSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patchSettings(venueId: string, applyDefaultBookingMethodForExistingSpaces: HourlyMonthly | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (applyDefaultBookingMethodForExistingSpaces === null)\r\n throw new Error(\"The parameter 'applyDefaultBookingMethodForExistingSpaces' cannot be null.\");\r\n else if (applyDefaultBookingMethodForExistingSpaces !== undefined)\r\n url_ += \"applyDefaultBookingMethodForExistingSpaces=\" + encodeURIComponent(\"\" + applyDefaultBookingMethodForExistingSpaces) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatchSettings(_response));\r\n });\r\n }\r\n\r\n protected processPatchSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n openStatus(venueId: string, openStatus: VenueOpenStatus | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/open-status?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (openStatus === null)\r\n throw new Error(\"The parameter 'openStatus' cannot be null.\");\r\n else if (openStatus !== undefined)\r\n url_ += \"openStatus=\" + encodeURIComponent(\"\" + openStatus) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenStatus(_response));\r\n });\r\n }\r\n\r\n protected processOpenStatus(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueGroupMembership(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/venue-groups\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroupMembership(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroupMembership(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupMembershipModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n priceRate(venueId: string, reservationStartTime: string | undefined, isMonthly: boolean | undefined, reservationCount: number | undefined, pricingRateType: PricingRateType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/price-rates?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (reservationStartTime === null)\r\n throw new Error(\"The parameter 'reservationStartTime' cannot be null.\");\r\n else if (reservationStartTime !== undefined)\r\n url_ += \"reservationStartTime=\" + encodeURIComponent(\"\" + reservationStartTime) + \"&\";\r\n if (isMonthly === null)\r\n throw new Error(\"The parameter 'isMonthly' cannot be null.\");\r\n else if (isMonthly !== undefined)\r\n url_ += \"isMonthly=\" + encodeURIComponent(\"\" + isMonthly) + \"&\";\r\n if (reservationCount === null)\r\n throw new Error(\"The parameter 'reservationCount' cannot be null.\");\r\n else if (reservationCount !== undefined)\r\n url_ += \"reservationCount=\" + encodeURIComponent(\"\" + reservationCount) + \"&\";\r\n if (pricingRateType === null)\r\n throw new Error(\"The parameter 'pricingRateType' cannot be null.\");\r\n else if (pricingRateType !== undefined)\r\n url_ += \"pricingRateType=\" + encodeURIComponent(\"\" + pricingRateType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPriceRate(_response));\r\n });\r\n }\r\n\r\n protected processPriceRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PriceRateCheckerResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verifyPermalink(venueId: string, permalinkToVerify: string | null | undefined, country: string | null | undefined, state: string | null | undefined, city: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/verify-permalink?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (permalinkToVerify !== undefined && permalinkToVerify !== null)\r\n url_ += \"permalinkToVerify=\" + encodeURIComponent(\"\" + permalinkToVerify) + \"&\";\r\n if (country !== undefined && country !== null)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n if (state !== undefined && state !== null)\r\n url_ += \"state=\" + encodeURIComponent(\"\" + state) + \"&\";\r\n if (city !== undefined && city !== null)\r\n url_ += \"city=\" + encodeURIComponent(\"\" + city) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVerifyPermalink(_response));\r\n });\r\n }\r\n\r\n protected processVerifyPermalink(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VerifyVenueParmalinkResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n populationPercent(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/population-percent\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPopulationPercent(_response));\r\n });\r\n }\r\n\r\n protected processPopulationPercent(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuePopulationPercentModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n properties(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/properties\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processProperties(_response));\r\n });\r\n }\r\n\r\n protected processProperties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuePropertiesModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isPaymentInformationRequired(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/is-payment-information-required\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPaymentInformationRequired(_response));\r\n });\r\n }\r\n\r\n protected processIsPaymentInformationRequired(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n checklist(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/checklist\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processChecklist(_response));\r\n });\r\n }\r\n\r\n protected processChecklist(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueEventsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueEventModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData404)) {\r\n result404 = [] as any;\r\n for (let item of resultData404)\r\n result404!.push(VenueEventModel.fromJS(item));\r\n }\r\n else {\r\n result404 = null;\r\n }\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(venueId: string, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(venueId: string, eventId: string, createdTicks: string | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events/{eventId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (eventId === undefined || eventId === null)\r\n throw new Error(\"The parameter 'eventId' must be defined.\");\r\n url_ = url_.replace(\"{eventId}\", encodeURIComponent(\"\" + eventId));\r\n if (createdTicks === null)\r\n throw new Error(\"The parameter 'createdTicks' cannot be null.\");\r\n else if (createdTicks !== undefined)\r\n url_ += \"createdTicks=\" + encodeURIComponent(\"\" + createdTicks) + \"&\";\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueId: string, eventId: string, created: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events/{eventId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (eventId === undefined || eventId === null)\r\n throw new Error(\"The parameter 'eventId' must be defined.\");\r\n url_ = url_.replace(\"{eventId}\", encodeURIComponent(\"\" + eventId));\r\n if (created === null)\r\n throw new Error(\"The parameter 'created' cannot be null.\");\r\n else if (created !== undefined)\r\n url_ += \"created=\" + encodeURIComponent(\"\" + created) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueHooRulesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getExceptionHooRuleList(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetExceptionHooRuleList(_response));\r\n });\r\n }\r\n\r\n protected processGetExceptionHooRuleList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editExceptionHooRule(venueId: string, model: HooRuleSplitEditViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEditExceptionHooRule(_response));\r\n });\r\n }\r\n\r\n protected processEditExceptionHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getExceptionHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetExceptionHooRule(_response));\r\n });\r\n }\r\n\r\n protected processGetExceptionHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HooRuleSplitEditViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteExceptionHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteExceptionHooRule(_response));\r\n });\r\n }\r\n\r\n protected processDeleteExceptionHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exceptionHooRuleReorderUp(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}/reorder-up\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExceptionHooRuleReorderUp(_response));\r\n });\r\n }\r\n\r\n protected processExceptionHooRuleReorderUp(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exceptionHooRuleReorderDown(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}/reorder-down\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExceptionHooRuleReorderDown(_response));\r\n });\r\n }\r\n\r\n protected processExceptionHooRuleReorderDown(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBookingWindowHooRuleList(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBookingWindowHooRuleList(_response));\r\n });\r\n }\r\n\r\n protected processGetBookingWindowHooRuleList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editBookingWindowHooRule(venueId: string, model: HooRuleForBookingWindowFlexEditViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEditBookingWindowHooRule(_response));\r\n });\r\n }\r\n\r\n protected processEditBookingWindowHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBookingWindowHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBookingWindowHooRule(_response));\r\n });\r\n }\r\n\r\n protected processGetBookingWindowHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HooRuleForBookingWindowFlexEditViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteBookingWindowHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteBookingWindowHooRule(_response));\r\n });\r\n }\r\n\r\n protected processDeleteBookingWindowHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bookingWindowHooRuleReorderUp(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}/reorder-up\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBookingWindowHooRuleReorderUp(_response));\r\n });\r\n }\r\n\r\n protected processBookingWindowHooRuleReorderUp(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bookingWindowHooRuleReorderDown(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}/reorder-down\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBookingWindowHooRuleReorderDown(_response));\r\n });\r\n }\r\n\r\n protected processBookingWindowHooRuleReorderDown(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueHourlyRequestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, start: string | null | undefined, end: string | null | undefined, status: HourlyRequestToBookStatus[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/hourly-requests?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (status !== undefined && status !== null)\r\n status && status.forEach(item => { url_ += \"status=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationRequestDetailsModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n loadOwners(venueId: string, workspaceId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/owners?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processLoadOwners(_response));\r\n });\r\n }\r\n\r\n protected processLoadOwners(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OwnerInfoModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadOwnersForDeskimo(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/owners-deskimo\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processLoadOwnersForDeskimo(_response));\r\n });\r\n }\r\n\r\n protected processLoadOwnersForDeskimo(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OwnerInfoModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exchangeConfiguration(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/exchange/configuration\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExchangeConfiguration(_response));\r\n });\r\n }\r\n\r\n protected processExchangeConfiguration(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ExchangeConfigurationModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pushToCalendar(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/push-to-calendar\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPushToCalendar(_response));\r\n });\r\n }\r\n\r\n protected processPushToCalendar(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOfficeRnDWorkspacesSync(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/officernd/workspaces\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetOfficeRnDWorkspacesSync(_response));\r\n });\r\n }\r\n\r\n protected processGetOfficeRnDWorkspacesSync(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = OfficeRnDWorkspacesSyncModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n submitOfficeRnDWorkspacesSync(venueId: string, requestId: string | null | undefined, model: OfficeRnDWorkspacesSyncSubmitModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/officernd/workspaces?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSubmitOfficeRnDWorkspacesSync(_response));\r\n });\r\n }\r\n\r\n protected processSubmitOfficeRnDWorkspacesSync(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueLeadsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, dashboardLeadStatuses: DashboardLeadStatus[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (dashboardLeadStatuses !== undefined && dashboardLeadStatuses !== null)\r\n dashboardLeadStatuses && dashboardLeadStatuses.forEach(item => { url_ += \"dashboardLeadStatuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DashboardLeadViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateToActive(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}/update-to-active\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateToActive(_response));\r\n });\r\n }\r\n\r\n protected processUpdateToActive(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n archive(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}/archive\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processArchive(_response));\r\n });\r\n }\r\n\r\n protected processArchive(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unarchive(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}/unarchive\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnarchive(_response));\r\n });\r\n }\r\n\r\n protected processUnarchive(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueLicensesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n uploadCustomLicensePdfTemplate(venueId: string, customLicensePdfTemplates: FileParameter[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/licenses/custom\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (customLicensePdfTemplates !== null && customLicensePdfTemplates !== undefined)\r\n customLicensePdfTemplates.forEach(item_ => content_.append(\"customLicensePdfTemplates\", item_.data, item_.fileName ? item_.fileName : \"customLicensePdfTemplates\") );\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUploadCustomLicensePdfTemplate(_response));\r\n });\r\n }\r\n\r\n protected processUploadCustomLicensePdfTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteCustomLicensePdfTemplate(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/licenses/custom\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteCustomLicensePdfTemplate(_response));\r\n });\r\n }\r\n\r\n protected processDeleteCustomLicensePdfTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validateTemplate(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/licenses/ValidateTemplate\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processValidateTemplate(_response));\r\n });\r\n }\r\n\r\n protected processValidateTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CheckResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueMemberInvitationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n previewEmail(venueId: string, model: ManageVenueMemberInvitationPreviewEmailViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/invitation/email/render\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPreviewEmail(_response));\r\n });\r\n }\r\n\r\n protected processPreviewEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueMembersClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueMemberModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n profile(venueId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/{memberId}/profile\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processProfile(_response));\r\n });\r\n }\r\n\r\n protected processProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueMemberProfileModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editProfile(venueId: string, memberId: string, model: VenueMemberProfileModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/{memberId}/profile\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEditProfile(_response));\r\n });\r\n }\r\n\r\n protected processEditProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteProfile(venueId: string, memberId: string, visaId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/{memberId}/visas/{visaId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteProfile(_response));\r\n });\r\n }\r\n\r\n protected processDeleteProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n assignVisaGET(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/assign-visa\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignVisaGET(_response));\r\n });\r\n }\r\n\r\n protected processAssignVisaGET(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AddMemberToVisaModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n assignVisaPOST(venueId: string, model: AddMemberToVisaModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/assign-visa\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignVisaPOST(_response));\r\n });\r\n }\r\n\r\n protected processAssignVisaPOST(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueMemberVisaStatesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n grant(venueId: string, visaId: string, memberId: string, workspaceId: string | null | undefined, bookingDate: string | null | undefined, workflowId: string | null | undefined, sync: boolean | undefined, chainId: string | null | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}/members/{memberId}/grant?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (bookingDate !== undefined && bookingDate !== null)\r\n url_ += \"bookingDate=\" + encodeURIComponent(\"\" + bookingDate) + \"&\";\r\n if (workflowId !== undefined && workflowId !== null)\r\n url_ += \"workflowId=\" + encodeURIComponent(\"\" + workflowId) + \"&\";\r\n if (sync === null)\r\n throw new Error(\"The parameter 'sync' cannot be null.\");\r\n else if (sync !== undefined)\r\n url_ += \"sync=\" + encodeURIComponent(\"\" + sync) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGrant(_response));\r\n });\r\n }\r\n\r\n protected processGrant(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChangeVisaStateReponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deny(venueId: string, visaId: string, memberId: string, workspaceId: string | null | undefined, workflowId: string | null | undefined, sync: boolean | undefined, chainId: string | null | undefined, reason: DenyVisaReason | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}/members/{memberId}/deny?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (workflowId !== undefined && workflowId !== null)\r\n url_ += \"workflowId=\" + encodeURIComponent(\"\" + workflowId) + \"&\";\r\n if (sync === null)\r\n throw new Error(\"The parameter 'sync' cannot be null.\");\r\n else if (sync !== undefined)\r\n url_ += \"sync=\" + encodeURIComponent(\"\" + sync) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (reason === null)\r\n throw new Error(\"The parameter 'reason' cannot be null.\");\r\n else if (reason !== undefined)\r\n url_ += \"reason=\" + encodeURIComponent(\"\" + reason) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeny(_response));\r\n });\r\n }\r\n\r\n protected processDeny(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChangeVisaStateReponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueReservationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, start: string | null | undefined, end: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/reservations?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueScoreClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n venueScore(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/score\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueScore(_response));\r\n });\r\n }\r\n\r\n protected processVenueScore(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueScoreViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueStatementsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, start: string | null | undefined, end: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/statements?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueStatementSummaryModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueVisasClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VisaInfoModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n upsert(venueId: string, model: VisaModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpsert(_response));\r\n });\r\n }\r\n\r\n protected processUpsert(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueId: string, visaId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n visa(venueId: string, visaId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVisa(_response));\r\n });\r\n }\r\n\r\n protected processVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VisaModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueWorkspacesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(WorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n order(venueId: string, workspacesOrder: { [key: string]: number; }, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/order\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(workspacesOrder);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOrder(_response));\r\n });\r\n }\r\n\r\n protected processOrder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n confirm(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/confirm\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConfirm(_response));\r\n });\r\n }\r\n\r\n protected processConfirm(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isBooked(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/{workspaceId}/is-booked\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsBooked(_response));\r\n });\r\n }\r\n\r\n protected processIsBooked(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/{workspaceId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n duplicate(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/{workspaceId}/duplicate\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDuplicate(_response));\r\n });\r\n }\r\n\r\n protected processDuplicate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ProBannerClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getLiquidSpaceProOverlayModel(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/probanner/{venueId}/liquidspaceprooverlaymodel\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLiquidSpaceProOverlayModel(_response));\r\n });\r\n }\r\n\r\n protected processGetLiquidSpaceProOverlayModel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LiquidspaceProOverlayViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLiquidspaceProEnableDate(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/probanner/{venueId}/liquidspaceproenabledate\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLiquidspaceProEnableDate(_response));\r\n });\r\n }\r\n\r\n protected processGetLiquidspaceProEnableDate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n activateLiquidspacePro(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/probanner/{venueId}/activateliquidspacepro\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processActivateLiquidspacePro(_response));\r\n });\r\n }\r\n\r\n protected processActivateLiquidspacePro(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeskimoIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n markets(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/deskimo/markets\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMarkets(_response));\r\n });\r\n }\r\n\r\n protected processMarkets(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DeskimoMarketModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n properties(marketCode: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/deskimo/properties?\";\r\n if (marketCode === null)\r\n throw new Error(\"The parameter 'marketCode' cannot be null.\");\r\n else if (marketCode !== undefined)\r\n url_ += \"marketCode=\" + encodeURIComponent(\"\" + marketCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processProperties(_response));\r\n });\r\n }\r\n\r\n protected processProperties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DeskimoPropertyModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EvoIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n options(evoApiId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/evo/options?\";\r\n if (evoApiId !== undefined && evoApiId !== null)\r\n url_ += \"evoApiId=\" + encodeURIComponent(\"\" + evoApiId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOptions(_response));\r\n });\r\n }\r\n\r\n protected processOptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EvoOptionsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MicrosoftGraphIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n callback(venueId: string | undefined, workspaceId: string | null | undefined, accesstoken: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/msgraph/callback?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (accesstoken === null)\r\n throw new Error(\"The parameter 'accesstoken' cannot be null.\");\r\n else if (accesstoken !== undefined)\r\n url_ += \"accesstoken=\" + encodeURIComponent(\"\" + accesstoken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCallback(_response));\r\n });\r\n }\r\n\r\n protected processCallback(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MSGraphUserModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MorningstarIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n validate(venueId: string | undefined, settings: MorningStarSettingsModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/morningstar/validate?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(settings);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processValidate(_response));\r\n });\r\n }\r\n\r\n protected processValidate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class OfficeRnDOrganizationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRnDOrganizationListItemModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(organizationModel: OfficeRnDOrganizationEditModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(organizationModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = OfficeRnDOrganizationDetailsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(organizationId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n savePartnerIntegrationContact(organizationId: string, postConnectToken: string | null | undefined, model: OfficeRnDOrganizationPartnerIntegrationContactEditModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/partnerintegration/contact?\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n if (postConnectToken !== undefined && postConnectToken !== null)\r\n url_ += \"postConnectToken=\" + encodeURIComponent(\"\" + postConnectToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSavePartnerIntegrationContact(_response));\r\n });\r\n }\r\n\r\n protected processSavePartnerIntegrationContact(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePartnerIntegration(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/partnerintegration\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePartnerIntegration(_response));\r\n });\r\n }\r\n\r\n protected processDeletePartnerIntegration(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n offices(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/offices\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOffices(_response));\r\n });\r\n }\r\n\r\n protected processOffices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRndOfficeModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n teams(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/teams\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTeams(_response));\r\n });\r\n }\r\n\r\n protected processTeams(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRndTeamModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n members(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/members\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMembers(_response));\r\n });\r\n }\r\n\r\n protected processMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRndMemberModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RJmetisIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n options(signal?: AbortSignal): Promise<{ [key: string]: string; }> {\r\n let url_ = this.baseUrl + \"/api/integrations/rjmetis/options\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOptions(_response));\r\n });\r\n }\r\n\r\n protected processOptions(response: Response): Promise<{ [key: string]: string; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: string; }>(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsConsoleClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getMethods(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/method\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMethods(_response));\r\n });\r\n }\r\n\r\n protected processGetMethods(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsConsoleMethod.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n executeMethod(methodName: string | undefined, runner: DiagnosticsMethodRunner | undefined, parameters: { [key: string]: string; }, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/method?\";\r\n if (methodName === null)\r\n throw new Error(\"The parameter 'methodName' cannot be null.\");\r\n else if (methodName !== undefined)\r\n url_ += \"methodName=\" + encodeURIComponent(\"\" + methodName) + \"&\";\r\n if (runner === null)\r\n throw new Error(\"The parameter 'runner' cannot be null.\");\r\n else if (runner !== undefined)\r\n url_ += \"runner=\" + encodeURIComponent(\"\" + runner) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(parameters);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExecuteMethod(_response));\r\n });\r\n }\r\n\r\n protected processExecuteMethod(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsConsoleRunKey.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLog(lastKnownTick: string | null | undefined, taskId: string | null | undefined, takeCount: number | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/log?\";\r\n if (lastKnownTick !== undefined && lastKnownTick !== null)\r\n url_ += \"lastKnownTick=\" + encodeURIComponent(\"\" + lastKnownTick) + \"&\";\r\n if (taskId !== undefined && taskId !== null)\r\n url_ += \"taskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (takeCount === null)\r\n throw new Error(\"The parameter 'takeCount' cannot be null.\");\r\n else if (takeCount !== undefined)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLog(_response));\r\n });\r\n }\r\n\r\n protected processGetLog(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsConsoleLineViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clearLog(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/log\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClearLog(_response));\r\n });\r\n }\r\n\r\n protected processClearLog(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsContentSecurityPolicyClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/csp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContentSecurityPolicyViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/csp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsCryptoClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n decrypt(input: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/crypto/decrypt\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecrypt(_response));\r\n });\r\n }\r\n\r\n protected processDecrypt(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n encrypt(input: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/crypto/encrypt\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEncrypt(_response));\r\n });\r\n }\r\n\r\n protected processEncrypt(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsEmailsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n templates(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTemplates(_response));\r\n });\r\n }\r\n\r\n protected processTemplates(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EmailTemplate.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n model(emailTypeName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}/model\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processModel(_response));\r\n });\r\n }\r\n\r\n protected processModel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsEmailModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n template(emailTypeName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTemplate(_response));\r\n });\r\n }\r\n\r\n protected processTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n render(emailTypeName: string, model: any, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRender(_response));\r\n });\r\n }\r\n\r\n protected processRender(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n send(model: SendTestEmailModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSend(_response));\r\n });\r\n }\r\n\r\n protected processSend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/integrations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsIntegrationListItemModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsLogsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(start: string | undefined, end: string | undefined, messageSubstring: string | null | undefined, levels: DiagnosticsLogLevels | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log?\";\r\n if (start === null)\r\n throw new Error(\"The parameter 'start' cannot be null.\");\r\n else if (start !== undefined)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end === null)\r\n throw new Error(\"The parameter 'end' cannot be null.\");\r\n else if (end !== undefined)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (messageSubstring !== undefined && messageSubstring !== null)\r\n url_ += \"messageSubstring=\" + encodeURIComponent(\"\" + messageSubstring) + \"&\";\r\n if (levels === null)\r\n throw new Error(\"The parameter 'levels' cannot be null.\");\r\n else if (levels !== undefined)\r\n url_ += \"levels=\" + encodeURIComponent(\"\" + levels) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsLogItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetails(partitionKey: string, rowKey: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/{partitionKey}/{rowKey}\";\r\n if (partitionKey === undefined || partitionKey === null)\r\n throw new Error(\"The parameter 'partitionKey' must be defined.\");\r\n url_ = url_.replace(\"{partitionKey}\", encodeURIComponent(\"\" + partitionKey));\r\n if (rowKey === undefined || rowKey === null)\r\n throw new Error(\"The parameter 'rowKey' must be defined.\");\r\n url_ = url_.replace(\"{rowKey}\", encodeURIComponent(\"\" + rowKey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsLogItemDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConfig(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetConfig(_response));\r\n });\r\n }\r\n\r\n protected processGetConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setConfig(config: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(config);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetConfig(_response));\r\n });\r\n }\r\n\r\n protected processSetConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsPoisonsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PoisonMessageViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PoisonMessageDetailsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n restart(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRestart(_response));\r\n });\r\n }\r\n\r\n protected processRestart(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n raw(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}/raw\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRaw(_response));\r\n });\r\n }\r\n\r\n protected processRaw(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsShortUrlClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(fromIdExclusive: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl?\";\r\n if (fromIdExclusive !== undefined && fromIdExclusive !== null)\r\n url_ += \"fromIdExclusive=\" + encodeURIComponent(\"\" + fromIdExclusive) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsShortUrlViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: DiagnosticsShortUrlCreateModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsShortUrlViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsWorkspaceScenariosClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/workspace-scenarios\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsWorkspaceScenarioViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EchoClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/echo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n post(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/echo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPost(_response));\r\n });\r\n }\r\n\r\n protected processPost(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PaymentClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getPaymentsCsv(reservationId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/payment/csv?\";\r\n if (reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' cannot be null.\");\r\n else if (reservationId !== undefined)\r\n url_ += \"reservationId=\" + encodeURIComponent(\"\" + reservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPaymentsCsv(_response));\r\n });\r\n }\r\n\r\n protected processGetPaymentsCsv(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class InternationalConfigurationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InternationalConfigurationModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: EditableInternationalConfigurationModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDefault(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration/default\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDefault(_response));\r\n });\r\n }\r\n\r\n protected processGetDefault(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = InternationalConfigurationModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(id: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PictureViewModel implements IPictureViewModel {\r\n pictureId!: string;\r\n pictureOwnerId!: string;\r\n pictureUrls!: PictureURLViewModel[];\r\n imageTagConstant!: ImageTagConstants;\r\n pictureType!: PictureTypeEnum;\r\n url!: string | undefined;\r\n\r\n constructor(data?: IPictureViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pictureId = _data[\"pictureId\"];\r\n this.pictureOwnerId = _data[\"pictureOwnerId\"];\r\n if (Array.isArray(_data[\"pictureUrls\"])) {\r\n this.pictureUrls = [] as any;\r\n for (let item of _data[\"pictureUrls\"])\r\n this.pictureUrls!.push(PictureURLViewModel.fromJS(item));\r\n }\r\n this.imageTagConstant = _data[\"imageTagConstant\"];\r\n this.pictureType = _data[\"pictureType\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PictureViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PictureViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pictureId\"] = this.pictureId;\r\n data[\"pictureOwnerId\"] = this.pictureOwnerId;\r\n if (Array.isArray(this.pictureUrls)) {\r\n data[\"pictureUrls\"] = [];\r\n for (let item of this.pictureUrls)\r\n data[\"pictureUrls\"].push(item.toJSON());\r\n }\r\n data[\"imageTagConstant\"] = this.imageTagConstant;\r\n data[\"pictureType\"] = this.pictureType;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPictureViewModel {\r\n pictureId: string;\r\n pictureOwnerId: string;\r\n pictureUrls: PictureURLViewModel[];\r\n imageTagConstant: ImageTagConstants;\r\n pictureType: PictureTypeEnum;\r\n url: string | undefined;\r\n}\r\n\r\nexport class PictureURLViewModel implements IPictureURLViewModel {\r\n id!: string;\r\n tags!: string;\r\n\r\n constructor(data?: IPictureURLViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tags = _data[\"tags\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PictureURLViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PictureURLViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tags\"] = this.tags;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPictureURLViewModel {\r\n id: string;\r\n tags: string;\r\n}\r\n\r\n/** 0 = Logo 1 = Logo100 2 = Help 3 = Favorite 4 = UserPicture 5 = AdCampaignPicture 6 = HeroPicture 7 = Gallery 8 = Cover 9 = PublisherLogo 10 = VenueFloorPlan 11 = AmenityIcon 12 = AmenityPaidIcon 13 = IOSAmenityIcon 14 = IOSAmenityPaidIcon 15 = AndroidAmenityIcon 16 = AndroidAmenityPaidIcon 17 = CityPageHero 18 = Neighborhood 19 = CompanyLogo 20 = ProfilePageCover 21 = Unassigned 22 = EmailLogo 101 = ExteriorEntrance 102 = Entrance 103 = BuildingLobby 104 = Reception 105 = VenueLobby 201 = FullView 202 = SideView 203 = RoomHighlight 204 = Drawing 205 = MessageAttachment 206 = OnboardingImage 207 = MapPin 208 = ReservationCard 209 = MeetingRoom 210 = DayOffice 211 = DayDesk */\r\nexport enum ImageTagConstants {\r\n Logo = 0,\r\n Logo100 = 1,\r\n Help = 2,\r\n Favorite = 3,\r\n UserPicture = 4,\r\n AdCampaignPicture = 5,\r\n HeroPicture = 6,\r\n Gallery = 7,\r\n Cover = 8,\r\n PublisherLogo = 9,\r\n VenueFloorPlan = 10,\r\n AmenityIcon = 11,\r\n AmenityPaidIcon = 12,\r\n IOSAmenityIcon = 13,\r\n IOSAmenityPaidIcon = 14,\r\n AndroidAmenityIcon = 15,\r\n AndroidAmenityPaidIcon = 16,\r\n CityPageHero = 17,\r\n Neighborhood = 18,\r\n CompanyLogo = 19,\r\n ProfilePageCover = 20,\r\n Unassigned = 21,\r\n EmailLogo = 22,\r\n ExteriorEntrance = 101,\r\n Entrance = 102,\r\n BuildingLobby = 103,\r\n Reception = 104,\r\n VenueLobby = 105,\r\n FullView = 201,\r\n SideView = 202,\r\n RoomHighlight = 203,\r\n Drawing = 204,\r\n MessageAttachment = 205,\r\n OnboardingImage = 206,\r\n MapPin = 207,\r\n ReservationCard = 208,\r\n MeetingRoom = 209,\r\n DayOffice = 210,\r\n DayDesk = 211,\r\n}\r\n\r\n/** 0 = Venue 1 = WorkSpace 2 = Member 3 = AdCampaign 4 = VenueCampaign 5 = MemberGroup 6 = FeaturedCampaign 7 = BrowseCity 8 = Announcement 9 = AnnouncementButton 10 = PublisherLogo 11 = AmenityIcon 12 = CityPage 13 = Neighborhood 14 = CompanyLogo 15 = ProfilePageCover 16 = EnterpriseAccount 17 = VenueGroup */\r\nexport enum PictureTypeEnum {\r\n Venue = 0,\r\n WorkSpace = 1,\r\n Member = 2,\r\n AdCampaign = 3,\r\n VenueCampaign = 4,\r\n MemberGroup = 5,\r\n FeaturedCampaign = 6,\r\n BrowseCity = 7,\r\n Announcement = 8,\r\n AnnouncementButton = 9,\r\n PublisherLogo = 10,\r\n AmenityIcon = 11,\r\n CityPage = 12,\r\n Neighborhood = 13,\r\n CompanyLogo = 14,\r\n ProfilePageCover = 15,\r\n EnterpriseAccount = 16,\r\n VenueGroup = 17,\r\n}\r\n\r\nexport class SlackToken implements ISlackToken {\r\n id!: string;\r\n /** Slack App Id.\r\nhttps://api.slack.com/apps */\r\n appId!: string;\r\n /** Is installed at Slack Enterprise level */\r\n isEnterpriseInstall!: boolean;\r\n /** Slack Enterprise ID */\r\n enterpriseId!: string | undefined;\r\n /** Slack Team ID */\r\n teamId!: string | undefined;\r\n userId!: string;\r\n botId!: string;\r\n timestamp!: string;\r\n accessToken!: string;\r\n refreshToken!: string | undefined;\r\n /** Relative to Timestamp */\r\n expiresIn!: number | undefined;\r\n /** Id */\r\n enterpriseAccountId!: string;\r\n\r\n constructor(data?: ISlackToken) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appId = _data[\"appId\"];\r\n this.isEnterpriseInstall = _data[\"isEnterpriseInstall\"];\r\n this.enterpriseId = _data[\"enterpriseId\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.userId = _data[\"userId\"];\r\n this.botId = _data[\"botId\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.accessToken = _data[\"accessToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.expiresIn = _data[\"expiresIn\"];\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SlackToken {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SlackToken();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appId\"] = this.appId;\r\n data[\"isEnterpriseInstall\"] = this.isEnterpriseInstall;\r\n data[\"enterpriseId\"] = this.enterpriseId;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"userId\"] = this.userId;\r\n data[\"botId\"] = this.botId;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"accessToken\"] = this.accessToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"expiresIn\"] = this.expiresIn;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISlackToken {\r\n id: string;\r\n /** Slack App Id.\r\nhttps://api.slack.com/apps */\r\n appId: string;\r\n /** Is installed at Slack Enterprise level */\r\n isEnterpriseInstall: boolean;\r\n /** Slack Enterprise ID */\r\n enterpriseId: string | undefined;\r\n /** Slack Team ID */\r\n teamId: string | undefined;\r\n userId: string;\r\n botId: string;\r\n timestamp: string;\r\n accessToken: string;\r\n refreshToken: string | undefined;\r\n /** Relative to Timestamp */\r\n expiresIn: number | undefined;\r\n /** Id */\r\n enterpriseAccountId: string;\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type!: string | undefined;\r\n title!: string | undefined;\r\n status!: number | undefined;\r\n detail!: string | undefined;\r\n instance!: string | undefined;\r\n extensions!: { [key: string]: any; };\r\n\r\n [key: string]: any;\r\n\r\n constructor(data?: IProblemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n for (var property in _data) {\r\n if (_data.hasOwnProperty(property))\r\n this[property] = _data[property];\r\n }\r\n this.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n if (_data[\"extensions\"]) {\r\n this.extensions = {} as any;\r\n for (let key in _data[\"extensions\"]) {\r\n if (_data[\"extensions\"].hasOwnProperty(key))\r\n (this.extensions)![key] = _data[\"extensions\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n for (var property in this) {\r\n if (this.hasOwnProperty(property))\r\n data[property] = this[property];\r\n }\r\n data[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n if (this.extensions) {\r\n data[\"extensions\"] = {};\r\n for (let key in this.extensions) {\r\n if (this.extensions.hasOwnProperty(key))\r\n (data[\"extensions\"])[key] = (this.extensions)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type: string | undefined;\r\n title: string | undefined;\r\n status: number | undefined;\r\n detail: string | undefined;\r\n instance: string | undefined;\r\n extensions: { [key: string]: any; };\r\n\r\n [key: string]: any;\r\n}\r\n\r\nexport class ResponseWrapper implements IResponseWrapper {\r\n isResponseWrapper!: boolean;\r\n success!: boolean;\r\n errorMessage!: string | undefined;\r\n validationErrors!: SerializableError | undefined;\r\n errorCode!: string | undefined;\r\n detailedDebugException!: string | undefined;\r\n\r\n constructor(data?: IResponseWrapper) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isResponseWrapper = _data[\"isResponseWrapper\"];\r\n this.success = _data[\"success\"];\r\n this.errorMessage = _data[\"errorMessage\"];\r\n this.validationErrors = _data[\"validationErrors\"] ? SerializableError.fromJS(_data[\"validationErrors\"]) : undefined;\r\n this.errorCode = _data[\"errorCode\"];\r\n this.detailedDebugException = _data[\"detailedDebugException\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResponseWrapper {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResponseWrapper();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isResponseWrapper\"] = this.isResponseWrapper;\r\n data[\"success\"] = this.success;\r\n data[\"errorMessage\"] = this.errorMessage;\r\n data[\"validationErrors\"] = this.validationErrors ? this.validationErrors.toJSON() : undefined;\r\n data[\"errorCode\"] = this.errorCode;\r\n data[\"detailedDebugException\"] = this.detailedDebugException;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResponseWrapper {\r\n isResponseWrapper: boolean;\r\n success: boolean;\r\n errorMessage: string | undefined;\r\n validationErrors: SerializableError | undefined;\r\n errorCode: string | undefined;\r\n detailedDebugException: string | undefined;\r\n}\r\n\r\nexport class SerializableError implements ISerializableError {\r\n\r\n [key: string]: any;\r\n\r\n constructor(data?: ISerializableError) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n for (var property in _data) {\r\n if (_data.hasOwnProperty(property))\r\n this[property] = _data[property];\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SerializableError {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SerializableError();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n for (var property in this) {\r\n if (this.hasOwnProperty(property))\r\n data[property] = this[property];\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISerializableError {\r\n\r\n [key: string]: any;\r\n}\r\n\r\nexport abstract class RecaptchaRequestBase implements IRecaptchaRequestBase {\r\n recaptchaToken!: string;\r\n\r\n constructor(data?: IRecaptchaRequestBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.recaptchaToken = _data[\"recaptchaToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RecaptchaRequestBase {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'RecaptchaRequestBase' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recaptchaToken\"] = this.recaptchaToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRecaptchaRequestBase {\r\n recaptchaToken: string;\r\n}\r\n\r\nexport class ForgotPasswordRequest extends RecaptchaRequestBase implements IForgotPasswordRequest {\r\n email!: string;\r\n enterpriseAccountId!: string | undefined;\r\n\r\n constructor(data?: IForgotPasswordRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ForgotPasswordRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ForgotPasswordRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IForgotPasswordRequest extends IRecaptchaRequestBase {\r\n email: string;\r\n enterpriseAccountId: string | undefined;\r\n}\r\n\r\nexport class ChangePasswordModel implements IChangePasswordModel {\r\n currentPassword!: string | undefined;\r\n confirmPassword!: string;\r\n newPassword!: string;\r\n skipPasswordValidation!: boolean;\r\n\r\n constructor(data?: IChangePasswordModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPassword = _data[\"currentPassword\"];\r\n this.confirmPassword = _data[\"confirmPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n this.skipPasswordValidation = _data[\"skipPasswordValidation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangePasswordModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangePasswordModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPassword\"] = this.currentPassword;\r\n data[\"confirmPassword\"] = this.confirmPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n data[\"skipPasswordValidation\"] = this.skipPasswordValidation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangePasswordModel {\r\n currentPassword: string | undefined;\r\n confirmPassword: string;\r\n newPassword: string;\r\n skipPasswordValidation: boolean;\r\n}\r\n\r\nexport class MemberDataModel implements IMemberDataModel {\r\n firstName!: string;\r\n lastName!: string;\r\n company!: string | undefined;\r\n title!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n postalCode!: string | undefined;\r\n address!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n\r\n constructor(data?: IMemberDataModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.title = _data[\"title\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.address = _data[\"address\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberDataModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberDataModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"title\"] = this.title;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"address\"] = this.address;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberDataModel {\r\n firstName: string;\r\n lastName: string;\r\n company: string | undefined;\r\n title: string | undefined;\r\n phoneNumber: string | undefined;\r\n postalCode: string | undefined;\r\n address: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n}\r\n\r\nexport class MemberNotificationModel implements IMemberNotificationModel {\r\n type!: MemberNotificationSettingType;\r\n enabled!: boolean;\r\n order!: number;\r\n description!: string;\r\n subDescription!: string;\r\n\r\n constructor(data?: IMemberNotificationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.enabled = _data[\"enabled\"];\r\n this.order = _data[\"order\"];\r\n this.description = _data[\"description\"];\r\n this.subDescription = _data[\"subDescription\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberNotificationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberNotificationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"enabled\"] = this.enabled;\r\n data[\"order\"] = this.order;\r\n data[\"description\"] = this.description;\r\n data[\"subDescription\"] = this.subDescription;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberNotificationModel {\r\n type: MemberNotificationSettingType;\r\n enabled: boolean;\r\n order: number;\r\n description: string;\r\n subDescription: string;\r\n}\r\n\r\n/** 0 = SpecialOffersAndEvents 1 = MonthlyNewsLetters 2 = MeetingReminders 3 = TextMessages 4 = SearchAlerts 5 = DemandSignal 6 = ProposalAlerts 7 = LiquidSpaceTutarials 8 = PreferWeeklyOverDaily 9 = ClaimProfile */\r\nexport enum MemberNotificationSettingType {\r\n SpecialOffersAndEvents = 0,\r\n MonthlyNewsLetters = 1,\r\n MeetingReminders = 2,\r\n TextMessages = 3,\r\n SearchAlerts = 4,\r\n DemandSignal = 5,\r\n ProposalAlerts = 6,\r\n LiquidSpaceTutarials = 7,\r\n PreferWeeklyOverDaily = 8,\r\n ClaimProfile = 9,\r\n}\r\n\r\nexport class ChangeEmailModel implements IChangeEmailModel {\r\n email!: string;\r\n confirmationPassword!: string | undefined;\r\n skipPasswordValidation!: boolean;\r\n\r\n constructor(data?: IChangeEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.confirmationPassword = _data[\"confirmationPassword\"];\r\n this.skipPasswordValidation = _data[\"skipPasswordValidation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"confirmationPassword\"] = this.confirmationPassword;\r\n data[\"skipPasswordValidation\"] = this.skipPasswordValidation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeEmailModel {\r\n email: string;\r\n confirmationPassword: string | undefined;\r\n skipPasswordValidation: boolean;\r\n}\r\n\r\nexport class SsoMemberModel implements ISsoMemberModel {\r\n ssoId!: string;\r\n ssoType!: SsoType;\r\n\r\n constructor(data?: ISsoMemberModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ssoId = _data[\"ssoId\"];\r\n this.ssoType = _data[\"ssoType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SsoMemberModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SsoMemberModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ssoId\"] = this.ssoId;\r\n data[\"ssoType\"] = this.ssoType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISsoMemberModel {\r\n ssoId: string;\r\n ssoType: SsoType;\r\n}\r\n\r\n/** 0 = LinkedIn 1 = Twitter 2 = Google 3 = SAML 4 = Facebook 5 = Apple 100 = None */\r\nexport enum SsoType {\r\n LinkedIn = 0,\r\n Twitter = 1,\r\n Google = 2,\r\n SAML = 3,\r\n Facebook = 4,\r\n Apple = 5,\r\n None = 100,\r\n}\r\n\r\n/** 0 = Visible 1 = Invisible */\r\nexport enum SocialVisibility {\r\n Visible = 0,\r\n Invisible = 1,\r\n}\r\n\r\nexport class ApiClientListItemViewModel implements IApiClientListItemViewModel {\r\n clientId!: string;\r\n name!: string | undefined;\r\n enterpriseAccountApiClientsCount!: number;\r\n isLegacyCompatibility!: boolean;\r\n\r\n constructor(data?: IApiClientListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.name = _data[\"name\"];\r\n this.enterpriseAccountApiClientsCount = _data[\"enterpriseAccountApiClientsCount\"];\r\n this.isLegacyCompatibility = _data[\"isLegacyCompatibility\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApiClientListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApiClientListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"name\"] = this.name;\r\n data[\"enterpriseAccountApiClientsCount\"] = this.enterpriseAccountApiClientsCount;\r\n data[\"isLegacyCompatibility\"] = this.isLegacyCompatibility;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IApiClientListItemViewModel {\r\n clientId: string;\r\n name: string | undefined;\r\n enterpriseAccountApiClientsCount: number;\r\n isLegacyCompatibility: boolean;\r\n}\r\n\r\nexport class EditableApiClientModel implements IEditableApiClientModel {\r\n enterpriseAccountIds!: string[];\r\n clientId!: string;\r\n clientSecret!: string;\r\n subscriptionKey!: string | undefined;\r\n description!: string | undefined;\r\n name!: string | undefined;\r\n allowedGrantTypes!: string[];\r\n allowedScopes!: string[];\r\n isLegacyCompatibility!: boolean;\r\n\r\n constructor(data?: IEditableApiClientModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"enterpriseAccountIds\"])) {\r\n this.enterpriseAccountIds = [] as any;\r\n for (let item of _data[\"enterpriseAccountIds\"])\r\n this.enterpriseAccountIds!.push(item);\r\n }\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.subscriptionKey = _data[\"subscriptionKey\"];\r\n this.description = _data[\"description\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"allowedGrantTypes\"])) {\r\n this.allowedGrantTypes = [] as any;\r\n for (let item of _data[\"allowedGrantTypes\"])\r\n this.allowedGrantTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"allowedScopes\"])) {\r\n this.allowedScopes = [] as any;\r\n for (let item of _data[\"allowedScopes\"])\r\n this.allowedScopes!.push(item);\r\n }\r\n this.isLegacyCompatibility = _data[\"isLegacyCompatibility\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditableApiClientModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditableApiClientModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.enterpriseAccountIds)) {\r\n data[\"enterpriseAccountIds\"] = [];\r\n for (let item of this.enterpriseAccountIds)\r\n data[\"enterpriseAccountIds\"].push(item);\r\n }\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"subscriptionKey\"] = this.subscriptionKey;\r\n data[\"description\"] = this.description;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.allowedGrantTypes)) {\r\n data[\"allowedGrantTypes\"] = [];\r\n for (let item of this.allowedGrantTypes)\r\n data[\"allowedGrantTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.allowedScopes)) {\r\n data[\"allowedScopes\"] = [];\r\n for (let item of this.allowedScopes)\r\n data[\"allowedScopes\"].push(item);\r\n }\r\n data[\"isLegacyCompatibility\"] = this.isLegacyCompatibility;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditableApiClientModel {\r\n enterpriseAccountIds: string[];\r\n clientId: string;\r\n clientSecret: string;\r\n subscriptionKey: string | undefined;\r\n description: string | undefined;\r\n name: string | undefined;\r\n allowedGrantTypes: string[];\r\n allowedScopes: string[];\r\n isLegacyCompatibility: boolean;\r\n}\r\n\r\nexport class BlogViewModel implements IBlogViewModel {\r\n link!: string;\r\n items!: BlogItem[];\r\n\r\n constructor(data?: IBlogViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.link = _data[\"link\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(BlogItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BlogViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BlogViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"link\"] = this.link;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBlogViewModel {\r\n link: string;\r\n items: BlogItem[];\r\n}\r\n\r\nexport class BlogItem implements IBlogItem {\r\n title!: string | undefined;\r\n link!: string | undefined;\r\n imgSource!: string | undefined;\r\n date!: string | undefined;\r\n categories!: string[];\r\n tags!: string[];\r\n category!: string | undefined;\r\n imgAlt!: string | undefined;\r\n summary!: string | undefined;\r\n readTime!: string | undefined;\r\n\r\n constructor(data?: IBlogItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.link = _data[\"link\"];\r\n this.imgSource = _data[\"imgSource\"];\r\n this.date = _data[\"date\"];\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(item);\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(item);\r\n }\r\n this.category = _data[\"category\"];\r\n this.imgAlt = _data[\"imgAlt\"];\r\n this.summary = _data[\"summary\"];\r\n this.readTime = _data[\"readTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BlogItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BlogItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"link\"] = this.link;\r\n data[\"imgSource\"] = this.imgSource;\r\n data[\"date\"] = this.date;\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item);\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item);\r\n }\r\n data[\"category\"] = this.category;\r\n data[\"imgAlt\"] = this.imgAlt;\r\n data[\"summary\"] = this.summary;\r\n data[\"readTime\"] = this.readTime;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBlogItem {\r\n title: string | undefined;\r\n link: string | undefined;\r\n imgSource: string | undefined;\r\n date: string | undefined;\r\n categories: string[];\r\n tags: string[];\r\n category: string | undefined;\r\n imgAlt: string | undefined;\r\n summary: string | undefined;\r\n readTime: string | undefined;\r\n}\r\n\r\n/** 0 = Homefeature 1 = Perspectives */\r\nexport enum BlogTag {\r\n Homefeature = 0,\r\n Perspectives = 1,\r\n}\r\n\r\nexport class BookingPrerequisitesValidationResult implements IBookingPrerequisitesValidationResult {\r\n isValid!: boolean;\r\n errors!: BookingPrerequisitesValidationPolicyError[];\r\n\r\n constructor(data?: IBookingPrerequisitesValidationResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isValid = _data[\"isValid\"];\r\n if (Array.isArray(_data[\"errors\"])) {\r\n this.errors = [] as any;\r\n for (let item of _data[\"errors\"])\r\n this.errors!.push(BookingPrerequisitesValidationPolicyError.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisitesValidationResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BookingPrerequisitesValidationResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isValid\"] = this.isValid;\r\n if (Array.isArray(this.errors)) {\r\n data[\"errors\"] = [];\r\n for (let item of this.errors)\r\n data[\"errors\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingPrerequisitesValidationResult {\r\n isValid: boolean;\r\n errors: BookingPrerequisitesValidationPolicyError[];\r\n}\r\n\r\nexport class BookingPrerequisitesValidationPolicyError implements IBookingPrerequisitesValidationPolicyError {\r\n message!: string;\r\n requiresLogin!: boolean;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBookingPrerequisitesValidationPolicyError) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BookingPrerequisitesValidationPolicyError\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.requiresLogin = _data[\"requiresLogin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisitesValidationPolicyError {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"BookingPrerequisitesValidationPolicyRequiresApprovalError\") {\r\n let result = new BookingPrerequisitesValidationPolicyRequiresApprovalError();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new BookingPrerequisitesValidationPolicyError();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"message\"] = this.message;\r\n data[\"requiresLogin\"] = this.requiresLogin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingPrerequisitesValidationPolicyError {\r\n message: string;\r\n requiresLogin: boolean;\r\n}\r\n\r\nexport class BookingPrerequisitesValidationPolicyRequiresApprovalError extends BookingPrerequisitesValidationPolicyError implements IBookingPrerequisitesValidationPolicyRequiresApprovalError {\r\n agreeToShareViewModel!: AgreeToShareViewModel;\r\n\r\n constructor(data?: IBookingPrerequisitesValidationPolicyRequiresApprovalError) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BookingPrerequisitesValidationPolicyRequiresApprovalError\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.agreeToShareViewModel = _data[\"agreeToShareViewModel\"] ? AgreeToShareViewModel.fromJS(_data[\"agreeToShareViewModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisitesValidationPolicyRequiresApprovalError {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BookingPrerequisitesValidationPolicyRequiresApprovalError();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreeToShareViewModel\"] = this.agreeToShareViewModel ? this.agreeToShareViewModel.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingPrerequisitesValidationPolicyRequiresApprovalError extends IBookingPrerequisitesValidationPolicyError {\r\n agreeToShareViewModel: AgreeToShareViewModel;\r\n}\r\n\r\nexport class AgreeToShareViewModel implements IAgreeToShareViewModel {\r\n memberId!: string;\r\n fullName!: string | undefined;\r\n company!: string | undefined;\r\n email!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n freeFormTextForApproval!: string | undefined;\r\n venueId!: string;\r\n\r\n constructor(data?: IAgreeToShareViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.freeFormTextForApproval = _data[\"freeFormTextForApproval\"];\r\n this.venueId = _data[\"venueId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreeToShareViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreeToShareViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"freeFormTextForApproval\"] = this.freeFormTextForApproval;\r\n data[\"venueId\"] = this.venueId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreeToShareViewModel {\r\n memberId: string;\r\n fullName: string | undefined;\r\n company: string | undefined;\r\n email: string | undefined;\r\n phoneNumber: string | undefined;\r\n freeFormTextForApproval: string | undefined;\r\n venueId: string;\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport abstract class BookingPrerequisites implements IBookingPrerequisites {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBookingPrerequisites) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BookingPrerequisites\";\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"NEW\") {\r\n let result = new NewReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"EDIT\") {\r\n let result = new EditReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"BASED\") {\r\n let result = new BasedOnReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'BookingPrerequisites' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n return data;\r\n }\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport interface IBookingPrerequisites {\r\n}\r\n\r\nexport class NewReservationBookingPrerequisites extends BookingPrerequisites implements INewReservationBookingPrerequisites {\r\n venueId!: string;\r\n workspaceId!: string;\r\n startDate!: string | undefined;\r\n startTime!: string | undefined;\r\n durationMinutes!: number | undefined;\r\n daysAhead!: number | undefined;\r\n /** Actual member ID to become owner of requested reservation.\r\nExecuting member should have booking delegation access for requested OwnerId. */\r\n ownerId!: string | undefined;\r\n guestCount!: number | undefined;\r\n\r\n constructor(data?: INewReservationBookingPrerequisites) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"NEW\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.daysAhead = _data[\"daysAhead\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.guestCount = _data[\"guestCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewReservationBookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"daysAhead\"] = this.daysAhead;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"guestCount\"] = this.guestCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewReservationBookingPrerequisites extends IBookingPrerequisites {\r\n venueId: string;\r\n workspaceId: string;\r\n startDate: string | undefined;\r\n startTime: string | undefined;\r\n durationMinutes: number | undefined;\r\n daysAhead: number | undefined;\r\n /** Actual member ID to become owner of requested reservation.\r\nExecuting member should have booking delegation access for requested OwnerId. */\r\n ownerId: string | undefined;\r\n guestCount: number | undefined;\r\n}\r\n\r\nexport class EditReservationBookingPrerequisites extends BookingPrerequisites implements IEditReservationBookingPrerequisites {\r\n /** Existing reservation ID to edit */\r\n reservationId!: string;\r\n /** Date of a signle reservation occurence from the recurrent reservation */\r\n occurenceDate!: string | undefined;\r\n\r\n constructor(data?: IEditReservationBookingPrerequisites) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"EDIT\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurenceDate = _data[\"occurenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditReservationBookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurenceDate\"] = this.occurenceDate;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditReservationBookingPrerequisites extends IBookingPrerequisites {\r\n /** Existing reservation ID to edit */\r\n reservationId: string;\r\n /** Date of a signle reservation occurence from the recurrent reservation */\r\n occurenceDate: string | undefined;\r\n}\r\n\r\nexport class BasedOnReservationBookingPrerequisites extends BookingPrerequisites implements IBasedOnReservationBookingPrerequisites {\r\n /** Existing reservation ID to be base for new reservation */\r\n reservationId!: string;\r\n\r\n constructor(data?: IBasedOnReservationBookingPrerequisites) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BASED\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BasedOnReservationBookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BasedOnReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBasedOnReservationBookingPrerequisites extends IBookingPrerequisites {\r\n /** Existing reservation ID to be base for new reservation */\r\n reservationId: string;\r\n}\r\n\r\nexport class BookingRepresenteeViewModel implements IBookingRepresenteeViewModel {\r\n id!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string;\r\n fullName!: string;\r\n\r\n constructor(data?: IBookingRepresenteeViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.fullName = _data[\"fullName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingRepresenteeViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BookingRepresenteeViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"fullName\"] = this.fullName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingRepresenteeViewModel {\r\n id: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string;\r\n fullName: string;\r\n}\r\n\r\nexport class WorkspaceAvailabilityCheckViewModel implements IWorkspaceAvailabilityCheckViewModel {\r\n venueId!: string;\r\n workspaceId!: string;\r\n startTime!: string;\r\n endTime!: string;\r\n desksCount!: number | undefined;\r\n editReservationId!: string | undefined;\r\n\r\n constructor(data?: IWorkspaceAvailabilityCheckViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.endTime = _data[\"endTime\"];\r\n this.desksCount = _data[\"desksCount\"];\r\n this.editReservationId = _data[\"editReservationId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceAvailabilityCheckViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceAvailabilityCheckViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"endTime\"] = this.endTime;\r\n data[\"desksCount\"] = this.desksCount;\r\n data[\"editReservationId\"] = this.editReservationId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceAvailabilityCheckViewModel {\r\n venueId: string;\r\n workspaceId: string;\r\n startTime: string;\r\n endTime: string;\r\n desksCount: number | undefined;\r\n editReservationId: string | undefined;\r\n}\r\n\r\nexport class FavoriteCollectionViewModel implements IFavoriteCollectionViewModel {\r\n id!: string;\r\n name!: string;\r\n numberOfSpaces!: number;\r\n order!: number;\r\n images!: string[];\r\n collectionType!: CollectionType;\r\n collaborators!: CollaboratorViewModel[];\r\n url!: string;\r\n\r\n constructor(data?: IFavoriteCollectionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.numberOfSpaces = _data[\"numberOfSpaces\"];\r\n this.order = _data[\"order\"];\r\n if (Array.isArray(_data[\"images\"])) {\r\n this.images = [] as any;\r\n for (let item of _data[\"images\"])\r\n this.images!.push(item);\r\n }\r\n this.collectionType = _data[\"collectionType\"];\r\n if (Array.isArray(_data[\"collaborators\"])) {\r\n this.collaborators = [] as any;\r\n for (let item of _data[\"collaborators\"])\r\n this.collaborators!.push(CollaboratorViewModel.fromJS(item));\r\n }\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FavoriteCollectionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FavoriteCollectionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"numberOfSpaces\"] = this.numberOfSpaces;\r\n data[\"order\"] = this.order;\r\n if (Array.isArray(this.images)) {\r\n data[\"images\"] = [];\r\n for (let item of this.images)\r\n data[\"images\"].push(item);\r\n }\r\n data[\"collectionType\"] = this.collectionType;\r\n if (Array.isArray(this.collaborators)) {\r\n data[\"collaborators\"] = [];\r\n for (let item of this.collaborators)\r\n data[\"collaborators\"].push(item.toJSON());\r\n }\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFavoriteCollectionViewModel {\r\n id: string;\r\n name: string;\r\n numberOfSpaces: number;\r\n order: number;\r\n images: string[];\r\n collectionType: CollectionType;\r\n collaborators: CollaboratorViewModel[];\r\n url: string;\r\n}\r\n\r\n/** 0 = None 1 = Regular 2 = Shared */\r\nexport enum CollectionType {\r\n None = 0,\r\n Regular = 1,\r\n Shared = 2,\r\n}\r\n\r\nexport class CollaboratorViewModel implements ICollaboratorViewModel {\r\n id!: string;\r\n fullName!: string;\r\n initials!: string;\r\n firstName!: string | undefined;\r\n email!: string;\r\n pictureURL!: string | undefined;\r\n\r\n constructor(data?: ICollaboratorViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.initials = _data[\"initials\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.email = _data[\"email\"];\r\n this.pictureURL = _data[\"pictureURL\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CollaboratorViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CollaboratorViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"initials\"] = this.initials;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"email\"] = this.email;\r\n data[\"pictureURL\"] = this.pictureURL;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICollaboratorViewModel {\r\n id: string;\r\n fullName: string;\r\n initials: string;\r\n firstName: string | undefined;\r\n email: string;\r\n pictureURL: string | undefined;\r\n}\r\n\r\nexport class VenueSearchResult implements IVenueSearchResult {\r\n venueId!: string;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n name!: string | undefined;\r\n address!: string | undefined;\r\n minPrice!: number;\r\n minPriceFormatted!: string | undefined;\r\n imageUrl!: string | undefined;\r\n imageUrls!: string[];\r\n workspaceTypesFormatted!: string[];\r\n url!: string | undefined;\r\n averageRating!: number;\r\n ratingCount!: number;\r\n hasHealthAndSafetyPolicy!: boolean;\r\n hasLiquidspacePro!: boolean;\r\n enterpriseHeadquarter!: boolean;\r\n enterprisePreferredLocation!: boolean;\r\n isExtendedNetwork!: boolean;\r\n workspaceSearchResults!: WorkspaceSearchResult[];\r\n defaultBookingMethod!: BookingMethod;\r\n defaultBookingMethodHourly!: BookingMethod;\r\n\r\n constructor(data?: IVenueSearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.name = _data[\"name\"];\r\n this.address = _data[\"address\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.minPriceFormatted = _data[\"minPriceFormatted\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n if (Array.isArray(_data[\"imageUrls\"])) {\r\n this.imageUrls = [] as any;\r\n for (let item of _data[\"imageUrls\"])\r\n this.imageUrls!.push(item);\r\n }\r\n if (Array.isArray(_data[\"workspaceTypesFormatted\"])) {\r\n this.workspaceTypesFormatted = [] as any;\r\n for (let item of _data[\"workspaceTypesFormatted\"])\r\n this.workspaceTypesFormatted!.push(item);\r\n }\r\n this.url = _data[\"url\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n this.ratingCount = _data[\"ratingCount\"];\r\n this.hasHealthAndSafetyPolicy = _data[\"hasHealthAndSafetyPolicy\"];\r\n this.hasLiquidspacePro = _data[\"hasLiquidspacePro\"];\r\n this.enterpriseHeadquarter = _data[\"enterpriseHeadquarter\"];\r\n this.enterprisePreferredLocation = _data[\"enterprisePreferredLocation\"];\r\n this.isExtendedNetwork = _data[\"isExtendedNetwork\"];\r\n if (Array.isArray(_data[\"workspaceSearchResults\"])) {\r\n this.workspaceSearchResults = [] as any;\r\n for (let item of _data[\"workspaceSearchResults\"])\r\n this.workspaceSearchResults!.push(WorkspaceSearchResult.fromJS(item));\r\n }\r\n this.defaultBookingMethod = _data[\"defaultBookingMethod\"];\r\n this.defaultBookingMethodHourly = _data[\"defaultBookingMethodHourly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"name\"] = this.name;\r\n data[\"address\"] = this.address;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"minPriceFormatted\"] = this.minPriceFormatted;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n if (Array.isArray(this.imageUrls)) {\r\n data[\"imageUrls\"] = [];\r\n for (let item of this.imageUrls)\r\n data[\"imageUrls\"].push(item);\r\n }\r\n if (Array.isArray(this.workspaceTypesFormatted)) {\r\n data[\"workspaceTypesFormatted\"] = [];\r\n for (let item of this.workspaceTypesFormatted)\r\n data[\"workspaceTypesFormatted\"].push(item);\r\n }\r\n data[\"url\"] = this.url;\r\n data[\"averageRating\"] = this.averageRating;\r\n data[\"ratingCount\"] = this.ratingCount;\r\n data[\"hasHealthAndSafetyPolicy\"] = this.hasHealthAndSafetyPolicy;\r\n data[\"hasLiquidspacePro\"] = this.hasLiquidspacePro;\r\n data[\"enterpriseHeadquarter\"] = this.enterpriseHeadquarter;\r\n data[\"enterprisePreferredLocation\"] = this.enterprisePreferredLocation;\r\n data[\"isExtendedNetwork\"] = this.isExtendedNetwork;\r\n if (Array.isArray(this.workspaceSearchResults)) {\r\n data[\"workspaceSearchResults\"] = [];\r\n for (let item of this.workspaceSearchResults)\r\n data[\"workspaceSearchResults\"].push(item.toJSON());\r\n }\r\n data[\"defaultBookingMethod\"] = this.defaultBookingMethod;\r\n data[\"defaultBookingMethodHourly\"] = this.defaultBookingMethodHourly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSearchResult {\r\n venueId: string;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n name: string | undefined;\r\n address: string | undefined;\r\n minPrice: number;\r\n minPriceFormatted: string | undefined;\r\n imageUrl: string | undefined;\r\n imageUrls: string[];\r\n workspaceTypesFormatted: string[];\r\n url: string | undefined;\r\n averageRating: number;\r\n ratingCount: number;\r\n hasHealthAndSafetyPolicy: boolean;\r\n hasLiquidspacePro: boolean;\r\n enterpriseHeadquarter: boolean;\r\n enterprisePreferredLocation: boolean;\r\n isExtendedNetwork: boolean;\r\n workspaceSearchResults: WorkspaceSearchResult[];\r\n defaultBookingMethod: BookingMethod;\r\n defaultBookingMethodHourly: BookingMethod;\r\n}\r\n\r\nexport class WorkspaceSearchResult implements IWorkspaceSearchResult {\r\n id!: string;\r\n name!: string | undefined;\r\n imgUrl!: string | undefined;\r\n url!: string | undefined;\r\n price!: number;\r\n priceAmount!: string | undefined;\r\n priceDescription!: string | undefined;\r\n spaceType!: SpaceType;\r\n spaceTypeFormatted!: string | undefined;\r\n capacity!: number;\r\n searchScoreHint!: number | undefined;\r\n averageRating!: number | undefined;\r\n\r\n constructor(data?: IWorkspaceSearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.imgUrl = _data[\"imgUrl\"];\r\n this.url = _data[\"url\"];\r\n this.price = _data[\"price\"];\r\n this.priceAmount = _data[\"priceAmount\"];\r\n this.priceDescription = _data[\"priceDescription\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeFormatted = _data[\"spaceTypeFormatted\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.searchScoreHint = _data[\"searchScoreHint\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceSearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceSearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"imgUrl\"] = this.imgUrl;\r\n data[\"url\"] = this.url;\r\n data[\"price\"] = this.price;\r\n data[\"priceAmount\"] = this.priceAmount;\r\n data[\"priceDescription\"] = this.priceDescription;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeFormatted\"] = this.spaceTypeFormatted;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"searchScoreHint\"] = this.searchScoreHint;\r\n data[\"averageRating\"] = this.averageRating;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceSearchResult {\r\n id: string;\r\n name: string | undefined;\r\n imgUrl: string | undefined;\r\n url: string | undefined;\r\n price: number;\r\n priceAmount: string | undefined;\r\n priceDescription: string | undefined;\r\n spaceType: SpaceType;\r\n spaceTypeFormatted: string | undefined;\r\n capacity: number;\r\n searchScoreHint: number | undefined;\r\n averageRating: number | undefined;\r\n}\r\n\r\n/** 0 = Any 1 = Meeting 2 = Office 4 = Desk 8 = Training 16 = TeamSpace 32 = PrivateOffice 64 = EventSpace 128 = OpenDesk 256 = DedicatedDesk 512 = Membership */\r\nexport enum SpaceType {\r\n Any = 0,\r\n Meeting = 1,\r\n Office = 2,\r\n Desk = 4,\r\n Training = 8,\r\n TeamSpace = 16,\r\n PrivateOffice = 32,\r\n EventSpace = 64,\r\n OpenDesk = 128,\r\n DedicatedDesk = 256,\r\n Membership = 512,\r\n}\r\n\r\n/** 0 = NotAvailable 1 = InquireNow 2 = BookItNow 3 = RequestToBook */\r\nexport enum BookingMethod {\r\n NotAvailable = 0,\r\n InquireNow = 1,\r\n BookItNow = 2,\r\n RequestToBook = 3,\r\n}\r\n\r\nexport class FavoriteCollectionWorkspacesViewModel implements IFavoriteCollectionWorkspacesViewModel {\r\n collection!: FavoriteCollectionViewModel;\r\n workspaces!: FavoriteWorkspaceViewModel[];\r\n\r\n constructor(data?: IFavoriteCollectionWorkspacesViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.collection = _data[\"collection\"] ? FavoriteCollectionViewModel.fromJS(_data[\"collection\"]) : undefined;\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(FavoriteWorkspaceViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FavoriteCollectionWorkspacesViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FavoriteCollectionWorkspacesViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"collection\"] = this.collection ? this.collection.toJSON() : undefined;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFavoriteCollectionWorkspacesViewModel {\r\n collection: FavoriteCollectionViewModel;\r\n workspaces: FavoriteWorkspaceViewModel[];\r\n}\r\n\r\nexport class FavoriteWorkspaceViewModel implements IFavoriteWorkspaceViewModel {\r\n order!: number;\r\n image!: string;\r\n priceAmount!: string;\r\n priceDescription!: string;\r\n address!: string;\r\n hasHealthAndSafetyPolicy!: boolean;\r\n liquidspacePro!: boolean;\r\n capacityFilterWithScenario!: string;\r\n nRatings!: number;\r\n averageRating!: number;\r\n status!: WorkspaceStatus;\r\n name!: string;\r\n id!: string;\r\n venueId!: string;\r\n url!: string;\r\n bookingMethod!: BookingMethod;\r\n reservationMethod!: WorkspaceReservationMethod;\r\n\r\n constructor(data?: IFavoriteWorkspaceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.order = _data[\"order\"];\r\n this.image = _data[\"image\"];\r\n this.priceAmount = _data[\"priceAmount\"];\r\n this.priceDescription = _data[\"priceDescription\"];\r\n this.address = _data[\"address\"];\r\n this.hasHealthAndSafetyPolicy = _data[\"hasHealthAndSafetyPolicy\"];\r\n this.liquidspacePro = _data[\"liquidspacePro\"];\r\n this.capacityFilterWithScenario = _data[\"capacityFilterWithScenario\"];\r\n this.nRatings = _data[\"nRatings\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n this.status = _data[\"status\"];\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.url = _data[\"url\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FavoriteWorkspaceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FavoriteWorkspaceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"order\"] = this.order;\r\n data[\"image\"] = this.image;\r\n data[\"priceAmount\"] = this.priceAmount;\r\n data[\"priceDescription\"] = this.priceDescription;\r\n data[\"address\"] = this.address;\r\n data[\"hasHealthAndSafetyPolicy\"] = this.hasHealthAndSafetyPolicy;\r\n data[\"liquidspacePro\"] = this.liquidspacePro;\r\n data[\"capacityFilterWithScenario\"] = this.capacityFilterWithScenario;\r\n data[\"nRatings\"] = this.nRatings;\r\n data[\"averageRating\"] = this.averageRating;\r\n data[\"status\"] = this.status;\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"url\"] = this.url;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFavoriteWorkspaceViewModel {\r\n order: number;\r\n image: string;\r\n priceAmount: string;\r\n priceDescription: string;\r\n address: string;\r\n hasHealthAndSafetyPolicy: boolean;\r\n liquidspacePro: boolean;\r\n capacityFilterWithScenario: string;\r\n nRatings: number;\r\n averageRating: number;\r\n status: WorkspaceStatus;\r\n name: string;\r\n id: string;\r\n venueId: string;\r\n url: string;\r\n bookingMethod: BookingMethod;\r\n reservationMethod: WorkspaceReservationMethod;\r\n}\r\n\r\n/** 0 = Unknown 1 = Hidden 2 = Private 3 = Public */\r\nexport enum WorkspaceStatus {\r\n Unknown = 0,\r\n Hidden = 1,\r\n Private = 2,\r\n Public = 3,\r\n}\r\n\r\n/** 0 = SpecificTimePeriod 1 = DayPass 2 = Period */\r\nexport enum WorkspaceReservationMethod {\r\n SpecificTimePeriod = 0,\r\n DayPass = 1,\r\n Period = 2,\r\n}\r\n\r\nexport class ShareCollectionModel implements IShareCollectionModel {\r\n collectionId!: string;\r\n collectionOwnerId!: string;\r\n collectionUrl!: string;\r\n brokerId!: string | undefined;\r\n bmgId!: string | undefined;\r\n shareModel!: ShareModel;\r\n\r\n constructor(data?: IShareCollectionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.collectionId = _data[\"collectionId\"];\r\n this.collectionOwnerId = _data[\"collectionOwnerId\"];\r\n this.collectionUrl = _data[\"collectionUrl\"];\r\n this.brokerId = _data[\"brokerId\"];\r\n this.bmgId = _data[\"bmgId\"];\r\n this.shareModel = _data[\"shareModel\"] ? ShareModel.fromJS(_data[\"shareModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareCollectionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareCollectionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"collectionId\"] = this.collectionId;\r\n data[\"collectionOwnerId\"] = this.collectionOwnerId;\r\n data[\"collectionUrl\"] = this.collectionUrl;\r\n data[\"brokerId\"] = this.brokerId;\r\n data[\"bmgId\"] = this.bmgId;\r\n data[\"shareModel\"] = this.shareModel ? this.shareModel.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IShareCollectionModel {\r\n collectionId: string;\r\n collectionOwnerId: string;\r\n collectionUrl: string;\r\n brokerId: string | undefined;\r\n bmgId: string | undefined;\r\n shareModel: ShareModel;\r\n}\r\n\r\nexport class ShareModel implements IShareModel {\r\n facebookShareUrl!: string;\r\n twitterShareUrl!: string;\r\n linkedInShareUrl!: string;\r\n\r\n constructor(data?: IShareModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.facebookShareUrl = _data[\"facebookShareUrl\"];\r\n this.twitterShareUrl = _data[\"twitterShareUrl\"];\r\n this.linkedInShareUrl = _data[\"linkedInShareUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"facebookShareUrl\"] = this.facebookShareUrl;\r\n data[\"twitterShareUrl\"] = this.twitterShareUrl;\r\n data[\"linkedInShareUrl\"] = this.linkedInShareUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IShareModel {\r\n facebookShareUrl: string;\r\n twitterShareUrl: string;\r\n linkedInShareUrl: string;\r\n}\r\n\r\nexport class ConciergeRequestViewModel implements IConciergeRequestViewModel {\r\n venueId!: string;\r\n spaceTypes!: SpaceType;\r\n reservationMethod!: WorkspaceReservationMethod;\r\n phoneNumber!: string | undefined;\r\n company!: string | undefined;\r\n email!: string | undefined;\r\n fullName!: string | undefined;\r\n searchFilter!: WorkspaceFilterViewModel | undefined;\r\n\r\n constructor(data?: IConciergeRequestViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.searchFilter = _data[\"searchFilter\"] ? WorkspaceFilterViewModel.fromJS(_data[\"searchFilter\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConciergeRequestViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConciergeRequestViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"searchFilter\"] = this.searchFilter ? this.searchFilter.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConciergeRequestViewModel {\r\n venueId: string;\r\n spaceTypes: SpaceType;\r\n reservationMethod: WorkspaceReservationMethod;\r\n phoneNumber: string | undefined;\r\n company: string | undefined;\r\n email: string | undefined;\r\n fullName: string | undefined;\r\n searchFilter: WorkspaceFilterViewModel | undefined;\r\n}\r\n\r\nexport class WorkspaceFilterViewModel implements IWorkspaceFilterViewModel {\r\n reservationLengthMinutes!: number | undefined;\r\n startTime!: string | undefined;\r\n reservationStart!: string | undefined;\r\n amenities!: string | undefined;\r\n workspaceCapacity!: number | undefined;\r\n spaceTypes!: SpaceType;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n\r\n constructor(data?: IWorkspaceFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationLengthMinutes = _data[\"reservationLengthMinutes\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.reservationStart = _data[\"reservationStart\"];\r\n this.amenities = _data[\"amenities\"];\r\n this.workspaceCapacity = _data[\"workspaceCapacity\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceFilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceFilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationLengthMinutes\"] = this.reservationLengthMinutes;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"reservationStart\"] = this.reservationStart;\r\n data[\"amenities\"] = this.amenities;\r\n data[\"workspaceCapacity\"] = this.workspaceCapacity;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceFilterViewModel {\r\n reservationLengthMinutes: number | undefined;\r\n startTime: string | undefined;\r\n reservationStart: string | undefined;\r\n amenities: string | undefined;\r\n workspaceCapacity: number | undefined;\r\n spaceTypes: SpaceType;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n}\r\n\r\nexport class ClassesAndEnumsToConvert implements IClassesAndEnumsToConvert {\r\n workspaceRequestType!: WorkspaceRequestType;\r\n workspaceReqEnterpriseAccountMembersImportModeuestType!: EnterpriseAccountMembersImportMode;\r\n\r\n constructor(data?: IClassesAndEnumsToConvert) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceRequestType = _data[\"workspaceRequestType\"];\r\n this.workspaceReqEnterpriseAccountMembersImportModeuestType = _data[\"workspaceReqEnterpriseAccountMembersImportModeuestType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClassesAndEnumsToConvert {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClassesAndEnumsToConvert();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceRequestType\"] = this.workspaceRequestType;\r\n data[\"workspaceReqEnterpriseAccountMembersImportModeuestType\"] = this.workspaceReqEnterpriseAccountMembersImportModeuestType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClassesAndEnumsToConvert {\r\n workspaceRequestType: WorkspaceRequestType;\r\n workspaceReqEnterpriseAccountMembersImportModeuestType: EnterpriseAccountMembersImportMode;\r\n}\r\n\r\n/** 0 = Inquire 1 = Tour 2 = Book */\r\nexport enum WorkspaceRequestType {\r\n Inquire = 0,\r\n Tour = 1,\r\n Book = 2,\r\n}\r\n\r\n/** 0 = AddNew 1 = Remove 2 = Update 3 = Suspend */\r\nexport enum EnterpriseAccountMembersImportMode {\r\n AddNew = 0,\r\n Remove = 1,\r\n Update = 2,\r\n Suspend = 3,\r\n}\r\n\r\nexport class MarketingStats implements IMarketingStats {\r\n teamsAndProfessionals!: number;\r\n verifiedVenuePartners!: number;\r\n millionTransactions!: number;\r\n citiesCounting!: number;\r\n workspacesCount!: number;\r\n\r\n constructor(data?: IMarketingStats) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.teamsAndProfessionals = _data[\"teamsAndProfessionals\"];\r\n this.verifiedVenuePartners = _data[\"verifiedVenuePartners\"];\r\n this.millionTransactions = _data[\"millionTransactions\"];\r\n this.citiesCounting = _data[\"citiesCounting\"];\r\n this.workspacesCount = _data[\"workspacesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketingStats {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketingStats();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"teamsAndProfessionals\"] = this.teamsAndProfessionals;\r\n data[\"verifiedVenuePartners\"] = this.verifiedVenuePartners;\r\n data[\"millionTransactions\"] = this.millionTransactions;\r\n data[\"citiesCounting\"] = this.citiesCounting;\r\n data[\"workspacesCount\"] = this.workspacesCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketingStats {\r\n teamsAndProfessionals: number;\r\n verifiedVenuePartners: number;\r\n millionTransactions: number;\r\n citiesCounting: number;\r\n workspacesCount: number;\r\n}\r\n\r\nexport class ConnectionInfo implements IConnectionInfo {\r\n targetId!: string;\r\n connectionMode!: ConnectionMode;\r\n\r\n constructor(data?: IConnectionInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.targetId = _data[\"targetId\"];\r\n this.connectionMode = _data[\"connectionMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectionInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectionInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"targetId\"] = this.targetId;\r\n data[\"connectionMode\"] = this.connectionMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectionInfo {\r\n targetId: string;\r\n connectionMode: ConnectionMode;\r\n}\r\n\r\n/** 0 = Following 1 = Followed */\r\nexport enum ConnectionMode {\r\n Following = 0,\r\n Followed = 1,\r\n}\r\n\r\n/** 1 = Following 2 = Followed 4 = Pending 8 = Approved 255 = All */\r\nexport enum ConnectionKind {\r\n Following = 1,\r\n Followed = 2,\r\n Pending = 4,\r\n Approved = 8,\r\n All = 255,\r\n}\r\n\r\nexport class CostDetailsViewModel implements ICostDetailsViewModel {\r\n /** Does pricing schema has zeroed prices? */\r\n isFreePricingSchema!: boolean;\r\n currency!: CurrencyType;\r\n subtotal!: number;\r\n salesPrice!: number;\r\n salesTax!: number;\r\n totalPrice!: number;\r\n amountDue!: number;\r\n credit!: number | undefined;\r\n duration!: string;\r\n pricingComponents!: string[];\r\n budgetLimit!: BudgetLimitModel | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: ICostDetailsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CostDetailsViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isFreePricingSchema = _data[\"isFreePricingSchema\"];\r\n this.currency = _data[\"currency\"];\r\n this.subtotal = _data[\"subtotal\"];\r\n this.salesPrice = _data[\"salesPrice\"];\r\n this.salesTax = _data[\"salesTax\"];\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.amountDue = _data[\"amountDue\"];\r\n this.credit = _data[\"credit\"];\r\n this.duration = _data[\"duration\"];\r\n if (Array.isArray(_data[\"pricingComponents\"])) {\r\n this.pricingComponents = [] as any;\r\n for (let item of _data[\"pricingComponents\"])\r\n this.pricingComponents!.push(item);\r\n }\r\n this.budgetLimit = _data[\"budgetLimit\"] ? BudgetLimitModel.fromJS(_data[\"budgetLimit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"HourlyCostDetailsViewModel\") {\r\n let result = new HourlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"MonthlyCostDetailsViewModel\") {\r\n let result = new MonthlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new CostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"isFreePricingSchema\"] = this.isFreePricingSchema;\r\n data[\"currency\"] = this.currency;\r\n data[\"subtotal\"] = this.subtotal;\r\n data[\"salesPrice\"] = this.salesPrice;\r\n data[\"salesTax\"] = this.salesTax;\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"amountDue\"] = this.amountDue;\r\n data[\"credit\"] = this.credit;\r\n data[\"duration\"] = this.duration;\r\n if (Array.isArray(this.pricingComponents)) {\r\n data[\"pricingComponents\"] = [];\r\n for (let item of this.pricingComponents)\r\n data[\"pricingComponents\"].push(item);\r\n }\r\n data[\"budgetLimit\"] = this.budgetLimit ? this.budgetLimit.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostDetailsViewModel {\r\n /** Does pricing schema has zeroed prices? */\r\n isFreePricingSchema: boolean;\r\n currency: CurrencyType;\r\n subtotal: number;\r\n salesPrice: number;\r\n salesTax: number;\r\n totalPrice: number;\r\n amountDue: number;\r\n credit: number | undefined;\r\n duration: string;\r\n pricingComponents: string[];\r\n budgetLimit: BudgetLimitModel | undefined;\r\n}\r\n\r\n/** 0 = USD 1 = AUD 2 = CAD 3 = UK 3 = GBP 4 = AED 5 = AFN 6 = ALL 7 = AMD 8 = ANG 9 = AOA 10 = ARS 11 = AWG 12 = AZN 13 = BAM 14 = BBD 15 = BDT 16 = BGN 17 = BHD 18 = BIF 19 = BMD 20 = BND 21 = BOB 22 = BRL 23 = BSD 24 = BTN 25 = BWP 26 = BYN 27 = BZD 28 = CDF 29 = CHF 30 = CLP 31 = CNY 32 = COP 33 = CRC 35 = CUP 36 = CVE 37 = CZK 38 = DJF 39 = DKK 40 = DOP 41 = DZD 42 = EGP 43 = ERN 44 = ETB 45 = EUR 46 = FJD 47 = FKP 48 = GEL 50 = GHS 51 = GIP 52 = GMD 53 = GNF 54 = GTQ 55 = GYD 56 = HKD 57 = HNL 58 = HRK 59 = HTG 60 = HUF 61 = IDR 62 = ILS 64 = INR 65 = IQD 66 = IRR 67 = ISK 69 = JMD 70 = JOD 71 = JPY 72 = KES 73 = KGS 74 = KHR 75 = KMF 76 = KPW 77 = KRW 78 = KWD 79 = KYD 80 = KZT 81 = LAK 82 = LBP 83 = LKR 84 = LRD 86 = LYD 87 = MAD 88 = MDL 89 = MGA 90 = MKD 91 = MMK 92 = MNT 93 = MOP 94 = MRU 95 = MUR 96 = MVR 97 = MWK 98 = MXN 99 = MYR 100 = MZN 101 = NAD 102 = NGN 103 = NIO 104 = NOK 105 = NPR 106 = NZD 107 = OMR 108 = PAB 109 = PEN 110 = PGK 111 = PHP 112 = PKR 113 = PLN 114 = PYG 115 = QAR 116 = RON 117 = RSD 118 = RUB 119 = RWF 120 = SAR 121 = SBD 122 = SCR 123 = SDG 124 = SEK 125 = SGD 126 = SHP 127 = SLL 128 = SOS 130 = SRD 131 = STN 133 = SYP 134 = SZL 135 = THB 136 = TJS 137 = TMT 138 = TND 139 = TOP 140 = TRY 141 = TTD 143 = TWD 144 = TZS 145 = UAH 146 = UGX 147 = UYU 148 = UZS 150 = VND 151 = VUV 152 = WST 153 = XAF 154 = XCD 156 = XOF 157 = XPF 158 = YER 159 = ZAR 160 = ZMW 162 = SSP 163 = VES */\r\nexport enum CurrencyType {\r\n USD = 0,\r\n AUD = 1,\r\n CAD = 2,\r\n UK = 3,\r\n GBP = 3,\r\n AED = 4,\r\n AFN = 5,\r\n ALL = 6,\r\n AMD = 7,\r\n ANG = 8,\r\n AOA = 9,\r\n ARS = 10,\r\n AWG = 11,\r\n AZN = 12,\r\n BAM = 13,\r\n BBD = 14,\r\n BDT = 15,\r\n BGN = 16,\r\n BHD = 17,\r\n BIF = 18,\r\n BMD = 19,\r\n BND = 20,\r\n BOB = 21,\r\n BRL = 22,\r\n BSD = 23,\r\n BTN = 24,\r\n BWP = 25,\r\n BYN = 26,\r\n BZD = 27,\r\n CDF = 28,\r\n CHF = 29,\r\n CLP = 30,\r\n CNY = 31,\r\n COP = 32,\r\n CRC = 33,\r\n CUP = 35,\r\n CVE = 36,\r\n CZK = 37,\r\n DJF = 38,\r\n DKK = 39,\r\n DOP = 40,\r\n DZD = 41,\r\n EGP = 42,\r\n ERN = 43,\r\n ETB = 44,\r\n EUR = 45,\r\n FJD = 46,\r\n FKP = 47,\r\n GEL = 48,\r\n GHS = 50,\r\n GIP = 51,\r\n GMD = 52,\r\n GNF = 53,\r\n GTQ = 54,\r\n GYD = 55,\r\n HKD = 56,\r\n HNL = 57,\r\n HRK = 58,\r\n HTG = 59,\r\n HUF = 60,\r\n IDR = 61,\r\n ILS = 62,\r\n INR = 64,\r\n IQD = 65,\r\n IRR = 66,\r\n ISK = 67,\r\n JMD = 69,\r\n JOD = 70,\r\n JPY = 71,\r\n KES = 72,\r\n KGS = 73,\r\n KHR = 74,\r\n KMF = 75,\r\n KPW = 76,\r\n KRW = 77,\r\n KWD = 78,\r\n KYD = 79,\r\n KZT = 80,\r\n LAK = 81,\r\n LBP = 82,\r\n LKR = 83,\r\n LRD = 84,\r\n LYD = 86,\r\n MAD = 87,\r\n MDL = 88,\r\n MGA = 89,\r\n MKD = 90,\r\n MMK = 91,\r\n MNT = 92,\r\n MOP = 93,\r\n MRU = 94,\r\n MUR = 95,\r\n MVR = 96,\r\n MWK = 97,\r\n MXN = 98,\r\n MYR = 99,\r\n MZN = 100,\r\n NAD = 101,\r\n NGN = 102,\r\n NIO = 103,\r\n NOK = 104,\r\n NPR = 105,\r\n NZD = 106,\r\n OMR = 107,\r\n PAB = 108,\r\n PEN = 109,\r\n PGK = 110,\r\n PHP = 111,\r\n PKR = 112,\r\n PLN = 113,\r\n PYG = 114,\r\n QAR = 115,\r\n RON = 116,\r\n RSD = 117,\r\n RUB = 118,\r\n RWF = 119,\r\n SAR = 120,\r\n SBD = 121,\r\n SCR = 122,\r\n SDG = 123,\r\n SEK = 124,\r\n SGD = 125,\r\n SHP = 126,\r\n SLL = 127,\r\n SOS = 128,\r\n SRD = 130,\r\n STN = 131,\r\n SYP = 133,\r\n SZL = 134,\r\n THB = 135,\r\n TJS = 136,\r\n TMT = 137,\r\n TND = 138,\r\n TOP = 139,\r\n TRY = 140,\r\n TTD = 141,\r\n TWD = 143,\r\n TZS = 144,\r\n UAH = 145,\r\n UGX = 146,\r\n UYU = 147,\r\n UZS = 148,\r\n VND = 150,\r\n VUV = 151,\r\n WST = 152,\r\n XAF = 153,\r\n XCD = 154,\r\n XOF = 156,\r\n XPF = 157,\r\n YER = 158,\r\n ZAR = 159,\r\n ZMW = 160,\r\n SSP = 162,\r\n VES = 163,\r\n}\r\n\r\nexport class BudgetLimitModel implements IBudgetLimitModel {\r\n warningMessageHtml!: string | undefined;\r\n canExceedMaxBudget!: boolean;\r\n\r\n constructor(data?: IBudgetLimitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.warningMessageHtml = _data[\"warningMessageHtml\"];\r\n this.canExceedMaxBudget = _data[\"canExceedMaxBudget\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BudgetLimitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BudgetLimitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"warningMessageHtml\"] = this.warningMessageHtml;\r\n data[\"canExceedMaxBudget\"] = this.canExceedMaxBudget;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBudgetLimitModel {\r\n warningMessageHtml: string | undefined;\r\n canExceedMaxBudget: boolean;\r\n}\r\n\r\nexport class HourlyCostDetailsViewModel extends CostDetailsViewModel implements IHourlyCostDetailsViewModel {\r\n incidentalsTotalWithTax!: number | undefined;\r\n serviceCharge!: number;\r\n lessDiscount!: number;\r\n\r\n constructor(data?: IHourlyCostDetailsViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"HourlyCostDetailsViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.incidentalsTotalWithTax = _data[\"incidentalsTotalWithTax\"];\r\n this.serviceCharge = _data[\"serviceCharge\"];\r\n this.lessDiscount = _data[\"lessDiscount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyCostDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"incidentalsTotalWithTax\"] = this.incidentalsTotalWithTax;\r\n data[\"serviceCharge\"] = this.serviceCharge;\r\n data[\"lessDiscount\"] = this.lessDiscount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyCostDetailsViewModel extends ICostDetailsViewModel {\r\n incidentalsTotalWithTax: number | undefined;\r\n serviceCharge: number;\r\n lessDiscount: number;\r\n}\r\n\r\nexport class MonthlyCostDetailsViewModel extends CostDetailsViewModel implements IMonthlyCostDetailsViewModel {\r\n proRated!: number | undefined;\r\n monthlyPrices!: { [key: string]: number; };\r\n nextMonthPrice!: number;\r\n setUpFee!: number | undefined;\r\n editFee!: number | undefined;\r\n serviceRetainer!: number | undefined;\r\n\r\n constructor(data?: IMonthlyCostDetailsViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"MonthlyCostDetailsViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.proRated = _data[\"proRated\"];\r\n if (_data[\"monthlyPrices\"]) {\r\n this.monthlyPrices = {} as any;\r\n for (let key in _data[\"monthlyPrices\"]) {\r\n if (_data[\"monthlyPrices\"].hasOwnProperty(key))\r\n (this.monthlyPrices)![key] = _data[\"monthlyPrices\"][key];\r\n }\r\n }\r\n this.nextMonthPrice = _data[\"nextMonthPrice\"];\r\n this.setUpFee = _data[\"setUpFee\"];\r\n this.editFee = _data[\"editFee\"];\r\n this.serviceRetainer = _data[\"serviceRetainer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MonthlyCostDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MonthlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"proRated\"] = this.proRated;\r\n if (this.monthlyPrices) {\r\n data[\"monthlyPrices\"] = {};\r\n for (let key in this.monthlyPrices) {\r\n if (this.monthlyPrices.hasOwnProperty(key))\r\n (data[\"monthlyPrices\"])[key] = (this.monthlyPrices)[key];\r\n }\r\n }\r\n data[\"nextMonthPrice\"] = this.nextMonthPrice;\r\n data[\"setUpFee\"] = this.setUpFee;\r\n data[\"editFee\"] = this.editFee;\r\n data[\"serviceRetainer\"] = this.serviceRetainer;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMonthlyCostDetailsViewModel extends ICostDetailsViewModel {\r\n proRated: number | undefined;\r\n monthlyPrices: { [key: string]: number; };\r\n nextMonthPrice: number;\r\n setUpFee: number | undefined;\r\n editFee: number | undefined;\r\n serviceRetainer: number | undefined;\r\n}\r\n\r\nexport class CostRequest implements ICostRequest {\r\n venueId!: string;\r\n workspaceId!: string;\r\n reservationId!: string | undefined;\r\n occurrenceDate!: string | undefined;\r\n applyDate!: string | undefined;\r\n ownerId!: string | undefined;\r\n reservationDetails!: ReservationDetails | undefined;\r\n couponCode!: string | undefined;\r\n changeWorkspaceRequest!: ChangeWorkspaceRequest | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences!: ReservationIntegrationReferences | undefined;\r\n\r\n constructor(data?: ICostRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.applyDate = _data[\"applyDate\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.reservationDetails = _data[\"reservationDetails\"] ? ReservationDetails.fromJS(_data[\"reservationDetails\"]) : undefined;\r\n this.couponCode = _data[\"couponCode\"];\r\n this.changeWorkspaceRequest = _data[\"changeWorkspaceRequest\"] ? ChangeWorkspaceRequest.fromJS(_data[\"changeWorkspaceRequest\"]) : undefined;\r\n this.integrationReferences = _data[\"integrationReferences\"] ? ReservationIntegrationReferences.fromJS(_data[\"integrationReferences\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"applyDate\"] = this.applyDate;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"reservationDetails\"] = this.reservationDetails ? this.reservationDetails.toJSON() : undefined;\r\n data[\"couponCode\"] = this.couponCode;\r\n data[\"changeWorkspaceRequest\"] = this.changeWorkspaceRequest ? this.changeWorkspaceRequest.toJSON() : undefined;\r\n data[\"integrationReferences\"] = this.integrationReferences ? this.integrationReferences.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostRequest {\r\n venueId: string;\r\n workspaceId: string;\r\n reservationId: string | undefined;\r\n occurrenceDate: string | undefined;\r\n applyDate: string | undefined;\r\n ownerId: string | undefined;\r\n reservationDetails: ReservationDetails | undefined;\r\n couponCode: string | undefined;\r\n changeWorkspaceRequest: ChangeWorkspaceRequest | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences: ReservationIntegrationReferences | undefined;\r\n}\r\n\r\nexport abstract class ReservationDetails implements IReservationDetails {\r\n startDate!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startDate = _data[\"startDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"RecurrentReservationDetails\") {\r\n throw new Error(\"The abstract class 'RecurrentReservationDetails' cannot be instantiated.\");\r\n }\r\n if (data[\"discriminator\"] === \"HourlyReservationDetails\") {\r\n let result = new HourlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DaypassReservationDetails\") {\r\n let result = new DaypassReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"MonthlyReservationDetails\") {\r\n let result = new MonthlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"GenericReservationDetails\") {\r\n let result = new GenericReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationDetails' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"startDate\"] = this.startDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationDetails {\r\n startDate: string;\r\n}\r\n\r\nexport abstract class RecurrentReservationDetails extends ReservationDetails implements IRecurrentReservationDetails {\r\n recurrencePattern!: string | undefined;\r\n recurrenceExcludedDates!: string[];\r\n\r\n constructor(data?: IRecurrentReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"RecurrentReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.recurrencePattern = _data[\"recurrencePattern\"];\r\n if (Array.isArray(_data[\"recurrenceExcludedDates\"])) {\r\n this.recurrenceExcludedDates = [] as any;\r\n for (let item of _data[\"recurrenceExcludedDates\"])\r\n this.recurrenceExcludedDates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RecurrentReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"HourlyReservationDetails\") {\r\n let result = new HourlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DaypassReservationDetails\") {\r\n let result = new DaypassReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'RecurrentReservationDetails' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recurrencePattern\"] = this.recurrencePattern;\r\n if (Array.isArray(this.recurrenceExcludedDates)) {\r\n data[\"recurrenceExcludedDates\"] = [];\r\n for (let item of this.recurrenceExcludedDates)\r\n data[\"recurrenceExcludedDates\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRecurrentReservationDetails extends IReservationDetails {\r\n recurrencePattern: string | undefined;\r\n recurrenceExcludedDates: string[];\r\n}\r\n\r\nexport class HourlyReservationDetails extends RecurrentReservationDetails implements IHourlyReservationDetails {\r\n startTime!: string;\r\n durationMinutes!: number;\r\n\r\n constructor(data?: IHourlyReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"HourlyReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.startTime = _data[\"startTime\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startTime\"] = this.startTime;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyReservationDetails extends IRecurrentReservationDetails {\r\n startTime: string;\r\n durationMinutes: number;\r\n}\r\n\r\nexport class DaypassReservationDetails extends RecurrentReservationDetails implements IDaypassReservationDetails {\r\n quantity!: number;\r\n\r\n constructor(data?: IDaypassReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"DaypassReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.quantity = _data[\"quantity\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DaypassReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DaypassReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"quantity\"] = this.quantity;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDaypassReservationDetails extends IRecurrentReservationDetails {\r\n quantity: number;\r\n}\r\n\r\nexport class MonthlyReservationDetails extends ReservationDetails implements IMonthlyReservationDetails {\r\n /** In months */\r\n term!: number;\r\n autoRenew!: boolean;\r\n quantity!: number | undefined;\r\n\r\n constructor(data?: IMonthlyReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"MonthlyReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.term = _data[\"term\"];\r\n this.autoRenew = _data[\"autoRenew\"];\r\n this.quantity = _data[\"quantity\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MonthlyReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MonthlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"term\"] = this.term;\r\n data[\"autoRenew\"] = this.autoRenew;\r\n data[\"quantity\"] = this.quantity;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMonthlyReservationDetails extends IReservationDetails {\r\n /** In months */\r\n term: number;\r\n autoRenew: boolean;\r\n quantity: number | undefined;\r\n}\r\n\r\nexport class GenericReservationDetails extends ReservationDetails implements IGenericReservationDetails {\r\n startTime!: string | undefined;\r\n\r\n constructor(data?: IGenericReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"GenericReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.startTime = _data[\"startTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GenericReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GenericReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startTime\"] = this.startTime;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGenericReservationDetails extends IReservationDetails {\r\n startTime: string | undefined;\r\n}\r\n\r\nexport class ChangeWorkspaceRequest implements IChangeWorkspaceRequest {\r\n workspaceId!: string;\r\n useExistingPrice!: boolean;\r\n\r\n constructor(data?: IChangeWorkspaceRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.useExistingPrice = _data[\"useExistingPrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeWorkspaceRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeWorkspaceRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"useExistingPrice\"] = this.useExistingPrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeWorkspaceRequest {\r\n workspaceId: string;\r\n useExistingPrice: boolean;\r\n}\r\n\r\nexport abstract class ReservationIntegrationReferences implements IReservationIntegrationReferences {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationIntegrationReferences) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationIntegrationReferences\";\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ReservationIntegrationReferences {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"RegusIntegrationReferences\") {\r\n let result = new RegusIntegrationReferences();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationIntegrationReferences' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationIntegrationReferences {\r\n}\r\n\r\nexport class RegusIntegrationReferences extends ReservationIntegrationReferences implements IRegusIntegrationReferences {\r\n spaceReferenceToken!: string | undefined;\r\n\r\n constructor(data?: IRegusIntegrationReferences) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"RegusIntegrationReferences\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.spaceReferenceToken = _data[\"spaceReferenceToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegusIntegrationReferences {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegusIntegrationReferences();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"spaceReferenceToken\"] = this.spaceReferenceToken;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRegusIntegrationReferences extends IReservationIntegrationReferences {\r\n spaceReferenceToken: string | undefined;\r\n}\r\n\r\nexport class CountryCodeBase implements ICountryCodeBase {\r\n value!: string;\r\n text!: string;\r\n\r\n constructor(data?: ICountryCodeBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountryCodeBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountryCodeBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountryCodeBase {\r\n value: string;\r\n text: string;\r\n}\r\n\r\nexport class CountryCode extends CountryCodeBase implements ICountryCode {\r\n stateCodes!: StateCode[];\r\n\r\n constructor(data?: ICountryCode) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"stateCodes\"])) {\r\n this.stateCodes = [] as any;\r\n for (let item of _data[\"stateCodes\"])\r\n this.stateCodes!.push(StateCode.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountryCode {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountryCode();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.stateCodes)) {\r\n data[\"stateCodes\"] = [];\r\n for (let item of this.stateCodes)\r\n data[\"stateCodes\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountryCode extends ICountryCodeBase {\r\n stateCodes: StateCode[];\r\n}\r\n\r\nexport class StateCode implements IStateCode {\r\n value!: string;\r\n text!: string;\r\n\r\n constructor(data?: IStateCode) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StateCode {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StateCode();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStateCode {\r\n value: string;\r\n text: string;\r\n}\r\n\r\nexport class WaitlistRequest extends RecaptchaRequestBase implements IWaitlistRequest {\r\n fullName!: string;\r\n email!: string;\r\n phoneNumber!: string | undefined;\r\n venueName!: string;\r\n locationCount!: number;\r\n comment!: string | undefined;\r\n\r\n constructor(data?: IWaitlistRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.locationCount = _data[\"locationCount\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WaitlistRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WaitlistRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"locationCount\"] = this.locationCount;\r\n data[\"comment\"] = this.comment;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWaitlistRequest extends IRecaptchaRequestBase {\r\n fullName: string;\r\n email: string;\r\n phoneNumber: string | undefined;\r\n venueName: string;\r\n locationCount: number;\r\n comment: string | undefined;\r\n}\r\n\r\nexport class DataRemovalRequest implements IDataRemovalRequest {\r\n country!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n reason!: string | undefined;\r\n isAcknowledgedProcessing!: boolean;\r\n isAcknowledgedNotProcessing!: boolean;\r\n signedOn!: string;\r\n signature!: string | undefined;\r\n recaptchaToken!: string | undefined;\r\n\r\n constructor(data?: IDataRemovalRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.reason = _data[\"reason\"];\r\n this.isAcknowledgedProcessing = _data[\"isAcknowledgedProcessing\"];\r\n this.isAcknowledgedNotProcessing = _data[\"isAcknowledgedNotProcessing\"];\r\n this.signedOn = _data[\"signedOn\"];\r\n this.signature = _data[\"signature\"];\r\n this.recaptchaToken = _data[\"recaptchaToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataRemovalRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataRemovalRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"reason\"] = this.reason;\r\n data[\"isAcknowledgedProcessing\"] = this.isAcknowledgedProcessing;\r\n data[\"isAcknowledgedNotProcessing\"] = this.isAcknowledgedNotProcessing;\r\n data[\"signedOn\"] = this.signedOn;\r\n data[\"signature\"] = this.signature;\r\n data[\"recaptchaToken\"] = this.recaptchaToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDataRemovalRequest {\r\n country: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n reason: string | undefined;\r\n isAcknowledgedProcessing: boolean;\r\n isAcknowledgedNotProcessing: boolean;\r\n signedOn: string;\r\n signature: string | undefined;\r\n recaptchaToken: string | undefined;\r\n}\r\n\r\n/** EA member data */\r\nexport class ActivityReservationInternalModel implements IActivityReservationInternalModel {\r\n startDate!: string;\r\n endDate!: string | undefined;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n venueId!: string;\r\n venueName!: string;\r\n reservationType!: ReservationMethod;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId!: string;\r\n occurrenceDate!: string | undefined;\r\n country!: string;\r\n state!: string | undefined;\r\n latitude!: number;\r\n longitude!: number;\r\n venueXPPUrl!: string;\r\n guestsCount!: number;\r\n teamId!: string;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IActivityReservationInternalModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.reservationType = _data[\"reservationType\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.country = _data[\"country\"];\r\n this.state = _data[\"state\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.venueXPPUrl = _data[\"venueXPPUrl\"];\r\n this.guestsCount = _data[\"guestsCount\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReservationInternalModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReservationInternalModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"country\"] = this.country;\r\n data[\"state\"] = this.state;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"venueXPPUrl\"] = this.venueXPPUrl;\r\n data[\"guestsCount\"] = this.guestsCount;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\n/** EA member data */\r\nexport interface IActivityReservationInternalModel {\r\n startDate: string;\r\n endDate: string | undefined;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n venueId: string;\r\n venueName: string;\r\n reservationType: ReservationMethod;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId: string;\r\n occurrenceDate: string | undefined;\r\n country: string;\r\n state: string | undefined;\r\n latitude: number;\r\n longitude: number;\r\n venueXPPUrl: string;\r\n guestsCount: number;\r\n teamId: string;\r\n workspaceId: string;\r\n}\r\n\r\n/** 0 = Hourly 1 = DayPass 2 = Monthly */\r\nexport enum ReservationMethod {\r\n Hourly = 0,\r\n DayPass = 1,\r\n Monthly = 2,\r\n}\r\n\r\n/** 1 = Deleted 2 = Completed 4 = CancellationPolicy 8 = Future 16 = Active 255 = All */\r\nexport enum ActivityReservationStatusFilter {\r\n Deleted = 1,\r\n Completed = 2,\r\n CancellationPolicy = 4,\r\n Future = 8,\r\n Active = 16,\r\n All = 255,\r\n}\r\n\r\n/** EA admin data */\r\nexport class ActivityReservationPrivateModel implements IActivityReservationPrivateModel {\r\n startDate!: string;\r\n endDate!: string | undefined;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string;\r\n teamName!: string;\r\n location!: string;\r\n venueId!: string;\r\n workspaceId!: string;\r\n venueName!: string;\r\n spaceName!: string;\r\n spaceType!: SpaceType;\r\n spaceTypeDescription!: string;\r\n cost!: CostInfoModel;\r\n reservationType!: ReservationMethod;\r\n status!: ReservationStatus;\r\n paymentProvider!: PaymentProviderType;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId!: string;\r\n occurrenceDate!: string | undefined;\r\n isOutOfBudget!: boolean;\r\n memberRemovedFromAccount!: boolean;\r\n externalAccountId!: string | undefined;\r\n\r\n constructor(data?: IActivityReservationPrivateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.location = _data[\"location\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.spaceName = _data[\"spaceName\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeDescription = _data[\"spaceTypeDescription\"];\r\n this.cost = _data[\"cost\"] ? CostInfoModel.fromJS(_data[\"cost\"]) : undefined;\r\n this.reservationType = _data[\"reservationType\"];\r\n this.status = _data[\"status\"];\r\n this.paymentProvider = _data[\"paymentProvider\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.isOutOfBudget = _data[\"isOutOfBudget\"];\r\n this.memberRemovedFromAccount = _data[\"memberRemovedFromAccount\"];\r\n this.externalAccountId = _data[\"externalAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReservationPrivateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReservationPrivateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"location\"] = this.location;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"spaceName\"] = this.spaceName;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeDescription\"] = this.spaceTypeDescription;\r\n data[\"cost\"] = this.cost ? this.cost.toJSON() : undefined;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"status\"] = this.status;\r\n data[\"paymentProvider\"] = this.paymentProvider;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"isOutOfBudget\"] = this.isOutOfBudget;\r\n data[\"memberRemovedFromAccount\"] = this.memberRemovedFromAccount;\r\n data[\"externalAccountId\"] = this.externalAccountId;\r\n return data;\r\n }\r\n}\r\n\r\n/** EA admin data */\r\nexport interface IActivityReservationPrivateModel {\r\n startDate: string;\r\n endDate: string | undefined;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string;\r\n teamName: string;\r\n location: string;\r\n venueId: string;\r\n workspaceId: string;\r\n venueName: string;\r\n spaceName: string;\r\n spaceType: SpaceType;\r\n spaceTypeDescription: string;\r\n cost: CostInfoModel;\r\n reservationType: ReservationMethod;\r\n status: ReservationStatus;\r\n paymentProvider: PaymentProviderType;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId: string;\r\n occurrenceDate: string | undefined;\r\n isOutOfBudget: boolean;\r\n memberRemovedFromAccount: boolean;\r\n externalAccountId: string | undefined;\r\n}\r\n\r\nexport class CostInfoModel implements ICostInfoModel {\r\n amount!: number;\r\n currency!: CurrencyType;\r\n currencyPrefix!: string;\r\n currencyRate!: number | undefined;\r\n\r\n constructor(data?: ICostInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amount = _data[\"amount\"];\r\n this.currency = _data[\"currency\"];\r\n this.currencyPrefix = _data[\"currencyPrefix\"];\r\n this.currencyRate = _data[\"currencyRate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amount\"] = this.amount;\r\n data[\"currency\"] = this.currency;\r\n data[\"currencyPrefix\"] = this.currencyPrefix;\r\n data[\"currencyRate\"] = this.currencyRate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostInfoModel {\r\n amount: number;\r\n currency: CurrencyType;\r\n currencyPrefix: string;\r\n currencyRate: number | undefined;\r\n}\r\n\r\n/** 0 = Deleted 1 = Completed 2 = CancellationPolicy 3 = Future 4 = Active */\r\nexport enum ReservationStatus {\r\n Deleted = 0,\r\n Completed = 1,\r\n CancellationPolicy = 2,\r\n Future = 3,\r\n Active = 4,\r\n}\r\n\r\n/** 0 = AuthorizeNet 1 = BrainTree 2 = Stripe 3 = StripeWireTransfer 4 = Marketplace */\r\nexport enum PaymentProviderType {\r\n AuthorizeNet = 0,\r\n BrainTree = 1,\r\n Stripe = 2,\r\n StripeWireTransfer = 3,\r\n Marketplace = 4,\r\n}\r\n\r\nexport class ReservationOverview implements IReservationOverview {\r\n date!: string;\r\n hourlyReservationsCount!: number;\r\n monthlyReservationsCount!: number;\r\n hourlySpent!: number;\r\n monthlySpent!: number;\r\n totalSpent!: number;\r\n\r\n constructor(data?: IReservationOverview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.hourlyReservationsCount = _data[\"hourlyReservationsCount\"];\r\n this.monthlyReservationsCount = _data[\"monthlyReservationsCount\"];\r\n this.hourlySpent = _data[\"hourlySpent\"];\r\n this.monthlySpent = _data[\"monthlySpent\"];\r\n this.totalSpent = _data[\"totalSpent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationOverview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationOverview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"hourlyReservationsCount\"] = this.hourlyReservationsCount;\r\n data[\"monthlyReservationsCount\"] = this.monthlyReservationsCount;\r\n data[\"hourlySpent\"] = this.hourlySpent;\r\n data[\"monthlySpent\"] = this.monthlySpent;\r\n data[\"totalSpent\"] = this.totalSpent;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationOverview {\r\n date: string;\r\n hourlyReservationsCount: number;\r\n monthlyReservationsCount: number;\r\n hourlySpent: number;\r\n monthlySpent: number;\r\n totalSpent: number;\r\n}\r\n\r\n/** 0 = None 1 = Hourly 2 = Monthly 3 = Both */\r\nexport enum HourlyMonthly {\r\n None = 0,\r\n Hourly = 1,\r\n Monthly = 2,\r\n Both = 3,\r\n}\r\n\r\n/** 0 = CSV 1 = XLSX */\r\nexport enum DownloadFileFormat {\r\n CSV = 0,\r\n XLSX = 1,\r\n}\r\n\r\nexport class ActivityReservationReportStatus implements IActivityReservationReportStatus {\r\n id!: string;\r\n status!: string;\r\n createDate!: string;\r\n parameters!: string | undefined;\r\n downloadReady!: boolean;\r\n\r\n constructor(data?: IActivityReservationReportStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.parameters = _data[\"parameters\"];\r\n this.downloadReady = _data[\"downloadReady\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReservationReportStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReservationReportStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"parameters\"] = this.parameters;\r\n data[\"downloadReady\"] = this.downloadReady;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityReservationReportStatus {\r\n id: string;\r\n status: string;\r\n createDate: string;\r\n parameters: string | undefined;\r\n downloadReady: boolean;\r\n}\r\n\r\nexport class ActivityReview implements IActivityReview {\r\n reviewId!: string;\r\n created!: string;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string | undefined;\r\n teamName!: string | undefined;\r\n workspaceId!: string | undefined;\r\n locationName!: string | undefined;\r\n stars!: number;\r\n comment!: string | undefined;\r\n\r\n constructor(data?: IActivityReview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reviewId = _data[\"reviewId\"];\r\n this.created = _data[\"created\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.stars = _data[\"stars\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reviewId\"] = this.reviewId;\r\n data[\"created\"] = this.created;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"stars\"] = this.stars;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityReview {\r\n reviewId: string;\r\n created: string;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string | undefined;\r\n teamName: string | undefined;\r\n workspaceId: string | undefined;\r\n locationName: string | undefined;\r\n stars: number;\r\n comment: string | undefined;\r\n}\r\n\r\nexport class ReviewOverview implements IReviewOverview {\r\n date!: string;\r\n reviewCount!: number;\r\n\r\n constructor(data?: IReviewOverview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.reviewCount = _data[\"reviewCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReviewOverview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReviewOverview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"reviewCount\"] = this.reviewCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReviewOverview {\r\n date: string;\r\n reviewCount: number;\r\n}\r\n\r\nexport class ActivityReviewDetails extends ActivityReview implements IActivityReviewDetails {\r\n cityAddress!: string | undefined;\r\n reservationDate!: string;\r\n source!: VenueSource;\r\n\r\n constructor(data?: IActivityReviewDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.cityAddress = _data[\"cityAddress\"];\r\n this.reservationDate = _data[\"reservationDate\"];\r\n this.source = _data[\"source\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReviewDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReviewDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cityAddress\"] = this.cityAddress;\r\n data[\"reservationDate\"] = this.reservationDate;\r\n data[\"source\"] = this.source;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityReviewDetails extends IActivityReview {\r\n cityAddress: string | undefined;\r\n reservationDate: string;\r\n source: VenueSource;\r\n}\r\n\r\n/** 0 = SYS 1 = BulkCreate 2 = ColliersIntegration 3 = WeWork 4 = Boxer 5 = Regus 6 = VenueGroupImport 7 = OfficeRnDHybrid */\r\nexport enum VenueSource {\r\n SYS = 0,\r\n BulkCreate = 1,\r\n ColliersIntegration = 2,\r\n WeWork = 3,\r\n Boxer = 4,\r\n Regus = 5,\r\n VenueGroupImport = 6,\r\n OfficeRnDHybrid = 7,\r\n}\r\n\r\nexport class SearchOverview implements ISearchOverview {\r\n date!: string;\r\n searchesCount!: number;\r\n\r\n constructor(data?: ISearchOverview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.searchesCount = _data[\"searchesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchOverview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchOverview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"searchesCount\"] = this.searchesCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchOverview {\r\n date: string;\r\n searchesCount: number;\r\n}\r\n\r\nexport class ActivitySearch implements IActivitySearch {\r\n searchId!: string;\r\n executedTime!: string;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string | undefined;\r\n teamName!: string | undefined;\r\n searchLocation!: string | undefined;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n minCapacity!: number | undefined;\r\n maxCapacity!: number | undefined;\r\n searchSpaceType!: SpaceType;\r\n resultsNumber!: number;\r\n spaceTypesString!: string | undefined;\r\n device!: SearchDeviceType;\r\n\r\n constructor(data?: IActivitySearch) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchId = _data[\"searchId\"];\r\n this.executedTime = _data[\"executedTime\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.searchLocation = _data[\"searchLocation\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n this.maxCapacity = _data[\"maxCapacity\"];\r\n this.searchSpaceType = _data[\"searchSpaceType\"];\r\n this.resultsNumber = _data[\"resultsNumber\"];\r\n this.spaceTypesString = _data[\"spaceTypesString\"];\r\n this.device = _data[\"device\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearch {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearch();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchId\"] = this.searchId;\r\n data[\"executedTime\"] = this.executedTime;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"searchLocation\"] = this.searchLocation;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n data[\"maxCapacity\"] = this.maxCapacity;\r\n data[\"searchSpaceType\"] = this.searchSpaceType;\r\n data[\"resultsNumber\"] = this.resultsNumber;\r\n data[\"spaceTypesString\"] = this.spaceTypesString;\r\n data[\"device\"] = this.device;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearch {\r\n searchId: string;\r\n executedTime: string;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string | undefined;\r\n teamName: string | undefined;\r\n searchLocation: string | undefined;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n minCapacity: number | undefined;\r\n maxCapacity: number | undefined;\r\n searchSpaceType: SpaceType;\r\n resultsNumber: number;\r\n spaceTypesString: string | undefined;\r\n device: SearchDeviceType;\r\n}\r\n\r\n/** 0 = Unknown 1 = WebUI 2 = Worker 3 = IOS 4 = Android */\r\nexport enum SearchDeviceType {\r\n Unknown = 0,\r\n WebUI = 1,\r\n Worker = 2,\r\n IOS = 3,\r\n Android = 4,\r\n}\r\n\r\nexport class ActivitySearchDetails implements IActivitySearchDetails {\r\n searchId!: string;\r\n executedTime!: string;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string | undefined;\r\n teamName!: string | undefined;\r\n searchLocation!: string | undefined;\r\n filterSettings!: ActivitySearchFilterSettingsDetails | undefined;\r\n searchResults!: ActivitySearchResultDetails[] | undefined;\r\n resultsNumber!: number;\r\n ipAddress!: string | undefined;\r\n searchedFromLat!: number | undefined;\r\n searchedFromLong!: number | undefined;\r\n device!: SearchDeviceType;\r\n userAgent!: string | undefined;\r\n sourceType!: SavedSearchSourceType | undefined;\r\n\r\n constructor(data?: IActivitySearchDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchId = _data[\"searchId\"];\r\n this.executedTime = _data[\"executedTime\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.searchLocation = _data[\"searchLocation\"];\r\n this.filterSettings = _data[\"filterSettings\"] ? ActivitySearchFilterSettingsDetails.fromJS(_data[\"filterSettings\"]) : undefined;\r\n if (Array.isArray(_data[\"searchResults\"])) {\r\n this.searchResults = [] as any;\r\n for (let item of _data[\"searchResults\"])\r\n this.searchResults!.push(ActivitySearchResultDetails.fromJS(item));\r\n }\r\n this.resultsNumber = _data[\"resultsNumber\"];\r\n this.ipAddress = _data[\"ipAddress\"];\r\n this.searchedFromLat = _data[\"searchedFromLat\"];\r\n this.searchedFromLong = _data[\"searchedFromLong\"];\r\n this.device = _data[\"device\"];\r\n this.userAgent = _data[\"userAgent\"];\r\n this.sourceType = _data[\"sourceType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearchDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearchDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchId\"] = this.searchId;\r\n data[\"executedTime\"] = this.executedTime;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"searchLocation\"] = this.searchLocation;\r\n data[\"filterSettings\"] = this.filterSettings ? this.filterSettings.toJSON() : undefined;\r\n if (Array.isArray(this.searchResults)) {\r\n data[\"searchResults\"] = [];\r\n for (let item of this.searchResults)\r\n data[\"searchResults\"].push(item.toJSON());\r\n }\r\n data[\"resultsNumber\"] = this.resultsNumber;\r\n data[\"ipAddress\"] = this.ipAddress;\r\n data[\"searchedFromLat\"] = this.searchedFromLat;\r\n data[\"searchedFromLong\"] = this.searchedFromLong;\r\n data[\"device\"] = this.device;\r\n data[\"userAgent\"] = this.userAgent;\r\n data[\"sourceType\"] = this.sourceType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearchDetails {\r\n searchId: string;\r\n executedTime: string;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string | undefined;\r\n teamName: string | undefined;\r\n searchLocation: string | undefined;\r\n filterSettings: ActivitySearchFilterSettingsDetails | undefined;\r\n searchResults: ActivitySearchResultDetails[] | undefined;\r\n resultsNumber: number;\r\n ipAddress: string | undefined;\r\n searchedFromLat: number | undefined;\r\n searchedFromLong: number | undefined;\r\n device: SearchDeviceType;\r\n userAgent: string | undefined;\r\n sourceType: SavedSearchSourceType | undefined;\r\n}\r\n\r\nexport class ActivitySearchFilterSettingsDetails implements IActivitySearchFilterSettingsDetails {\r\n latitude!: number;\r\n longitude!: number;\r\n specificity!: LocationAccuracy;\r\n distance!: number;\r\n exactDate!: string | undefined;\r\n exactTime!: string | undefined;\r\n duration!: number;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n searchSpaceType!: SpaceType;\r\n minCapacity!: number | undefined;\r\n maxCapacity!: number | undefined;\r\n venueId!: string | undefined;\r\n venueGroupId!: string | undefined;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n minSize!: number | undefined;\r\n maxSize!: number | undefined;\r\n onlyNewWorkspaces!: boolean;\r\n sourceType!: SavedSearchSourceType | undefined;\r\n venueName!: string | undefined;\r\n venueAddress!: string | undefined;\r\n amenityStrings!: string[] | undefined;\r\n neighborhoodStrings!: string[] | undefined;\r\n spaceTypesString!: string | undefined;\r\n\r\n constructor(data?: IActivitySearchFilterSettingsDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.specificity = _data[\"specificity\"];\r\n this.distance = _data[\"distance\"];\r\n this.exactDate = _data[\"exactDate\"];\r\n this.exactTime = _data[\"exactTime\"];\r\n this.duration = _data[\"duration\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.searchSpaceType = _data[\"searchSpaceType\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n this.maxCapacity = _data[\"maxCapacity\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.minSize = _data[\"minSize\"];\r\n this.maxSize = _data[\"maxSize\"];\r\n this.onlyNewWorkspaces = _data[\"onlyNewWorkspaces\"];\r\n this.sourceType = _data[\"sourceType\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n if (Array.isArray(_data[\"amenityStrings\"])) {\r\n this.amenityStrings = [] as any;\r\n for (let item of _data[\"amenityStrings\"])\r\n this.amenityStrings!.push(item);\r\n }\r\n if (Array.isArray(_data[\"neighborhoodStrings\"])) {\r\n this.neighborhoodStrings = [] as any;\r\n for (let item of _data[\"neighborhoodStrings\"])\r\n this.neighborhoodStrings!.push(item);\r\n }\r\n this.spaceTypesString = _data[\"spaceTypesString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearchFilterSettingsDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearchFilterSettingsDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"specificity\"] = this.specificity;\r\n data[\"distance\"] = this.distance;\r\n data[\"exactDate\"] = this.exactDate;\r\n data[\"exactTime\"] = this.exactTime;\r\n data[\"duration\"] = this.duration;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"searchSpaceType\"] = this.searchSpaceType;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n data[\"maxCapacity\"] = this.maxCapacity;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"minSize\"] = this.minSize;\r\n data[\"maxSize\"] = this.maxSize;\r\n data[\"onlyNewWorkspaces\"] = this.onlyNewWorkspaces;\r\n data[\"sourceType\"] = this.sourceType;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n if (Array.isArray(this.amenityStrings)) {\r\n data[\"amenityStrings\"] = [];\r\n for (let item of this.amenityStrings)\r\n data[\"amenityStrings\"].push(item);\r\n }\r\n if (Array.isArray(this.neighborhoodStrings)) {\r\n data[\"neighborhoodStrings\"] = [];\r\n for (let item of this.neighborhoodStrings)\r\n data[\"neighborhoodStrings\"].push(item);\r\n }\r\n data[\"spaceTypesString\"] = this.spaceTypesString;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearchFilterSettingsDetails {\r\n latitude: number;\r\n longitude: number;\r\n specificity: LocationAccuracy;\r\n distance: number;\r\n exactDate: string | undefined;\r\n exactTime: string | undefined;\r\n duration: number;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n searchSpaceType: SpaceType;\r\n minCapacity: number | undefined;\r\n maxCapacity: number | undefined;\r\n venueId: string | undefined;\r\n venueGroupId: string | undefined;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n minSize: number | undefined;\r\n maxSize: number | undefined;\r\n onlyNewWorkspaces: boolean;\r\n sourceType: SavedSearchSourceType | undefined;\r\n venueName: string | undefined;\r\n venueAddress: string | undefined;\r\n amenityStrings: string[] | undefined;\r\n neighborhoodStrings: string[] | undefined;\r\n spaceTypesString: string | undefined;\r\n}\r\n\r\n/** 0 = Unknown 1 = CountryLevel 2 = StateLevel 3 = CityLevel 4 = PostalCodeLevel 5 = StreetLevel 6 = AddressLevel */\r\nexport enum LocationAccuracy {\r\n Unknown = 0,\r\n CountryLevel = 1,\r\n StateLevel = 2,\r\n CityLevel = 3,\r\n PostalCodeLevel = 4,\r\n StreetLevel = 5,\r\n AddressLevel = 6,\r\n}\r\n\r\n/** 0 = Unknown 1 = Onboarding 2 = SavedSearch 3 = CreateAlertNoResults 4 = TourRequest 5 = NeighborhoodRequest 6 = CityRequest 7 = WorkspaceRequest 8 = HomepageConcierge 9 = MyLiquidspaceConcierge 10 = WorkspaceTypeRequest 11 = NeighborhoodFollowRequest 12 = MessageHost 13 = CheckAvailability 14 = ColliersConcierge 15 = WashingtonREIT 16 = Brandywine 17 = AvisonYoung 18 = VenueHostReferral 19 = BrandedPortal 20 = RequestForPorposal 21 = AffiliateUserInvite 22 = DealProposal 23 = AltSpaceRequest 24 = CollectionConcierge 25 = GuestOnboarding 26 = EmbeddedConcierge 27 = Membership 28 = NotifyMe */\r\nexport enum SavedSearchSourceType {\r\n Unknown = 0,\r\n Onboarding = 1,\r\n SavedSearch = 2,\r\n CreateAlertNoResults = 3,\r\n TourRequest = 4,\r\n NeighborhoodRequest = 5,\r\n CityRequest = 6,\r\n WorkspaceRequest = 7,\r\n HomepageConcierge = 8,\r\n MyLiquidspaceConcierge = 9,\r\n WorkspaceTypeRequest = 10,\r\n NeighborhoodFollowRequest = 11,\r\n MessageHost = 12,\r\n CheckAvailability = 13,\r\n ColliersConcierge = 14,\r\n WashingtonREIT = 15,\r\n Brandywine = 16,\r\n AvisonYoung = 17,\r\n VenueHostReferral = 18,\r\n BrandedPortal = 19,\r\n RequestForPorposal = 20,\r\n AffiliateUserInvite = 21,\r\n DealProposal = 22,\r\n AltSpaceRequest = 23,\r\n CollectionConcierge = 24,\r\n GuestOnboarding = 25,\r\n EmbeddedConcierge = 26,\r\n Membership = 27,\r\n NotifyMe = 28,\r\n}\r\n\r\nexport class IndividualSearchReportResult implements IIndividualSearchReportResult {\r\n workspaceId!: string;\r\n venueId!: string;\r\n position!: number;\r\n bestMatchScore!: number;\r\n price!: number;\r\n rating!: number;\r\n\r\n constructor(data?: IIndividualSearchReportResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.position = _data[\"position\"];\r\n this.bestMatchScore = _data[\"bestMatchScore\"];\r\n this.price = _data[\"price\"];\r\n this.rating = _data[\"rating\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IndividualSearchReportResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IndividualSearchReportResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"position\"] = this.position;\r\n data[\"bestMatchScore\"] = this.bestMatchScore;\r\n data[\"price\"] = this.price;\r\n data[\"rating\"] = this.rating;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIndividualSearchReportResult {\r\n workspaceId: string;\r\n venueId: string;\r\n position: number;\r\n bestMatchScore: number;\r\n price: number;\r\n rating: number;\r\n}\r\n\r\nexport class ActivitySearchResultDetails extends IndividualSearchReportResult implements IActivitySearchResultDetails {\r\n venueName!: string | undefined;\r\n venueAddress!: string | undefined;\r\n\r\n constructor(data?: IActivitySearchResultDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearchResultDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearchResultDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearchResultDetails extends IIndividualSearchReportResult {\r\n venueName: string | undefined;\r\n venueAddress: string | undefined;\r\n}\r\n\r\nexport class BrandedOptionsModel implements IBrandedOptionsModel {\r\n portalOptions!: BrandedPortalOptionsModel;\r\n emailOptions!: BrandedEmailOptionsModel;\r\n onboardingOptions!: BrandedOnboardingOptionsModel;\r\n locationOptions!: BrandedLocationOptionsModel;\r\n bannerOptions!: BrandedBannerOptionsModel;\r\n headerImage!: string | undefined;\r\n emailHeaderImage!: string | undefined;\r\n onboardingImage!: string | undefined;\r\n mapPinImage!: string | undefined;\r\n mapPinImageId!: string | undefined;\r\n\r\n constructor(data?: IBrandedOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.portalOptions = _data[\"portalOptions\"] ? BrandedPortalOptionsModel.fromJS(_data[\"portalOptions\"]) : undefined;\r\n this.emailOptions = _data[\"emailOptions\"] ? BrandedEmailOptionsModel.fromJS(_data[\"emailOptions\"]) : undefined;\r\n this.onboardingOptions = _data[\"onboardingOptions\"] ? BrandedOnboardingOptionsModel.fromJS(_data[\"onboardingOptions\"]) : undefined;\r\n this.locationOptions = _data[\"locationOptions\"] ? BrandedLocationOptionsModel.fromJS(_data[\"locationOptions\"]) : undefined;\r\n this.bannerOptions = _data[\"bannerOptions\"] ? BrandedBannerOptionsModel.fromJS(_data[\"bannerOptions\"]) : undefined;\r\n this.headerImage = _data[\"headerImage\"];\r\n this.emailHeaderImage = _data[\"emailHeaderImage\"];\r\n this.onboardingImage = _data[\"onboardingImage\"];\r\n this.mapPinImage = _data[\"mapPinImage\"];\r\n this.mapPinImageId = _data[\"mapPinImageId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"portalOptions\"] = this.portalOptions ? this.portalOptions.toJSON() : undefined;\r\n data[\"emailOptions\"] = this.emailOptions ? this.emailOptions.toJSON() : undefined;\r\n data[\"onboardingOptions\"] = this.onboardingOptions ? this.onboardingOptions.toJSON() : undefined;\r\n data[\"locationOptions\"] = this.locationOptions ? this.locationOptions.toJSON() : undefined;\r\n data[\"bannerOptions\"] = this.bannerOptions ? this.bannerOptions.toJSON() : undefined;\r\n data[\"headerImage\"] = this.headerImage;\r\n data[\"emailHeaderImage\"] = this.emailHeaderImage;\r\n data[\"onboardingImage\"] = this.onboardingImage;\r\n data[\"mapPinImage\"] = this.mapPinImage;\r\n data[\"mapPinImageId\"] = this.mapPinImageId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedOptionsModel {\r\n portalOptions: BrandedPortalOptionsModel;\r\n emailOptions: BrandedEmailOptionsModel;\r\n onboardingOptions: BrandedOnboardingOptionsModel;\r\n locationOptions: BrandedLocationOptionsModel;\r\n bannerOptions: BrandedBannerOptionsModel;\r\n headerImage: string | undefined;\r\n emailHeaderImage: string | undefined;\r\n onboardingImage: string | undefined;\r\n mapPinImage: string | undefined;\r\n mapPinImageId: string | undefined;\r\n}\r\n\r\nexport class BrandedPortalOptionsModel implements IBrandedPortalOptionsModel {\r\n title!: string | undefined;\r\n subtitle!: string | undefined;\r\n explainerText!: string | undefined;\r\n markets!: BrandedMarketModel[];\r\n enable!: boolean;\r\n portalType!: BrandedPortalType;\r\n forceSignIn!: boolean;\r\n url!: string | undefined;\r\n isHeaderTransparent!: boolean;\r\n referralEmail!: string | undefined;\r\n\r\n constructor(data?: IBrandedPortalOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.subtitle = _data[\"subtitle\"];\r\n this.explainerText = _data[\"explainerText\"];\r\n if (Array.isArray(_data[\"markets\"])) {\r\n this.markets = [] as any;\r\n for (let item of _data[\"markets\"])\r\n this.markets!.push(BrandedMarketModel.fromJS(item));\r\n }\r\n this.enable = _data[\"enable\"];\r\n this.portalType = _data[\"portalType\"];\r\n this.forceSignIn = _data[\"forceSignIn\"];\r\n this.url = _data[\"url\"];\r\n this.isHeaderTransparent = _data[\"isHeaderTransparent\"];\r\n this.referralEmail = _data[\"referralEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedPortalOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedPortalOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"subtitle\"] = this.subtitle;\r\n data[\"explainerText\"] = this.explainerText;\r\n if (Array.isArray(this.markets)) {\r\n data[\"markets\"] = [];\r\n for (let item of this.markets)\r\n data[\"markets\"].push(item.toJSON());\r\n }\r\n data[\"enable\"] = this.enable;\r\n data[\"portalType\"] = this.portalType;\r\n data[\"forceSignIn\"] = this.forceSignIn;\r\n data[\"url\"] = this.url;\r\n data[\"isHeaderTransparent\"] = this.isHeaderTransparent;\r\n data[\"referralEmail\"] = this.referralEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedPortalOptionsModel {\r\n title: string | undefined;\r\n subtitle: string | undefined;\r\n explainerText: string | undefined;\r\n markets: BrandedMarketModel[];\r\n enable: boolean;\r\n portalType: BrandedPortalType;\r\n forceSignIn: boolean;\r\n url: string | undefined;\r\n isHeaderTransparent: boolean;\r\n referralEmail: string | undefined;\r\n}\r\n\r\nexport class BrandedMarketModel implements IBrandedMarketModel {\r\n name!: string | undefined;\r\n venueGroupId!: string | undefined;\r\n\r\n constructor(data?: IBrandedMarketModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedMarketModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedMarketModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedMarketModel {\r\n name: string | undefined;\r\n venueGroupId: string | undefined;\r\n}\r\n\r\n/** 0 = Portfolio 1 = Mobility 2 = PortfolioMobility 3 = Mobility2 4 = Mobility3 */\r\nexport enum BrandedPortalType {\r\n Portfolio = 0,\r\n Mobility = 1,\r\n PortfolioMobility = 2,\r\n Mobility2 = 3,\r\n Mobility3 = 4,\r\n}\r\n\r\nexport class BrandedEmailOptionsModel implements IBrandedEmailOptionsModel {\r\n enable!: boolean;\r\n from!: string | undefined;\r\n programName!: string | undefined;\r\n customEmailCss!: string | undefined;\r\n customInviteMessage!: string | undefined;\r\n venueGroupId!: string | undefined;\r\n\r\n constructor(data?: IBrandedEmailOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enable = _data[\"enable\"];\r\n this.from = _data[\"from\"];\r\n this.programName = _data[\"programName\"];\r\n this.customEmailCss = _data[\"customEmailCss\"];\r\n this.customInviteMessage = _data[\"customInviteMessage\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedEmailOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedEmailOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enable\"] = this.enable;\r\n data[\"from\"] = this.from;\r\n data[\"programName\"] = this.programName;\r\n data[\"customEmailCss\"] = this.customEmailCss;\r\n data[\"customInviteMessage\"] = this.customInviteMessage;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedEmailOptionsModel {\r\n enable: boolean;\r\n from: string | undefined;\r\n programName: string | undefined;\r\n customEmailCss: string | undefined;\r\n customInviteMessage: string | undefined;\r\n venueGroupId: string | undefined;\r\n}\r\n\r\nexport class BrandedOnboardingOptionsModel implements IBrandedOnboardingOptionsModel {\r\n message!: string | undefined;\r\n title!: string | undefined;\r\n content!: string | undefined;\r\n useExistingUrl!: boolean;\r\n url!: string | undefined;\r\n videoUrl!: string | undefined;\r\n\r\n constructor(data?: IBrandedOnboardingOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.title = _data[\"title\"];\r\n this.content = _data[\"content\"];\r\n this.useExistingUrl = _data[\"useExistingUrl\"];\r\n this.url = _data[\"url\"];\r\n this.videoUrl = _data[\"videoUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedOnboardingOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedOnboardingOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"title\"] = this.title;\r\n data[\"content\"] = this.content;\r\n data[\"useExistingUrl\"] = this.useExistingUrl;\r\n data[\"url\"] = this.url;\r\n data[\"videoUrl\"] = this.videoUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedOnboardingOptionsModel {\r\n message: string | undefined;\r\n title: string | undefined;\r\n content: string | undefined;\r\n useExistingUrl: boolean;\r\n url: string | undefined;\r\n videoUrl: string | undefined;\r\n}\r\n\r\nexport class BrandedLocationOptionsModel implements IBrandedLocationOptionsModel {\r\n hqPinLabel!: string | undefined;\r\n hqPinColor!: string | undefined;\r\n hqPinColorHover!: string | undefined;\r\n\r\n constructor(data?: IBrandedLocationOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hqPinLabel = _data[\"hqPinLabel\"];\r\n this.hqPinColor = _data[\"hqPinColor\"];\r\n this.hqPinColorHover = _data[\"hqPinColorHover\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedLocationOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedLocationOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hqPinLabel\"] = this.hqPinLabel;\r\n data[\"hqPinColor\"] = this.hqPinColor;\r\n data[\"hqPinColorHover\"] = this.hqPinColorHover;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedLocationOptionsModel {\r\n hqPinLabel: string | undefined;\r\n hqPinColor: string | undefined;\r\n hqPinColorHover: string | undefined;\r\n}\r\n\r\nexport class BrandedBannerOptionsModel implements IBrandedBannerOptionsModel {\r\n title!: string | undefined;\r\n subtitle!: string | undefined;\r\n popupTitle!: string | undefined;\r\n popupContent!: string | undefined;\r\n enable!: boolean;\r\n forcePopup!: boolean;\r\n\r\n constructor(data?: IBrandedBannerOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.subtitle = _data[\"subtitle\"];\r\n this.popupTitle = _data[\"popupTitle\"];\r\n this.popupContent = _data[\"popupContent\"];\r\n this.enable = _data[\"enable\"];\r\n this.forcePopup = _data[\"forcePopup\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedBannerOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedBannerOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"subtitle\"] = this.subtitle;\r\n data[\"popupTitle\"] = this.popupTitle;\r\n data[\"popupContent\"] = this.popupContent;\r\n data[\"enable\"] = this.enable;\r\n data[\"forcePopup\"] = this.forcePopup;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedBannerOptionsModel {\r\n title: string | undefined;\r\n subtitle: string | undefined;\r\n popupTitle: string | undefined;\r\n popupContent: string | undefined;\r\n enable: boolean;\r\n forcePopup: boolean;\r\n}\r\n\r\nexport class ContentItemModel implements IContentItemModel {\r\n id!: string;\r\n type!: ContentType;\r\n subject!: string;\r\n status!: ContentStatus;\r\n content!: string | undefined;\r\n\r\n constructor(data?: IContentItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\r\n this.subject = _data[\"subject\"];\r\n this.status = _data[\"status\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\r\n data[\"subject\"] = this.subject;\r\n data[\"status\"] = this.status;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemModel {\r\n id: string;\r\n type: ContentType;\r\n subject: string;\r\n status: ContentStatus;\r\n content: string | undefined;\r\n}\r\n\r\n/** 0 = QuestionAnswer */\r\nexport enum ContentType {\r\n QuestionAnswer = 0,\r\n}\r\n\r\n/** 0 = Hidden 1 = Visible */\r\nexport enum ContentStatus {\r\n Hidden = 0,\r\n Visible = 1,\r\n}\r\n\r\nexport class ContentItemAddModel implements IContentItemAddModel {\r\n type!: ContentType;\r\n subject!: string;\r\n status!: ContentStatus;\r\n content!: string | undefined;\r\n\r\n constructor(data?: IContentItemAddModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.subject = _data[\"subject\"];\r\n this.status = _data[\"status\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemAddModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemAddModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"subject\"] = this.subject;\r\n data[\"status\"] = this.status;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemAddModel {\r\n type: ContentType;\r\n subject: string;\r\n status: ContentStatus;\r\n content: string | undefined;\r\n}\r\n\r\nexport class DashboardViewModel implements IDashboardViewModel {\r\n lastUpdateDate!: string;\r\n spend!: CostInfoModel[];\r\n reservationCount!: number;\r\n topSpenders!: DashboardSpender[];\r\n reservationLocations!: DashboardReservationLocation[];\r\n pendingMembersCount!: number;\r\n activeMembersCount!: number;\r\n ratingsCount!: number;\r\n ratingsAverage!: number | undefined;\r\n engagedMembersCount!: number;\r\n engagedPercent!: number | undefined;\r\n teamsStats!: DashboardTeamStatsViewModel[];\r\n reviews!: DashboardReviewInfo[];\r\n performance!: { [key: string]: number; };\r\n\r\n constructor(data?: IDashboardViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lastUpdateDate = _data[\"lastUpdateDate\"];\r\n if (Array.isArray(_data[\"spend\"])) {\r\n this.spend = [] as any;\r\n for (let item of _data[\"spend\"])\r\n this.spend!.push(CostInfoModel.fromJS(item));\r\n }\r\n this.reservationCount = _data[\"reservationCount\"];\r\n if (Array.isArray(_data[\"topSpenders\"])) {\r\n this.topSpenders = [] as any;\r\n for (let item of _data[\"topSpenders\"])\r\n this.topSpenders!.push(DashboardSpender.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"reservationLocations\"])) {\r\n this.reservationLocations = [] as any;\r\n for (let item of _data[\"reservationLocations\"])\r\n this.reservationLocations!.push(DashboardReservationLocation.fromJS(item));\r\n }\r\n this.pendingMembersCount = _data[\"pendingMembersCount\"];\r\n this.activeMembersCount = _data[\"activeMembersCount\"];\r\n this.ratingsCount = _data[\"ratingsCount\"];\r\n this.ratingsAverage = _data[\"ratingsAverage\"];\r\n this.engagedMembersCount = _data[\"engagedMembersCount\"];\r\n this.engagedPercent = _data[\"engagedPercent\"];\r\n if (Array.isArray(_data[\"teamsStats\"])) {\r\n this.teamsStats = [] as any;\r\n for (let item of _data[\"teamsStats\"])\r\n this.teamsStats!.push(DashboardTeamStatsViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"reviews\"])) {\r\n this.reviews = [] as any;\r\n for (let item of _data[\"reviews\"])\r\n this.reviews!.push(DashboardReviewInfo.fromJS(item));\r\n }\r\n if (_data[\"performance\"]) {\r\n this.performance = {} as any;\r\n for (let key in _data[\"performance\"]) {\r\n if (_data[\"performance\"].hasOwnProperty(key))\r\n (this.performance)![key] = _data[\"performance\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lastUpdateDate\"] = this.lastUpdateDate;\r\n if (Array.isArray(this.spend)) {\r\n data[\"spend\"] = [];\r\n for (let item of this.spend)\r\n data[\"spend\"].push(item.toJSON());\r\n }\r\n data[\"reservationCount\"] = this.reservationCount;\r\n if (Array.isArray(this.topSpenders)) {\r\n data[\"topSpenders\"] = [];\r\n for (let item of this.topSpenders)\r\n data[\"topSpenders\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.reservationLocations)) {\r\n data[\"reservationLocations\"] = [];\r\n for (let item of this.reservationLocations)\r\n data[\"reservationLocations\"].push(item.toJSON());\r\n }\r\n data[\"pendingMembersCount\"] = this.pendingMembersCount;\r\n data[\"activeMembersCount\"] = this.activeMembersCount;\r\n data[\"ratingsCount\"] = this.ratingsCount;\r\n data[\"ratingsAverage\"] = this.ratingsAverage;\r\n data[\"engagedMembersCount\"] = this.engagedMembersCount;\r\n data[\"engagedPercent\"] = this.engagedPercent;\r\n if (Array.isArray(this.teamsStats)) {\r\n data[\"teamsStats\"] = [];\r\n for (let item of this.teamsStats)\r\n data[\"teamsStats\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.reviews)) {\r\n data[\"reviews\"] = [];\r\n for (let item of this.reviews)\r\n data[\"reviews\"].push(item.toJSON());\r\n }\r\n if (this.performance) {\r\n data[\"performance\"] = {};\r\n for (let key in this.performance) {\r\n if (this.performance.hasOwnProperty(key))\r\n (data[\"performance\"])[key] = (this.performance)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardViewModel {\r\n lastUpdateDate: string;\r\n spend: CostInfoModel[];\r\n reservationCount: number;\r\n topSpenders: DashboardSpender[];\r\n reservationLocations: DashboardReservationLocation[];\r\n pendingMembersCount: number;\r\n activeMembersCount: number;\r\n ratingsCount: number;\r\n ratingsAverage: number | undefined;\r\n engagedMembersCount: number;\r\n engagedPercent: number | undefined;\r\n teamsStats: DashboardTeamStatsViewModel[];\r\n reviews: DashboardReviewInfo[];\r\n performance: { [key: string]: number; };\r\n}\r\n\r\nexport class DashboardSpender implements IDashboardSpender {\r\n memberId!: string;\r\n fullName!: string | undefined;\r\n teamId!: string;\r\n teamName!: string | undefined;\r\n reservationsCount!: number;\r\n totalSpend!: number;\r\n\r\n constructor(data?: IDashboardSpender) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.reservationsCount = _data[\"reservationsCount\"];\r\n this.totalSpend = _data[\"totalSpend\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardSpender {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardSpender();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"reservationsCount\"] = this.reservationsCount;\r\n data[\"totalSpend\"] = this.totalSpend;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardSpender {\r\n memberId: string;\r\n fullName: string | undefined;\r\n teamId: string;\r\n teamName: string | undefined;\r\n reservationsCount: number;\r\n totalSpend: number;\r\n}\r\n\r\nexport class DashboardReservationLocation implements IDashboardReservationLocation {\r\n venueId!: string;\r\n venueName!: string | undefined;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n url!: string | undefined;\r\n spend!: CostInfo | undefined;\r\n reservationsCount!: number;\r\n activeReservationInfo!: DashboardReservationInfo[] | undefined;\r\n\r\n constructor(data?: IDashboardReservationLocation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.url = _data[\"url\"];\r\n this.spend = _data[\"spend\"] ? CostInfo.fromJS(_data[\"spend\"]) : undefined;\r\n this.reservationsCount = _data[\"reservationsCount\"];\r\n if (Array.isArray(_data[\"activeReservationInfo\"])) {\r\n this.activeReservationInfo = [] as any;\r\n for (let item of _data[\"activeReservationInfo\"])\r\n this.activeReservationInfo!.push(DashboardReservationInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardReservationLocation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardReservationLocation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"url\"] = this.url;\r\n data[\"spend\"] = this.spend ? this.spend.toJSON() : undefined;\r\n data[\"reservationsCount\"] = this.reservationsCount;\r\n if (Array.isArray(this.activeReservationInfo)) {\r\n data[\"activeReservationInfo\"] = [];\r\n for (let item of this.activeReservationInfo)\r\n data[\"activeReservationInfo\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardReservationLocation {\r\n venueId: string;\r\n venueName: string | undefined;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n url: string | undefined;\r\n spend: CostInfo | undefined;\r\n reservationsCount: number;\r\n activeReservationInfo: DashboardReservationInfo[] | undefined;\r\n}\r\n\r\nexport class CostInfo implements ICostInfo {\r\n amount!: number;\r\n currency!: CurrencyType;\r\n currencyRate!: number | undefined;\r\n currencyPrefix!: string;\r\n\r\n constructor(data?: ICostInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amount = _data[\"amount\"];\r\n this.currency = _data[\"currency\"];\r\n this.currencyRate = _data[\"currencyRate\"];\r\n this.currencyPrefix = _data[\"currencyPrefix\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amount\"] = this.amount;\r\n data[\"currency\"] = this.currency;\r\n data[\"currencyRate\"] = this.currencyRate;\r\n data[\"currencyPrefix\"] = this.currencyPrefix;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostInfo {\r\n amount: number;\r\n currency: CurrencyType;\r\n currencyRate: number | undefined;\r\n currencyPrefix: string;\r\n}\r\n\r\nexport class DashboardReservationInfo implements IDashboardReservationInfo {\r\n memberId!: string;\r\n memberName!: string | undefined;\r\n type!: WorkspaceReservationMethod;\r\n\r\n constructor(data?: IDashboardReservationInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.memberName = _data[\"memberName\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardReservationInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardReservationInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardReservationInfo {\r\n memberId: string;\r\n memberName: string | undefined;\r\n type: WorkspaceReservationMethod;\r\n}\r\n\r\nexport class DashboardTeamStatsViewModel implements IDashboardTeamStatsViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n totalInvited!: number;\r\n totalJoined!: number;\r\n adoption!: number;\r\n totalBooked!: number;\r\n engagement!: number;\r\n totalDedicated!: TeamCostInfo[];\r\n totalOnDemand!: TeamCostInfo[];\r\n invitedBooked!: number;\r\n currencies!: CurrencyType[];\r\n\r\n constructor(data?: IDashboardTeamStatsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.totalInvited = _data[\"totalInvited\"];\r\n this.totalJoined = _data[\"totalJoined\"];\r\n this.adoption = _data[\"adoption\"];\r\n this.totalBooked = _data[\"totalBooked\"];\r\n this.engagement = _data[\"engagement\"];\r\n if (Array.isArray(_data[\"totalDedicated\"])) {\r\n this.totalDedicated = [] as any;\r\n for (let item of _data[\"totalDedicated\"])\r\n this.totalDedicated!.push(TeamCostInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"totalOnDemand\"])) {\r\n this.totalOnDemand = [] as any;\r\n for (let item of _data[\"totalOnDemand\"])\r\n this.totalOnDemand!.push(TeamCostInfo.fromJS(item));\r\n }\r\n this.invitedBooked = _data[\"invitedBooked\"];\r\n if (Array.isArray(_data[\"currencies\"])) {\r\n this.currencies = [] as any;\r\n for (let item of _data[\"currencies\"])\r\n this.currencies!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardTeamStatsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardTeamStatsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"totalInvited\"] = this.totalInvited;\r\n data[\"totalJoined\"] = this.totalJoined;\r\n data[\"adoption\"] = this.adoption;\r\n data[\"totalBooked\"] = this.totalBooked;\r\n data[\"engagement\"] = this.engagement;\r\n if (Array.isArray(this.totalDedicated)) {\r\n data[\"totalDedicated\"] = [];\r\n for (let item of this.totalDedicated)\r\n data[\"totalDedicated\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.totalOnDemand)) {\r\n data[\"totalOnDemand\"] = [];\r\n for (let item of this.totalOnDemand)\r\n data[\"totalOnDemand\"].push(item.toJSON());\r\n }\r\n data[\"invitedBooked\"] = this.invitedBooked;\r\n if (Array.isArray(this.currencies)) {\r\n data[\"currencies\"] = [];\r\n for (let item of this.currencies)\r\n data[\"currencies\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardTeamStatsViewModel {\r\n id: string;\r\n name: string | undefined;\r\n totalInvited: number;\r\n totalJoined: number;\r\n adoption: number;\r\n totalBooked: number;\r\n engagement: number;\r\n totalDedicated: TeamCostInfo[];\r\n totalOnDemand: TeamCostInfo[];\r\n invitedBooked: number;\r\n currencies: CurrencyType[];\r\n}\r\n\r\nexport class TeamCostInfo extends CostInfo implements ITeamCostInfo {\r\n amountUSD!: number;\r\n count!: number;\r\n\r\n constructor(data?: ITeamCostInfo) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.amountUSD = _data[\"amountUSD\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamCostInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamCostInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amountUSD\"] = this.amountUSD;\r\n data[\"count\"] = this.count;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamCostInfo extends ICostInfo {\r\n amountUSD: number;\r\n count: number;\r\n}\r\n\r\nexport class DashboardReviewInfo implements IDashboardReviewInfo {\r\n id!: string;\r\n fullName!: string | undefined;\r\n teamName!: string | undefined;\r\n created!: string;\r\n stars!: number;\r\n comment!: string | undefined;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IDashboardReviewInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.created = _data[\"created\"];\r\n this.stars = _data[\"stars\"];\r\n this.comment = _data[\"comment\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardReviewInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardReviewInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"created\"] = this.created;\r\n data[\"stars\"] = this.stars;\r\n data[\"comment\"] = this.comment;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardReviewInfo {\r\n id: string;\r\n fullName: string | undefined;\r\n teamName: string | undefined;\r\n created: string;\r\n stars: number;\r\n comment: string | undefined;\r\n workspaceId: string;\r\n}\r\n\r\nexport class EnrollmentSettingsModel implements IEnrollmentSettingsModel {\r\n enableAutoEnrollment!: boolean;\r\n autoEnrollmentMemberGroupId!: string | undefined;\r\n restrictByEmailDomain!: boolean;\r\n emailDomains!: string[];\r\n\r\n constructor(data?: IEnrollmentSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enableAutoEnrollment = _data[\"enableAutoEnrollment\"];\r\n this.autoEnrollmentMemberGroupId = _data[\"autoEnrollmentMemberGroupId\"];\r\n this.restrictByEmailDomain = _data[\"restrictByEmailDomain\"];\r\n if (Array.isArray(_data[\"emailDomains\"])) {\r\n this.emailDomains = [] as any;\r\n for (let item of _data[\"emailDomains\"])\r\n this.emailDomains!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnrollmentSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnrollmentSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enableAutoEnrollment\"] = this.enableAutoEnrollment;\r\n data[\"autoEnrollmentMemberGroupId\"] = this.autoEnrollmentMemberGroupId;\r\n data[\"restrictByEmailDomain\"] = this.restrictByEmailDomain;\r\n if (Array.isArray(this.emailDomains)) {\r\n data[\"emailDomains\"] = [];\r\n for (let item of this.emailDomains)\r\n data[\"emailDomains\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnrollmentSettingsModel {\r\n enableAutoEnrollment: boolean;\r\n autoEnrollmentMemberGroupId: string | undefined;\r\n restrictByEmailDomain: boolean;\r\n emailDomains: string[];\r\n}\r\n\r\nexport class AccountAdminInfoViewModel implements IAccountAdminInfoViewModel {\r\n memberId!: string;\r\n fullName!: string;\r\n email!: string;\r\n created!: string | undefined;\r\n role!: string;\r\n imageUrl!: string | undefined;\r\n\r\n constructor(data?: IAccountAdminInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.created = _data[\"created\"];\r\n this.role = _data[\"role\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountAdminInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountAdminInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"created\"] = this.created;\r\n data[\"role\"] = this.role;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountAdminInfoViewModel {\r\n memberId: string;\r\n fullName: string;\r\n email: string;\r\n created: string | undefined;\r\n role: string;\r\n imageUrl: string | undefined;\r\n}\r\n\r\nexport class AddAccountAdminModel implements IAddAccountAdminModel {\r\n email!: string;\r\n\r\n constructor(data?: IAddAccountAdminModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddAccountAdminModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddAccountAdminModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddAccountAdminModel {\r\n email: string;\r\n}\r\n\r\nexport class EnterpriseAccountApiClientListItemViewModel implements IEnterpriseAccountApiClientListItemViewModel {\r\n clientId!: string;\r\n subscriptionKey!: string | undefined;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IEnterpriseAccountApiClientListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.subscriptionKey = _data[\"subscriptionKey\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountApiClientListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountApiClientListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"subscriptionKey\"] = this.subscriptionKey;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountApiClientListItemViewModel {\r\n clientId: string;\r\n subscriptionKey: string | undefined;\r\n name: string | undefined;\r\n}\r\n\r\nexport class EditableEnterpriseAccountApiClientViewModel implements IEditableEnterpriseAccountApiClientViewModel {\r\n clientId!: string;\r\n clientSecret!: string;\r\n subscriptionKey!: string | undefined;\r\n description!: string | undefined;\r\n name!: string | undefined;\r\n allowedGrantTypes!: string[];\r\n allowedScopes!: string[];\r\n allowedImpersonationScopes!: string[];\r\n\r\n constructor(data?: IEditableEnterpriseAccountApiClientViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.subscriptionKey = _data[\"subscriptionKey\"];\r\n this.description = _data[\"description\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"allowedGrantTypes\"])) {\r\n this.allowedGrantTypes = [] as any;\r\n for (let item of _data[\"allowedGrantTypes\"])\r\n this.allowedGrantTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"allowedScopes\"])) {\r\n this.allowedScopes = [] as any;\r\n for (let item of _data[\"allowedScopes\"])\r\n this.allowedScopes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"allowedImpersonationScopes\"])) {\r\n this.allowedImpersonationScopes = [] as any;\r\n for (let item of _data[\"allowedImpersonationScopes\"])\r\n this.allowedImpersonationScopes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditableEnterpriseAccountApiClientViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditableEnterpriseAccountApiClientViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"subscriptionKey\"] = this.subscriptionKey;\r\n data[\"description\"] = this.description;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.allowedGrantTypes)) {\r\n data[\"allowedGrantTypes\"] = [];\r\n for (let item of this.allowedGrantTypes)\r\n data[\"allowedGrantTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.allowedScopes)) {\r\n data[\"allowedScopes\"] = [];\r\n for (let item of this.allowedScopes)\r\n data[\"allowedScopes\"].push(item);\r\n }\r\n if (Array.isArray(this.allowedImpersonationScopes)) {\r\n data[\"allowedImpersonationScopes\"] = [];\r\n for (let item of this.allowedImpersonationScopes)\r\n data[\"allowedImpersonationScopes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditableEnterpriseAccountApiClientViewModel {\r\n clientId: string;\r\n clientSecret: string;\r\n subscriptionKey: string | undefined;\r\n description: string | undefined;\r\n name: string | undefined;\r\n allowedGrantTypes: string[];\r\n allowedScopes: string[];\r\n allowedImpersonationScopes: string[];\r\n}\r\n\r\nexport class EnterpriseAccountBillingModel implements IEnterpriseAccountBillingModel {\r\n id!: string;\r\n billingDate!: string;\r\n invoiceId!: string | undefined;\r\n invoicePdfUrl!: string | undefined;\r\n billableUsersCount!: number;\r\n billingItems!: EnterpriseAccountBillingItemModel[];\r\n status!: EnterpriseAccountBillingStatus;\r\n\r\n constructor(data?: IEnterpriseAccountBillingModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.billingDate = _data[\"billingDate\"];\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.invoicePdfUrl = _data[\"invoicePdfUrl\"];\r\n this.billableUsersCount = _data[\"billableUsersCount\"];\r\n if (Array.isArray(_data[\"billingItems\"])) {\r\n this.billingItems = [] as any;\r\n for (let item of _data[\"billingItems\"])\r\n this.billingItems!.push(EnterpriseAccountBillingItemModel.fromJS(item));\r\n }\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountBillingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountBillingModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"billingDate\"] = this.billingDate;\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"invoicePdfUrl\"] = this.invoicePdfUrl;\r\n data[\"billableUsersCount\"] = this.billableUsersCount;\r\n if (Array.isArray(this.billingItems)) {\r\n data[\"billingItems\"] = [];\r\n for (let item of this.billingItems)\r\n data[\"billingItems\"].push(item.toJSON());\r\n }\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountBillingModel {\r\n id: string;\r\n billingDate: string;\r\n invoiceId: string | undefined;\r\n invoicePdfUrl: string | undefined;\r\n billableUsersCount: number;\r\n billingItems: EnterpriseAccountBillingItemModel[];\r\n status: EnterpriseAccountBillingStatus;\r\n}\r\n\r\nexport class EnterpriseAccountBillingItemModel implements IEnterpriseAccountBillingItemModel {\r\n feeType!: EnterpriseAccountFeeType;\r\n periodStartDate!: string;\r\n periodEndDate!: string;\r\n description!: string | undefined;\r\n costPerUnit!: number;\r\n units!: number;\r\n currency!: CurrencyType;\r\n\r\n constructor(data?: IEnterpriseAccountBillingItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.feeType = _data[\"feeType\"];\r\n this.periodStartDate = _data[\"periodStartDate\"];\r\n this.periodEndDate = _data[\"periodEndDate\"];\r\n this.description = _data[\"description\"];\r\n this.costPerUnit = _data[\"costPerUnit\"];\r\n this.units = _data[\"units\"];\r\n this.currency = _data[\"currency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountBillingItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountBillingItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"feeType\"] = this.feeType;\r\n data[\"periodStartDate\"] = this.periodStartDate;\r\n data[\"periodEndDate\"] = this.periodEndDate;\r\n data[\"description\"] = this.description;\r\n data[\"costPerUnit\"] = this.costPerUnit;\r\n data[\"units\"] = this.units;\r\n data[\"currency\"] = this.currency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountBillingItemModel {\r\n feeType: EnterpriseAccountFeeType;\r\n periodStartDate: string;\r\n periodEndDate: string;\r\n description: string | undefined;\r\n costPerUnit: number;\r\n units: number;\r\n currency: CurrencyType;\r\n}\r\n\r\n/** 0 = PlatformFee 1 = UserFee 2 = ProfessionalServices 3 = HqHub 4 = Other 5 = Credit */\r\nexport enum EnterpriseAccountFeeType {\r\n PlatformFee = 0,\r\n UserFee = 1,\r\n ProfessionalServices = 2,\r\n HqHub = 3,\r\n Other = 4,\r\n Credit = 5,\r\n}\r\n\r\n/** 0 = Unknown 1 = Scheduled 2 = Due 3 = Overdue 4 = Complete 5 = ProcessingError 6 = Cancelled */\r\nexport enum EnterpriseAccountBillingStatus {\r\n Unknown = 0,\r\n Scheduled = 1,\r\n Due = 2,\r\n Overdue = 3,\r\n Complete = 4,\r\n ProcessingError = 5,\r\n Cancelled = 6,\r\n}\r\n\r\nexport class EnterpriseAccountBillingCreateRequest implements IEnterpriseAccountBillingCreateRequest {\r\n billingDate!: string;\r\n billableUsersCount!: number;\r\n billingItems!: EnterpriseAccountBillingItemModel[];\r\n\r\n constructor(data?: IEnterpriseAccountBillingCreateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.billingDate = _data[\"billingDate\"];\r\n this.billableUsersCount = _data[\"billableUsersCount\"];\r\n if (Array.isArray(_data[\"billingItems\"])) {\r\n this.billingItems = [] as any;\r\n for (let item of _data[\"billingItems\"])\r\n this.billingItems!.push(EnterpriseAccountBillingItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountBillingCreateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountBillingCreateRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"billingDate\"] = this.billingDate;\r\n data[\"billableUsersCount\"] = this.billableUsersCount;\r\n if (Array.isArray(this.billingItems)) {\r\n data[\"billingItems\"] = [];\r\n for (let item of this.billingItems)\r\n data[\"billingItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountBillingCreateRequest {\r\n billingDate: string;\r\n billableUsersCount: number;\r\n billingItems: EnterpriseAccountBillingItemModel[];\r\n}\r\n\r\nexport class AccountInfoViewModel implements IAccountInfoViewModel {\r\n id!: string;\r\n name!: string;\r\n portalUrl!: string | undefined;\r\n logoUrl!: string | undefined;\r\n portalType!: BrandedPortalType;\r\n emailDomains!: string[];\r\n isMarketplaceAccount!: boolean;\r\n socialCollaborationPortalEnabled!: boolean;\r\n marketplaceEffectiveDate!: string | undefined;\r\n invoiceGenerationStatus!: InvoiceGenerationStatus;\r\n\r\n constructor(data?: IAccountInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.portalUrl = _data[\"portalUrl\"];\r\n this.logoUrl = _data[\"logoUrl\"];\r\n this.portalType = _data[\"portalType\"];\r\n if (Array.isArray(_data[\"emailDomains\"])) {\r\n this.emailDomains = [] as any;\r\n for (let item of _data[\"emailDomains\"])\r\n this.emailDomains!.push(item);\r\n }\r\n this.isMarketplaceAccount = _data[\"isMarketplaceAccount\"];\r\n this.socialCollaborationPortalEnabled = _data[\"socialCollaborationPortalEnabled\"];\r\n this.marketplaceEffectiveDate = _data[\"marketplaceEffectiveDate\"];\r\n this.invoiceGenerationStatus = _data[\"invoiceGenerationStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"portalUrl\"] = this.portalUrl;\r\n data[\"logoUrl\"] = this.logoUrl;\r\n data[\"portalType\"] = this.portalType;\r\n if (Array.isArray(this.emailDomains)) {\r\n data[\"emailDomains\"] = [];\r\n for (let item of this.emailDomains)\r\n data[\"emailDomains\"].push(item);\r\n }\r\n data[\"isMarketplaceAccount\"] = this.isMarketplaceAccount;\r\n data[\"socialCollaborationPortalEnabled\"] = this.socialCollaborationPortalEnabled;\r\n data[\"marketplaceEffectiveDate\"] = this.marketplaceEffectiveDate;\r\n data[\"invoiceGenerationStatus\"] = this.invoiceGenerationStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountInfoViewModel {\r\n id: string;\r\n name: string;\r\n portalUrl: string | undefined;\r\n logoUrl: string | undefined;\r\n portalType: BrandedPortalType;\r\n emailDomains: string[];\r\n isMarketplaceAccount: boolean;\r\n socialCollaborationPortalEnabled: boolean;\r\n marketplaceEffectiveDate: string | undefined;\r\n invoiceGenerationStatus: InvoiceGenerationStatus;\r\n}\r\n\r\n/** 0 = Paused 1 = Draft 2 = Retired */\r\nexport enum InvoiceGenerationStatus {\r\n Paused = 0,\r\n Draft = 1,\r\n Retired = 2,\r\n}\r\n\r\nexport class EnterpriseAccountListViewModel implements IEnterpriseAccountListViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IEnterpriseAccountListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"EnterpriseAccountListViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"EnterpriseAccountExtendedListViewModel\") {\r\n let result = new EnterpriseAccountExtendedListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new EnterpriseAccountListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountListViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class EnterpriseAccountExtendedListViewModel extends EnterpriseAccountListViewModel implements IEnterpriseAccountExtendedListViewModel {\r\n plan!: EnterpriseAccountPlan;\r\n status!: EnterpriseAccountStatus;\r\n demandType!: EnterpriseDemandType;\r\n classification!: EnterpriseClassification;\r\n totalAvailableMarket!: number | undefined;\r\n serviceableAvailableMarket!: number | undefined;\r\n currentlyAddressableMarket!: number | undefined;\r\n\r\n constructor(data?: IEnterpriseAccountExtendedListViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"EnterpriseAccountExtendedListViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.plan = _data[\"plan\"];\r\n this.status = _data[\"status\"];\r\n this.demandType = _data[\"demandType\"];\r\n this.classification = _data[\"classification\"];\r\n this.totalAvailableMarket = _data[\"totalAvailableMarket\"];\r\n this.serviceableAvailableMarket = _data[\"serviceableAvailableMarket\"];\r\n this.currentlyAddressableMarket = _data[\"currentlyAddressableMarket\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountExtendedListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountExtendedListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"plan\"] = this.plan;\r\n data[\"status\"] = this.status;\r\n data[\"demandType\"] = this.demandType;\r\n data[\"classification\"] = this.classification;\r\n data[\"totalAvailableMarket\"] = this.totalAvailableMarket;\r\n data[\"serviceableAvailableMarket\"] = this.serviceableAvailableMarket;\r\n data[\"currentlyAddressableMarket\"] = this.currentlyAddressableMarket;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountExtendedListViewModel extends IEnterpriseAccountListViewModel {\r\n plan: EnterpriseAccountPlan;\r\n status: EnterpriseAccountStatus;\r\n demandType: EnterpriseDemandType;\r\n classification: EnterpriseClassification;\r\n totalAvailableMarket: number | undefined;\r\n serviceableAvailableMarket: number | undefined;\r\n currentlyAddressableMarket: number | undefined;\r\n}\r\n\r\n/** 0 = Basic 1 = Plus 2 = Premium 3 = PremiumPilot 4 = Team 5 = Business 6 = Enterprise */\r\nexport enum EnterpriseAccountPlan {\r\n Basic = 0,\r\n Plus = 1,\r\n Premium = 2,\r\n PremiumPilot = 3,\r\n Team = 4,\r\n Business = 5,\r\n Enterprise = 6,\r\n}\r\n\r\n/** 0 = Demo 1 = Proposed 2 = Setup 3 = Active 4 = Inactive 5 = Suspended 6 = Retired 7 = Pilot */\r\nexport enum EnterpriseAccountStatus {\r\n Demo = 0,\r\n Proposed = 1,\r\n Setup = 2,\r\n Active = 3,\r\n Inactive = 4,\r\n Suspended = 5,\r\n Retired = 6,\r\n Pilot = 7,\r\n}\r\n\r\n/** 0 = Unknown 1 = OnDemand 2 = Dedicated 3 = OnDemandAndDedicated */\r\nexport enum EnterpriseDemandType {\r\n Unknown = 0,\r\n OnDemand = 1,\r\n Dedicated = 2,\r\n OnDemandAndDedicated = 3,\r\n}\r\n\r\n/** 0 = Unknown 1 = Tier1 2 = Tier2 3 = Tier3 4 = Tier4 */\r\nexport enum EnterpriseClassification {\r\n Unknown = 0,\r\n Tier1 = 1,\r\n Tier2 = 2,\r\n Tier3 = 3,\r\n Tier4 = 4,\r\n}\r\n\r\nexport class TeamInfoViewModel implements ITeamInfoViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n ownerName!: string | undefined;\r\n modifiedDate!: string | undefined;\r\n memberCount!: number;\r\n isActive!: boolean;\r\n\r\n constructor(data?: ITeamInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.ownerName = _data[\"ownerName\"];\r\n this.modifiedDate = _data[\"modifiedDate\"];\r\n this.memberCount = _data[\"memberCount\"];\r\n this.isActive = _data[\"isActive\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"ownerName\"] = this.ownerName;\r\n data[\"modifiedDate\"] = this.modifiedDate;\r\n data[\"memberCount\"] = this.memberCount;\r\n data[\"isActive\"] = this.isActive;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamInfoViewModel {\r\n id: string;\r\n name: string | undefined;\r\n ownerName: string | undefined;\r\n modifiedDate: string | undefined;\r\n memberCount: number;\r\n isActive: boolean;\r\n}\r\n\r\nexport class TeamListItemViewModel implements ITeamListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: ITeamListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class AccountModel implements IAccountModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n contactName!: string | undefined;\r\n contactEmail!: string | undefined;\r\n simpleAddress1!: string | undefined;\r\n simpleAddress2!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n zip!: string | undefined;\r\n country!: string | undefined;\r\n salesRepEmail!: string | undefined;\r\n liquidSpaceAccountManager!: string | undefined;\r\n status!: EnterpriseAccountStatus;\r\n\r\n constructor(data?: IAccountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.simpleAddress1 = _data[\"simpleAddress1\"];\r\n this.simpleAddress2 = _data[\"simpleAddress2\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.country = _data[\"country\"];\r\n this.salesRepEmail = _data[\"salesRepEmail\"];\r\n this.liquidSpaceAccountManager = _data[\"liquidSpaceAccountManager\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"simpleAddress1\"] = this.simpleAddress1;\r\n data[\"simpleAddress2\"] = this.simpleAddress2;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"country\"] = this.country;\r\n data[\"salesRepEmail\"] = this.salesRepEmail;\r\n data[\"liquidSpaceAccountManager\"] = this.liquidSpaceAccountManager;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n contactName: string | undefined;\r\n contactEmail: string | undefined;\r\n simpleAddress1: string | undefined;\r\n simpleAddress2: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n country: string | undefined;\r\n salesRepEmail: string | undefined;\r\n liquidSpaceAccountManager: string | undefined;\r\n status: EnterpriseAccountStatus;\r\n}\r\n\r\nexport class EnterpriseAccountSettingsModel implements IEnterpriseAccountSettingsModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n contactName!: string | undefined;\r\n contactEmail!: string | undefined;\r\n simpleAddress1!: string | undefined;\r\n simpleAddress2!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n zip!: string | undefined;\r\n country!: string | undefined;\r\n status!: EnterpriseAccountStatus;\r\n salesRepEmail!: string;\r\n liquidSpaceAccountManager!: string | undefined;\r\n liquidSpaceTransactionManager!: string | undefined;\r\n securityContact!: string | undefined;\r\n plan!: EnterpriseAccountPlan;\r\n classification!: EnterpriseClassification;\r\n memberLimit!: number;\r\n teamLimit!: number;\r\n activeDate!: string | undefined;\r\n subscriptionCost!: string | undefined;\r\n subscriptionTerm!: number | undefined;\r\n socialActivityEnabled!: boolean;\r\n socialCollaborationPortalEnabled!: boolean;\r\n enhancedReservationRemindersEnabled!: boolean;\r\n emailDomains!: string | undefined;\r\n totalAvailableMarket!: number | undefined;\r\n serviceableAvailableMarket!: number | undefined;\r\n currentlyAddressableMarket!: number | undefined;\r\n demandType!: EnterpriseDemandType;\r\n isMarketplaceAccount!: boolean;\r\n displayExtendedNetwork!: DisplayExtendedNetwork;\r\n campaignOptions!: CampaignOptionsModel;\r\n financeContacts!: string[];\r\n billingPeriod!: EnterpriseAccountBillingPeriod;\r\n platformFee!: number | undefined;\r\n userFee!: number | undefined;\r\n enableBilling!: boolean;\r\n billingStartDate!: string | undefined;\r\n billingEndDate!: string | undefined;\r\n liquidSpaceTutorials!: boolean;\r\n purchaseOrderNumber!: string | undefined;\r\n serviceChargeEnabled!: boolean;\r\n enableWireTransferPayments!: boolean;\r\n marketplaceInvoiceStatus!: InvoiceGenerationStatus;\r\n marketplaceEffectiveDate!: string | undefined;\r\n marketplaceTargetBalance!: number | undefined;\r\n marketplacePaymentTerm!: PaymentTerm;\r\n financeNotesInternal!: string | undefined;\r\n billingPaymentTerm!: PaymentTerm | undefined;\r\n customerProfileId!: string | undefined;\r\n\r\n constructor(data?: IEnterpriseAccountSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.simpleAddress1 = _data[\"simpleAddress1\"];\r\n this.simpleAddress2 = _data[\"simpleAddress2\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.country = _data[\"country\"];\r\n this.status = _data[\"status\"];\r\n this.salesRepEmail = _data[\"salesRepEmail\"];\r\n this.liquidSpaceAccountManager = _data[\"liquidSpaceAccountManager\"];\r\n this.liquidSpaceTransactionManager = _data[\"liquidSpaceTransactionManager\"];\r\n this.securityContact = _data[\"securityContact\"];\r\n this.plan = _data[\"plan\"];\r\n this.classification = _data[\"classification\"];\r\n this.memberLimit = _data[\"memberLimit\"];\r\n this.teamLimit = _data[\"teamLimit\"];\r\n this.activeDate = _data[\"activeDate\"];\r\n this.subscriptionCost = _data[\"subscriptionCost\"];\r\n this.subscriptionTerm = _data[\"subscriptionTerm\"];\r\n this.socialActivityEnabled = _data[\"socialActivityEnabled\"];\r\n this.socialCollaborationPortalEnabled = _data[\"socialCollaborationPortalEnabled\"];\r\n this.enhancedReservationRemindersEnabled = _data[\"enhancedReservationRemindersEnabled\"];\r\n this.emailDomains = _data[\"emailDomains\"];\r\n this.totalAvailableMarket = _data[\"totalAvailableMarket\"];\r\n this.serviceableAvailableMarket = _data[\"serviceableAvailableMarket\"];\r\n this.currentlyAddressableMarket = _data[\"currentlyAddressableMarket\"];\r\n this.demandType = _data[\"demandType\"];\r\n this.isMarketplaceAccount = _data[\"isMarketplaceAccount\"];\r\n this.displayExtendedNetwork = _data[\"displayExtendedNetwork\"];\r\n this.campaignOptions = _data[\"campaignOptions\"] ? CampaignOptionsModel.fromJS(_data[\"campaignOptions\"]) : undefined;\r\n if (Array.isArray(_data[\"financeContacts\"])) {\r\n this.financeContacts = [] as any;\r\n for (let item of _data[\"financeContacts\"])\r\n this.financeContacts!.push(item);\r\n }\r\n this.billingPeriod = _data[\"billingPeriod\"];\r\n this.platformFee = _data[\"platformFee\"];\r\n this.userFee = _data[\"userFee\"];\r\n this.enableBilling = _data[\"enableBilling\"];\r\n this.billingStartDate = _data[\"billingStartDate\"];\r\n this.billingEndDate = _data[\"billingEndDate\"];\r\n this.liquidSpaceTutorials = _data[\"liquidSpaceTutorials\"];\r\n this.purchaseOrderNumber = _data[\"purchaseOrderNumber\"];\r\n this.serviceChargeEnabled = _data[\"serviceChargeEnabled\"];\r\n this.enableWireTransferPayments = _data[\"enableWireTransferPayments\"];\r\n this.marketplaceInvoiceStatus = _data[\"marketplaceInvoiceStatus\"];\r\n this.marketplaceEffectiveDate = _data[\"marketplaceEffectiveDate\"];\r\n this.marketplaceTargetBalance = _data[\"marketplaceTargetBalance\"];\r\n this.marketplacePaymentTerm = _data[\"marketplacePaymentTerm\"];\r\n this.financeNotesInternal = _data[\"financeNotesInternal\"];\r\n this.billingPaymentTerm = _data[\"billingPaymentTerm\"];\r\n this.customerProfileId = _data[\"customerProfileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"simpleAddress1\"] = this.simpleAddress1;\r\n data[\"simpleAddress2\"] = this.simpleAddress2;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"country\"] = this.country;\r\n data[\"status\"] = this.status;\r\n data[\"salesRepEmail\"] = this.salesRepEmail;\r\n data[\"liquidSpaceAccountManager\"] = this.liquidSpaceAccountManager;\r\n data[\"liquidSpaceTransactionManager\"] = this.liquidSpaceTransactionManager;\r\n data[\"securityContact\"] = this.securityContact;\r\n data[\"plan\"] = this.plan;\r\n data[\"classification\"] = this.classification;\r\n data[\"memberLimit\"] = this.memberLimit;\r\n data[\"teamLimit\"] = this.teamLimit;\r\n data[\"activeDate\"] = this.activeDate;\r\n data[\"subscriptionCost\"] = this.subscriptionCost;\r\n data[\"subscriptionTerm\"] = this.subscriptionTerm;\r\n data[\"socialActivityEnabled\"] = this.socialActivityEnabled;\r\n data[\"socialCollaborationPortalEnabled\"] = this.socialCollaborationPortalEnabled;\r\n data[\"enhancedReservationRemindersEnabled\"] = this.enhancedReservationRemindersEnabled;\r\n data[\"emailDomains\"] = this.emailDomains;\r\n data[\"totalAvailableMarket\"] = this.totalAvailableMarket;\r\n data[\"serviceableAvailableMarket\"] = this.serviceableAvailableMarket;\r\n data[\"currentlyAddressableMarket\"] = this.currentlyAddressableMarket;\r\n data[\"demandType\"] = this.demandType;\r\n data[\"isMarketplaceAccount\"] = this.isMarketplaceAccount;\r\n data[\"displayExtendedNetwork\"] = this.displayExtendedNetwork;\r\n data[\"campaignOptions\"] = this.campaignOptions ? this.campaignOptions.toJSON() : undefined;\r\n if (Array.isArray(this.financeContacts)) {\r\n data[\"financeContacts\"] = [];\r\n for (let item of this.financeContacts)\r\n data[\"financeContacts\"].push(item);\r\n }\r\n data[\"billingPeriod\"] = this.billingPeriod;\r\n data[\"platformFee\"] = this.platformFee;\r\n data[\"userFee\"] = this.userFee;\r\n data[\"enableBilling\"] = this.enableBilling;\r\n data[\"billingStartDate\"] = this.billingStartDate;\r\n data[\"billingEndDate\"] = this.billingEndDate;\r\n data[\"liquidSpaceTutorials\"] = this.liquidSpaceTutorials;\r\n data[\"purchaseOrderNumber\"] = this.purchaseOrderNumber;\r\n data[\"serviceChargeEnabled\"] = this.serviceChargeEnabled;\r\n data[\"enableWireTransferPayments\"] = this.enableWireTransferPayments;\r\n data[\"marketplaceInvoiceStatus\"] = this.marketplaceInvoiceStatus;\r\n data[\"marketplaceEffectiveDate\"] = this.marketplaceEffectiveDate;\r\n data[\"marketplaceTargetBalance\"] = this.marketplaceTargetBalance;\r\n data[\"marketplacePaymentTerm\"] = this.marketplacePaymentTerm;\r\n data[\"financeNotesInternal\"] = this.financeNotesInternal;\r\n data[\"billingPaymentTerm\"] = this.billingPaymentTerm;\r\n data[\"customerProfileId\"] = this.customerProfileId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountSettingsModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n contactName: string | undefined;\r\n contactEmail: string | undefined;\r\n simpleAddress1: string | undefined;\r\n simpleAddress2: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n country: string | undefined;\r\n status: EnterpriseAccountStatus;\r\n salesRepEmail: string;\r\n liquidSpaceAccountManager: string | undefined;\r\n liquidSpaceTransactionManager: string | undefined;\r\n securityContact: string | undefined;\r\n plan: EnterpriseAccountPlan;\r\n classification: EnterpriseClassification;\r\n memberLimit: number;\r\n teamLimit: number;\r\n activeDate: string | undefined;\r\n subscriptionCost: string | undefined;\r\n subscriptionTerm: number | undefined;\r\n socialActivityEnabled: boolean;\r\n socialCollaborationPortalEnabled: boolean;\r\n enhancedReservationRemindersEnabled: boolean;\r\n emailDomains: string | undefined;\r\n totalAvailableMarket: number | undefined;\r\n serviceableAvailableMarket: number | undefined;\r\n currentlyAddressableMarket: number | undefined;\r\n demandType: EnterpriseDemandType;\r\n isMarketplaceAccount: boolean;\r\n displayExtendedNetwork: DisplayExtendedNetwork;\r\n campaignOptions: CampaignOptionsModel;\r\n financeContacts: string[];\r\n billingPeriod: EnterpriseAccountBillingPeriod;\r\n platformFee: number | undefined;\r\n userFee: number | undefined;\r\n enableBilling: boolean;\r\n billingStartDate: string | undefined;\r\n billingEndDate: string | undefined;\r\n liquidSpaceTutorials: boolean;\r\n purchaseOrderNumber: string | undefined;\r\n serviceChargeEnabled: boolean;\r\n enableWireTransferPayments: boolean;\r\n marketplaceInvoiceStatus: InvoiceGenerationStatus;\r\n marketplaceEffectiveDate: string | undefined;\r\n marketplaceTargetBalance: number | undefined;\r\n marketplacePaymentTerm: PaymentTerm;\r\n financeNotesInternal: string | undefined;\r\n billingPaymentTerm: PaymentTerm | undefined;\r\n customerProfileId: string | undefined;\r\n}\r\n\r\n/** 0 = None 1 = OnDemand 2 = Dedicated 3 = Both */\r\nexport enum DisplayExtendedNetwork {\r\n None = 0,\r\n OnDemand = 1,\r\n Dedicated = 2,\r\n Both = 3,\r\n}\r\n\r\nexport class CampaignOptionsModel implements ICampaignOptionsModel {\r\n campaignVideoEnabled!: boolean;\r\n loomVideoUrl!: string | undefined;\r\n\r\n constructor(data?: ICampaignOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.campaignVideoEnabled = _data[\"campaignVideoEnabled\"];\r\n this.loomVideoUrl = _data[\"loomVideoUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CampaignOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CampaignOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"campaignVideoEnabled\"] = this.campaignVideoEnabled;\r\n data[\"loomVideoUrl\"] = this.loomVideoUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICampaignOptionsModel {\r\n campaignVideoEnabled: boolean;\r\n loomVideoUrl: string | undefined;\r\n}\r\n\r\n/** 0 = Monthly 1 = Annual */\r\nexport enum EnterpriseAccountBillingPeriod {\r\n Monthly = 0,\r\n Annual = 1,\r\n}\r\n\r\n/** 0 = Net15 1 = Net30 2 = Net45 3 = Net60 */\r\nexport enum PaymentTerm {\r\n Net15 = 0,\r\n Net30 = 1,\r\n Net45 = 2,\r\n Net60 = 3,\r\n}\r\n\r\nexport class EventHistoryModel implements IEventHistoryModel {\r\n id!: string;\r\n typedObjectId!: string;\r\n type!: EventHistoryType;\r\n state!: EventHistoryState;\r\n created!: string;\r\n message!: string;\r\n authorEmail!: string | undefined;\r\n\r\n constructor(data?: IEventHistoryModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.typedObjectId = _data[\"typedObjectId\"];\r\n this.type = _data[\"type\"];\r\n this.state = _data[\"state\"];\r\n this.created = _data[\"created\"];\r\n this.message = _data[\"message\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EventHistoryModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EventHistoryModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"typedObjectId\"] = this.typedObjectId;\r\n data[\"type\"] = this.type;\r\n data[\"state\"] = this.state;\r\n data[\"created\"] = this.created;\r\n data[\"message\"] = this.message;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEventHistoryModel {\r\n id: string;\r\n typedObjectId: string;\r\n type: EventHistoryType;\r\n state: EventHistoryState;\r\n created: string;\r\n message: string;\r\n authorEmail: string | undefined;\r\n}\r\n\r\n/** 0 = Member 1 = Venue 2 = EnterpriseAccount */\r\nexport enum EventHistoryType {\r\n Member = 0,\r\n Venue = 1,\r\n EnterpriseAccount = 2,\r\n}\r\n\r\n/** 0 = Note 1 = StatusChange 2 = EventEdited 3 = EventDeleted 4 = MembershipStatusChange 5 = LiquidspaceProStatusChange 6 = AccountCreated 7 = AccountEdited 8 = AdminAdded 9 = AdminRemoved 10 = VideoWatchedInterested 11 = VideoWatchedNotInterested */\r\nexport enum EventHistoryState {\r\n Note = 0,\r\n StatusChange = 1,\r\n EventEdited = 2,\r\n EventDeleted = 3,\r\n MembershipStatusChange = 4,\r\n LiquidspaceProStatusChange = 5,\r\n AccountCreated = 6,\r\n AccountEdited = 7,\r\n AdminAdded = 8,\r\n AdminRemoved = 9,\r\n VideoWatchedInterested = 10,\r\n VideoWatchedNotInterested = 11,\r\n}\r\n\r\nexport class EnterpriseAccountHeadquarterViewModel implements IEnterpriseAccountHeadquarterViewModel {\r\n name!: string;\r\n venueId!: string;\r\n geofence!: GeofenceViewModel;\r\n customCTA!: CustomCTAViewModel;\r\n\r\n constructor(data?: IEnterpriseAccountHeadquarterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.geofence = _data[\"geofence\"] ? GeofenceViewModel.fromJS(_data[\"geofence\"]) : undefined;\r\n this.customCTA = _data[\"customCTA\"] ? CustomCTAViewModel.fromJS(_data[\"customCTA\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountHeadquarterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountHeadquarterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"geofence\"] = this.geofence ? this.geofence.toJSON() : undefined;\r\n data[\"customCTA\"] = this.customCTA ? this.customCTA.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountHeadquarterViewModel {\r\n name: string;\r\n venueId: string;\r\n geofence: GeofenceViewModel;\r\n customCTA: CustomCTAViewModel;\r\n}\r\n\r\nexport class GeofenceViewModel implements IGeofenceViewModel {\r\n enabled!: boolean;\r\n radiusMiles!: number;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IGeofenceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.radiusMiles = _data[\"radiusMiles\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeofenceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeofenceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"radiusMiles\"] = this.radiusMiles;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeofenceViewModel {\r\n enabled: boolean;\r\n radiusMiles: number;\r\n message: string | undefined;\r\n}\r\n\r\nexport class CustomCTAViewModel implements ICustomCTAViewModel {\r\n enabled!: boolean;\r\n text!: string | undefined;\r\n url!: string | undefined;\r\n\r\n constructor(data?: ICustomCTAViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.text = _data[\"text\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomCTAViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomCTAViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"text\"] = this.text;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomCTAViewModel {\r\n enabled: boolean;\r\n text: string | undefined;\r\n url: string | undefined;\r\n}\r\n\r\nexport class TeamMemberInfoViewModel implements ITeamMemberInfoViewModel {\r\n memberId!: string;\r\n fullName!: string;\r\n email!: string;\r\n created!: string | undefined;\r\n notes!: string;\r\n status!: EnterpriseAccountInvitationStatus;\r\n teamId!: string;\r\n teamName!: string;\r\n homeBase!: string | undefined;\r\n isSuspended!: boolean;\r\n\r\n constructor(data?: ITeamMemberInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.created = _data[\"created\"];\r\n this.notes = _data[\"notes\"];\r\n this.status = _data[\"status\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.homeBase = _data[\"homeBase\"];\r\n this.isSuspended = _data[\"isSuspended\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"created\"] = this.created;\r\n data[\"notes\"] = this.notes;\r\n data[\"status\"] = this.status;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"homeBase\"] = this.homeBase;\r\n data[\"isSuspended\"] = this.isSuspended;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberInfoViewModel {\r\n memberId: string;\r\n fullName: string;\r\n email: string;\r\n created: string | undefined;\r\n notes: string;\r\n status: EnterpriseAccountInvitationStatus;\r\n teamId: string;\r\n teamName: string;\r\n homeBase: string | undefined;\r\n isSuspended: boolean;\r\n}\r\n\r\n/** 0 = None 1 = Invited 2 = Active 3 = Suspended 4 = Removed 5 = Pending */\r\nexport enum EnterpriseAccountInvitationStatus {\r\n None = 0,\r\n Invited = 1,\r\n Active = 2,\r\n Suspended = 3,\r\n Removed = 4,\r\n Pending = 5,\r\n}\r\n\r\nexport class TeamMemberViewModel implements ITeamMemberViewModel {\r\n id!: string;\r\n fullName!: string;\r\n email!: string | undefined;\r\n createdDate!: string | undefined;\r\n notes!: string | undefined;\r\n status!: EnterpriseAccountInvitationStatus;\r\n memberGroupStatus!: MemberGroupInvitationStatus;\r\n title!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n geoCity!: string | undefined;\r\n geoCountry!: string | undefined;\r\n picture!: string | undefined;\r\n team!: string | undefined;\r\n externalAccountId!: string | undefined;\r\n costCenter!: string | undefined;\r\n company!: string | undefined;\r\n teamId!: string;\r\n joinedDate!: string | undefined;\r\n lastActivityDate!: string | undefined;\r\n locations!: OnDemandLocationViewModel[];\r\n extendedSearchOptions!: ExtendedSearchOptionsModel | undefined;\r\n searchSettings!: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n country!: string | undefined;\r\n\r\n constructor(data?: ITeamMemberViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n this.notes = _data[\"notes\"];\r\n this.status = _data[\"status\"];\r\n this.memberGroupStatus = _data[\"memberGroupStatus\"];\r\n this.title = _data[\"title\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.geoCity = _data[\"geoCity\"];\r\n this.geoCountry = _data[\"geoCountry\"];\r\n this.picture = _data[\"picture\"];\r\n this.team = _data[\"team\"];\r\n this.externalAccountId = _data[\"externalAccountId\"];\r\n this.costCenter = _data[\"costCenter\"];\r\n this.company = _data[\"company\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.joinedDate = _data[\"joinedDate\"];\r\n this.lastActivityDate = _data[\"lastActivityDate\"];\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(OnDemandLocationViewModel.fromJS(item));\r\n }\r\n this.extendedSearchOptions = _data[\"extendedSearchOptions\"] ? ExtendedSearchOptionsModel.fromJS(_data[\"extendedSearchOptions\"]) : undefined;\r\n if (_data[\"searchSettings\"]) {\r\n this.searchSettings = {} as any;\r\n for (let key in _data[\"searchSettings\"]) {\r\n if (_data[\"searchSettings\"].hasOwnProperty(key))\r\n (this.searchSettings)![key] = _data[\"searchSettings\"][key];\r\n }\r\n }\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"createdDate\"] = this.createdDate;\r\n data[\"notes\"] = this.notes;\r\n data[\"status\"] = this.status;\r\n data[\"memberGroupStatus\"] = this.memberGroupStatus;\r\n data[\"title\"] = this.title;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"geoCity\"] = this.geoCity;\r\n data[\"geoCountry\"] = this.geoCountry;\r\n data[\"picture\"] = this.picture;\r\n data[\"team\"] = this.team;\r\n data[\"externalAccountId\"] = this.externalAccountId;\r\n data[\"costCenter\"] = this.costCenter;\r\n data[\"company\"] = this.company;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"joinedDate\"] = this.joinedDate;\r\n data[\"lastActivityDate\"] = this.lastActivityDate;\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n data[\"extendedSearchOptions\"] = this.extendedSearchOptions ? this.extendedSearchOptions.toJSON() : undefined;\r\n if (this.searchSettings) {\r\n data[\"searchSettings\"] = {};\r\n for (let key in this.searchSettings) {\r\n if (this.searchSettings.hasOwnProperty(key))\r\n (data[\"searchSettings\"])[key] = (this.searchSettings)[key];\r\n }\r\n }\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberViewModel {\r\n id: string;\r\n fullName: string;\r\n email: string | undefined;\r\n createdDate: string | undefined;\r\n notes: string | undefined;\r\n status: EnterpriseAccountInvitationStatus;\r\n memberGroupStatus: MemberGroupInvitationStatus;\r\n title: string | undefined;\r\n phoneNumber: string | undefined;\r\n geoCity: string | undefined;\r\n geoCountry: string | undefined;\r\n picture: string | undefined;\r\n team: string | undefined;\r\n externalAccountId: string | undefined;\r\n costCenter: string | undefined;\r\n company: string | undefined;\r\n teamId: string;\r\n joinedDate: string | undefined;\r\n lastActivityDate: string | undefined;\r\n locations: OnDemandLocationViewModel[];\r\n extendedSearchOptions: ExtendedSearchOptionsModel | undefined;\r\n searchSettings: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n country: string | undefined;\r\n}\r\n\r\n/** 0 = Pending 1 = Active -1 = None */\r\nexport enum MemberGroupInvitationStatus {\r\n Pending = 0,\r\n Active = 1,\r\n None = -1,\r\n}\r\n\r\nexport class OnDemandLocationViewModel implements IOnDemandLocationViewModel {\r\n locationType!: EnterpriseLocationType;\r\n id!: string;\r\n description!: string;\r\n locationId!: string;\r\n name!: string;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n isGeofenceEnabled!: boolean;\r\n geofenceRadiusMiles!: number | undefined;\r\n\r\n constructor(data?: IOnDemandLocationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationType = _data[\"locationType\"];\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.name = _data[\"name\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.isGeofenceEnabled = _data[\"isGeofenceEnabled\"];\r\n this.geofenceRadiusMiles = _data[\"geofenceRadiusMiles\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OnDemandLocationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OnDemandLocationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationType\"] = this.locationType;\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"name\"] = this.name;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"isGeofenceEnabled\"] = this.isGeofenceEnabled;\r\n data[\"geofenceRadiusMiles\"] = this.geofenceRadiusMiles;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOnDemandLocationViewModel {\r\n locationType: EnterpriseLocationType;\r\n id: string;\r\n description: string;\r\n locationId: string;\r\n name: string;\r\n city: string | undefined;\r\n state: string | undefined;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n isGeofenceEnabled: boolean;\r\n geofenceRadiusMiles: number | undefined;\r\n}\r\n\r\n/** 0 = Headquarter 1 = PreferredLocations */\r\nexport enum EnterpriseLocationType {\r\n Headquarter = 0,\r\n PreferredLocations = 1,\r\n}\r\n\r\nexport class ExtendedSearchOptionsModel implements IExtendedSearchOptionsModel {\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n spaceTypes!: SpaceType;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n liquidSpacePro!: boolean;\r\n immutableOptions!: ForceableExtendedSearchOptionsProperties[];\r\n location!: string | undefined;\r\n workspaceCapacity!: number | undefined;\r\n reservationLengthMinutes!: number | undefined;\r\n startTime!: string | undefined;\r\n hourlySpaceTypesWithoutTrainingArray!: SpaceType[];\r\n monthlySpaceTypesWithoutDesksArray!: SpaceType[];\r\n\r\n constructor(data?: IExtendedSearchOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.liquidSpacePro = _data[\"liquidSpacePro\"];\r\n if (Array.isArray(_data[\"immutableOptions\"])) {\r\n this.immutableOptions = [] as any;\r\n for (let item of _data[\"immutableOptions\"])\r\n this.immutableOptions!.push(item);\r\n }\r\n this.location = _data[\"location\"];\r\n this.workspaceCapacity = _data[\"workspaceCapacity\"];\r\n this.reservationLengthMinutes = _data[\"reservationLengthMinutes\"];\r\n this.startTime = _data[\"startTime\"];\r\n if (Array.isArray(_data[\"hourlySpaceTypesWithoutTrainingArray\"])) {\r\n this.hourlySpaceTypesWithoutTrainingArray = [] as any;\r\n for (let item of _data[\"hourlySpaceTypesWithoutTrainingArray\"])\r\n this.hourlySpaceTypesWithoutTrainingArray!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthlySpaceTypesWithoutDesksArray\"])) {\r\n this.monthlySpaceTypesWithoutDesksArray = [] as any;\r\n for (let item of _data[\"monthlySpaceTypesWithoutDesksArray\"])\r\n this.monthlySpaceTypesWithoutDesksArray!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtendedSearchOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtendedSearchOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"liquidSpacePro\"] = this.liquidSpacePro;\r\n if (Array.isArray(this.immutableOptions)) {\r\n data[\"immutableOptions\"] = [];\r\n for (let item of this.immutableOptions)\r\n data[\"immutableOptions\"].push(item);\r\n }\r\n data[\"location\"] = this.location;\r\n data[\"workspaceCapacity\"] = this.workspaceCapacity;\r\n data[\"reservationLengthMinutes\"] = this.reservationLengthMinutes;\r\n data[\"startTime\"] = this.startTime;\r\n if (Array.isArray(this.hourlySpaceTypesWithoutTrainingArray)) {\r\n data[\"hourlySpaceTypesWithoutTrainingArray\"] = [];\r\n for (let item of this.hourlySpaceTypesWithoutTrainingArray)\r\n data[\"hourlySpaceTypesWithoutTrainingArray\"].push(item);\r\n }\r\n if (Array.isArray(this.monthlySpaceTypesWithoutDesksArray)) {\r\n data[\"monthlySpaceTypesWithoutDesksArray\"] = [];\r\n for (let item of this.monthlySpaceTypesWithoutDesksArray)\r\n data[\"monthlySpaceTypesWithoutDesksArray\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtendedSearchOptionsModel {\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n spaceTypes: SpaceType;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n liquidSpacePro: boolean;\r\n immutableOptions: ForceableExtendedSearchOptionsProperties[];\r\n location: string | undefined;\r\n workspaceCapacity: number | undefined;\r\n reservationLengthMinutes: number | undefined;\r\n startTime: string | undefined;\r\n hourlySpaceTypesWithoutTrainingArray: SpaceType[];\r\n monthlySpaceTypesWithoutDesksArray: SpaceType[];\r\n}\r\n\r\n/** 0 = ReservationMethod 1 = SpaceTypes 2 = MinPrice 3 = MaxPrice 4 = LiquidSpacePro */\r\nexport enum ForceableExtendedSearchOptionsProperties {\r\n ReservationMethod = 0,\r\n SpaceTypes = 1,\r\n MinPrice = 2,\r\n MaxPrice = 3,\r\n LiquidSpacePro = 4,\r\n}\r\n\r\n/** 0 = PreferredVenue 1 = PreferredVenueImmutableOnSRP 3 = Extended */\r\nexport enum SearchSettingsEnum {\r\n PreferredVenue = 0,\r\n PreferredVenueImmutableOnSRP = 1,\r\n Extended = 3,\r\n}\r\n\r\nexport class MemberAutocomplete implements IMemberAutocomplete {\r\n id!: string;\r\n email!: string;\r\n\r\n constructor(data?: IMemberAutocomplete) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberAutocomplete {\r\n id: string;\r\n email: string;\r\n}\r\n\r\nexport class TeamMemberSpendResponse implements ITeamMemberSpendResponse {\r\n totalUSD!: number;\r\n percentOfMonthlyBudget!: number | undefined;\r\n percentOfMonthlyMemberBudget!: number | undefined;\r\n month!: string;\r\n\r\n constructor(data?: ITeamMemberSpendResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.totalUSD = _data[\"totalUSD\"];\r\n this.percentOfMonthlyBudget = _data[\"percentOfMonthlyBudget\"];\r\n this.percentOfMonthlyMemberBudget = _data[\"percentOfMonthlyMemberBudget\"];\r\n this.month = _data[\"month\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberSpendResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberSpendResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"totalUSD\"] = this.totalUSD;\r\n data[\"percentOfMonthlyBudget\"] = this.percentOfMonthlyBudget;\r\n data[\"percentOfMonthlyMemberBudget\"] = this.percentOfMonthlyMemberBudget;\r\n data[\"month\"] = this.month;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberSpendResponse {\r\n totalUSD: number;\r\n percentOfMonthlyBudget: number | undefined;\r\n percentOfMonthlyMemberBudget: number | undefined;\r\n month: string;\r\n}\r\n\r\nexport class TeamMemberRatingCounters implements ITeamMemberRatingCounters {\r\n count!: number;\r\n average!: number | undefined;\r\n\r\n constructor(data?: ITeamMemberRatingCounters) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n this.average = _data[\"average\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberRatingCounters {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberRatingCounters();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n data[\"average\"] = this.average;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberRatingCounters {\r\n count: number;\r\n average: number | undefined;\r\n}\r\n\r\nexport class TeamMemberActivity implements ITeamMemberActivity {\r\n createTime!: string;\r\n text!: string | undefined;\r\n id!: string;\r\n\r\n constructor(data?: ITeamMemberActivity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createTime = _data[\"createTime\"];\r\n this.text = _data[\"text\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberActivity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberActivity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createTime\"] = this.createTime;\r\n data[\"text\"] = this.text;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberActivity {\r\n createTime: string;\r\n text: string | undefined;\r\n id: string;\r\n}\r\n\r\nexport class TeamMemberBudgetViewModel implements ITeamMemberBudgetViewModel {\r\n originalBudgetSettings!: EnterpriseBudgetSettings;\r\n mergedBudgetSettings!: EnterpriseBudgetSettings;\r\n\r\n constructor(data?: ITeamMemberBudgetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.originalBudgetSettings = _data[\"originalBudgetSettings\"] ? EnterpriseBudgetSettings.fromJS(_data[\"originalBudgetSettings\"]) : undefined;\r\n this.mergedBudgetSettings = _data[\"mergedBudgetSettings\"] ? EnterpriseBudgetSettings.fromJS(_data[\"mergedBudgetSettings\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberBudgetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberBudgetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"originalBudgetSettings\"] = this.originalBudgetSettings ? this.originalBudgetSettings.toJSON() : undefined;\r\n data[\"mergedBudgetSettings\"] = this.mergedBudgetSettings ? this.mergedBudgetSettings.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberBudgetViewModel {\r\n originalBudgetSettings: EnterpriseBudgetSettings;\r\n mergedBudgetSettings: EnterpriseBudgetSettings;\r\n}\r\n\r\nexport class EnterpriseBudgetSettings implements IEnterpriseBudgetSettings {\r\n maxMonthlyTeamBudget!: number | undefined;\r\n maxDailyMemberBudget!: number | undefined;\r\n maxMonthlyMemberBudget!: number | undefined;\r\n allowExceedBudgetLimits!: boolean | undefined;\r\n overridenSettingNames!: string[] | undefined;\r\n\r\n constructor(data?: IEnterpriseBudgetSettings) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maxMonthlyTeamBudget = _data[\"maxMonthlyTeamBudget\"];\r\n this.maxDailyMemberBudget = _data[\"maxDailyMemberBudget\"];\r\n this.maxMonthlyMemberBudget = _data[\"maxMonthlyMemberBudget\"];\r\n this.allowExceedBudgetLimits = _data[\"allowExceedBudgetLimits\"];\r\n if (Array.isArray(_data[\"overridenSettingNames\"])) {\r\n this.overridenSettingNames = [] as any;\r\n for (let item of _data[\"overridenSettingNames\"])\r\n this.overridenSettingNames!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseBudgetSettings {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseBudgetSettings();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maxMonthlyTeamBudget\"] = this.maxMonthlyTeamBudget;\r\n data[\"maxDailyMemberBudget\"] = this.maxDailyMemberBudget;\r\n data[\"maxMonthlyMemberBudget\"] = this.maxMonthlyMemberBudget;\r\n data[\"allowExceedBudgetLimits\"] = this.allowExceedBudgetLimits;\r\n if (Array.isArray(this.overridenSettingNames)) {\r\n data[\"overridenSettingNames\"] = [];\r\n for (let item of this.overridenSettingNames)\r\n data[\"overridenSettingNames\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseBudgetSettings {\r\n maxMonthlyTeamBudget: number | undefined;\r\n maxDailyMemberBudget: number | undefined;\r\n maxMonthlyMemberBudget: number | undefined;\r\n allowExceedBudgetLimits: boolean | undefined;\r\n overridenSettingNames: string[] | undefined;\r\n}\r\n\r\nexport class EnterpriseBudgetSettingsViewModel implements IEnterpriseBudgetSettingsViewModel {\r\n maxDailyMemberBudget!: number | undefined;\r\n maxMonthlyMemberBudget!: number | undefined;\r\n allowExceedBudgetLimits!: boolean | undefined;\r\n\r\n constructor(data?: IEnterpriseBudgetSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maxDailyMemberBudget = _data[\"maxDailyMemberBudget\"];\r\n this.maxMonthlyMemberBudget = _data[\"maxMonthlyMemberBudget\"];\r\n this.allowExceedBudgetLimits = _data[\"allowExceedBudgetLimits\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseBudgetSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseBudgetSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maxDailyMemberBudget\"] = this.maxDailyMemberBudget;\r\n data[\"maxMonthlyMemberBudget\"] = this.maxMonthlyMemberBudget;\r\n data[\"allowExceedBudgetLimits\"] = this.allowExceedBudgetLimits;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseBudgetSettingsViewModel {\r\n maxDailyMemberBudget: number | undefined;\r\n maxMonthlyMemberBudget: number | undefined;\r\n allowExceedBudgetLimits: boolean | undefined;\r\n}\r\n\r\nexport class PaymentProfileSettingsViewModel implements IPaymentProfileSettingsViewModel {\r\n enable!: boolean;\r\n paymentProfileId!: string | undefined;\r\n\r\n constructor(data?: IPaymentProfileSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enable = _data[\"enable\"];\r\n this.paymentProfileId = _data[\"paymentProfileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentProfileSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentProfileSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enable\"] = this.enable;\r\n data[\"paymentProfileId\"] = this.paymentProfileId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentProfileSettingsViewModel {\r\n enable: boolean;\r\n paymentProfileId: string | undefined;\r\n}\r\n\r\nexport class EnterprisePortalSignupInfoViewModel implements IEnterprisePortalSignupInfoViewModel {\r\n email!: string;\r\n memberId!: string | undefined;\r\n isActiveAndOnboarded!: boolean;\r\n firstName!: string | undefined;\r\n fullName!: string | undefined;\r\n ssoRequired!: boolean;\r\n ssoUrl!: string | undefined;\r\n /** Also means that user onboarded and active */\r\n singInRequired!: boolean;\r\n isAuthorized!: boolean;\r\n /** Always true for VerifySignup */\r\n verificationCompleted!: boolean;\r\n\r\n constructor(data?: IEnterprisePortalSignupInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.isActiveAndOnboarded = _data[\"isActiveAndOnboarded\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.ssoRequired = _data[\"ssoRequired\"];\r\n this.ssoUrl = _data[\"ssoUrl\"];\r\n this.singInRequired = _data[\"singInRequired\"];\r\n this.isAuthorized = _data[\"isAuthorized\"];\r\n this.verificationCompleted = _data[\"verificationCompleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterprisePortalSignupInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterprisePortalSignupInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"isActiveAndOnboarded\"] = this.isActiveAndOnboarded;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"ssoRequired\"] = this.ssoRequired;\r\n data[\"ssoUrl\"] = this.ssoUrl;\r\n data[\"singInRequired\"] = this.singInRequired;\r\n data[\"isAuthorized\"] = this.isAuthorized;\r\n data[\"verificationCompleted\"] = this.verificationCompleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterprisePortalSignupInfoViewModel {\r\n email: string;\r\n memberId: string | undefined;\r\n isActiveAndOnboarded: boolean;\r\n firstName: string | undefined;\r\n fullName: string | undefined;\r\n ssoRequired: boolean;\r\n ssoUrl: string | undefined;\r\n /** Also means that user onboarded and active */\r\n singInRequired: boolean;\r\n isAuthorized: boolean;\r\n /** Always true for VerifySignup */\r\n verificationCompleted: boolean;\r\n}\r\n\r\nexport class EnterprisePortalRegisterRequest implements IEnterprisePortalRegisterRequest {\r\n fullName!: string | undefined;\r\n email!: string;\r\n phoneNumber!: string | undefined;\r\n password!: string | undefined;\r\n\r\n constructor(data?: IEnterprisePortalRegisterRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterprisePortalRegisterRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterprisePortalRegisterRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterprisePortalRegisterRequest {\r\n fullName: string | undefined;\r\n email: string;\r\n phoneNumber: string | undefined;\r\n password: string | undefined;\r\n}\r\n\r\nexport class EnterpriseAccountMembersImportResponse implements IEnterpriseAccountMembersImportResponse {\r\n toProcess!: number;\r\n processed!: number;\r\n importId!: string;\r\n isCompleted!: boolean;\r\n\r\n constructor(data?: IEnterpriseAccountMembersImportResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.toProcess = _data[\"toProcess\"];\r\n this.processed = _data[\"processed\"];\r\n this.importId = _data[\"importId\"];\r\n this.isCompleted = _data[\"isCompleted\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountMembersImportResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountMembersImportResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"toProcess\"] = this.toProcess;\r\n data[\"processed\"] = this.processed;\r\n data[\"importId\"] = this.importId;\r\n data[\"isCompleted\"] = this.isCompleted;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountMembersImportResponse {\r\n toProcess: number;\r\n processed: number;\r\n importId: string;\r\n isCompleted: boolean;\r\n}\r\n\r\nexport class BaseReservationViewModel implements IBaseReservationViewModel {\r\n /** Reservation ID. May be fake one for recurrent occurence. */\r\n id!: string;\r\n /** Parent reservation ID for recurrent occurence; Reservation ID in other case. */\r\n idForLink!: string;\r\n occurrenceDate!: string | undefined;\r\n applyDate!: string | undefined;\r\n deleted!: boolean;\r\n startTime!: string;\r\n endTime!: string;\r\n quantity!: number;\r\n /** In months */\r\n term!: number | undefined;\r\n finishDate!: string | undefined;\r\n recurrencePattern!: string | undefined;\r\n recurrenceExcludedDates!: string[];\r\n status!: ReservationStatus;\r\n spaceType!: SpaceType;\r\n reservationState!: ReservationState;\r\n reservationMethod!: ReservationMethod;\r\n bookingMethod!: BookingMethod | undefined;\r\n ownerId!: string;\r\n organizer!: ReservationMemberViewModel | undefined;\r\n title!: string;\r\n cancellationPolicy!: CancellationPolicy;\r\n amenities!: VenueAmenityViewModel[];\r\n invitees!: ReservationMaybeMemberViewModel[];\r\n reservationOperations!: ReservationOperationsAvailability | undefined;\r\n price!: CostInfoModel | undefined;\r\n costSummary!: CostSummaryViewModel | undefined;\r\n paymentHistory!: PaymentInformationViewModel[];\r\n paymentMethod!: PaymentMethodDescriptor | undefined;\r\n paymentMethodType!: PaymentMethod;\r\n promotion!: ReservationPromotion | undefined;\r\n venueId!: string;\r\n venueUrl!: string;\r\n workspaceId!: string;\r\n workspaceName!: string;\r\n picture!: string | undefined;\r\n workspaceCapacity!: number;\r\n workspaceUrl!: string;\r\n spaceTypeForCapacity!: string;\r\n hourlyRequestToBook!: HourlyRequestToBookMemberModel | undefined;\r\n isAutoRenew!: boolean;\r\n notes!: string | undefined;\r\n enableWireTransferPayments!: boolean;\r\n integrationReferences!: ReservationIntegrationReferences | undefined;\r\n\r\n constructor(data?: IBaseReservationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idForLink = _data[\"idForLink\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.applyDate = _data[\"applyDate\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.endTime = _data[\"endTime\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.term = _data[\"term\"];\r\n this.finishDate = _data[\"finishDate\"];\r\n this.recurrencePattern = _data[\"recurrencePattern\"];\r\n if (Array.isArray(_data[\"recurrenceExcludedDates\"])) {\r\n this.recurrenceExcludedDates = [] as any;\r\n for (let item of _data[\"recurrenceExcludedDates\"])\r\n this.recurrenceExcludedDates!.push(item);\r\n }\r\n this.status = _data[\"status\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.reservationState = _data[\"reservationState\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.organizer = _data[\"organizer\"] ? ReservationMemberViewModel.fromJS(_data[\"organizer\"]) : undefined;\r\n this.title = _data[\"title\"];\r\n this.cancellationPolicy = _data[\"cancellationPolicy\"];\r\n if (Array.isArray(_data[\"amenities\"])) {\r\n this.amenities = [] as any;\r\n for (let item of _data[\"amenities\"])\r\n this.amenities!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"invitees\"])) {\r\n this.invitees = [] as any;\r\n for (let item of _data[\"invitees\"])\r\n this.invitees!.push(ReservationMaybeMemberViewModel.fromJS(item));\r\n }\r\n this.reservationOperations = _data[\"reservationOperations\"] ? ReservationOperationsAvailability.fromJS(_data[\"reservationOperations\"]) : undefined;\r\n this.price = _data[\"price\"] ? CostInfoModel.fromJS(_data[\"price\"]) : undefined;\r\n this.costSummary = _data[\"costSummary\"] ? CostSummaryViewModel.fromJS(_data[\"costSummary\"]) : undefined;\r\n if (Array.isArray(_data[\"paymentHistory\"])) {\r\n this.paymentHistory = [] as any;\r\n for (let item of _data[\"paymentHistory\"])\r\n this.paymentHistory!.push(PaymentInformationViewModel.fromJS(item));\r\n }\r\n this.paymentMethod = _data[\"paymentMethod\"] ? PaymentMethodDescriptor.fromJS(_data[\"paymentMethod\"]) : undefined;\r\n this.paymentMethodType = _data[\"paymentMethodType\"];\r\n this.promotion = _data[\"promotion\"] ? ReservationPromotion.fromJS(_data[\"promotion\"]) : undefined;\r\n this.venueId = _data[\"venueId\"];\r\n this.venueUrl = _data[\"venueUrl\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.picture = _data[\"picture\"];\r\n this.workspaceCapacity = _data[\"workspaceCapacity\"];\r\n this.workspaceUrl = _data[\"workspaceUrl\"];\r\n this.spaceTypeForCapacity = _data[\"spaceTypeForCapacity\"];\r\n this.hourlyRequestToBook = _data[\"hourlyRequestToBook\"] ? HourlyRequestToBookMemberModel.fromJS(_data[\"hourlyRequestToBook\"]) : undefined;\r\n this.isAutoRenew = _data[\"isAutoRenew\"];\r\n this.notes = _data[\"notes\"];\r\n this.enableWireTransferPayments = _data[\"enableWireTransferPayments\"];\r\n this.integrationReferences = _data[\"integrationReferences\"] ? ReservationIntegrationReferences.fromJS(_data[\"integrationReferences\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseReservationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseReservationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idForLink\"] = this.idForLink;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"applyDate\"] = this.applyDate;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"endTime\"] = this.endTime;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"term\"] = this.term;\r\n data[\"finishDate\"] = this.finishDate;\r\n data[\"recurrencePattern\"] = this.recurrencePattern;\r\n if (Array.isArray(this.recurrenceExcludedDates)) {\r\n data[\"recurrenceExcludedDates\"] = [];\r\n for (let item of this.recurrenceExcludedDates)\r\n data[\"recurrenceExcludedDates\"].push(item);\r\n }\r\n data[\"status\"] = this.status;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"reservationState\"] = this.reservationState;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"organizer\"] = this.organizer ? this.organizer.toJSON() : undefined;\r\n data[\"title\"] = this.title;\r\n data[\"cancellationPolicy\"] = this.cancellationPolicy;\r\n if (Array.isArray(this.amenities)) {\r\n data[\"amenities\"] = [];\r\n for (let item of this.amenities)\r\n data[\"amenities\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.invitees)) {\r\n data[\"invitees\"] = [];\r\n for (let item of this.invitees)\r\n data[\"invitees\"].push(item.toJSON());\r\n }\r\n data[\"reservationOperations\"] = this.reservationOperations ? this.reservationOperations.toJSON() : undefined;\r\n data[\"price\"] = this.price ? this.price.toJSON() : undefined;\r\n data[\"costSummary\"] = this.costSummary ? this.costSummary.toJSON() : undefined;\r\n if (Array.isArray(this.paymentHistory)) {\r\n data[\"paymentHistory\"] = [];\r\n for (let item of this.paymentHistory)\r\n data[\"paymentHistory\"].push(item.toJSON());\r\n }\r\n data[\"paymentMethod\"] = this.paymentMethod ? this.paymentMethod.toJSON() : undefined;\r\n data[\"paymentMethodType\"] = this.paymentMethodType;\r\n data[\"promotion\"] = this.promotion ? this.promotion.toJSON() : undefined;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueUrl\"] = this.venueUrl;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"picture\"] = this.picture;\r\n data[\"workspaceCapacity\"] = this.workspaceCapacity;\r\n data[\"workspaceUrl\"] = this.workspaceUrl;\r\n data[\"spaceTypeForCapacity\"] = this.spaceTypeForCapacity;\r\n data[\"hourlyRequestToBook\"] = this.hourlyRequestToBook ? this.hourlyRequestToBook.toJSON() : undefined;\r\n data[\"isAutoRenew\"] = this.isAutoRenew;\r\n data[\"notes\"] = this.notes;\r\n data[\"enableWireTransferPayments\"] = this.enableWireTransferPayments;\r\n data[\"integrationReferences\"] = this.integrationReferences ? this.integrationReferences.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseReservationViewModel {\r\n /** Reservation ID. May be fake one for recurrent occurence. */\r\n id: string;\r\n /** Parent reservation ID for recurrent occurence; Reservation ID in other case. */\r\n idForLink: string;\r\n occurrenceDate: string | undefined;\r\n applyDate: string | undefined;\r\n deleted: boolean;\r\n startTime: string;\r\n endTime: string;\r\n quantity: number;\r\n /** In months */\r\n term: number | undefined;\r\n finishDate: string | undefined;\r\n recurrencePattern: string | undefined;\r\n recurrenceExcludedDates: string[];\r\n status: ReservationStatus;\r\n spaceType: SpaceType;\r\n reservationState: ReservationState;\r\n reservationMethod: ReservationMethod;\r\n bookingMethod: BookingMethod | undefined;\r\n ownerId: string;\r\n organizer: ReservationMemberViewModel | undefined;\r\n title: string;\r\n cancellationPolicy: CancellationPolicy;\r\n amenities: VenueAmenityViewModel[];\r\n invitees: ReservationMaybeMemberViewModel[];\r\n reservationOperations: ReservationOperationsAvailability | undefined;\r\n price: CostInfoModel | undefined;\r\n costSummary: CostSummaryViewModel | undefined;\r\n paymentHistory: PaymentInformationViewModel[];\r\n paymentMethod: PaymentMethodDescriptor | undefined;\r\n paymentMethodType: PaymentMethod;\r\n promotion: ReservationPromotion | undefined;\r\n venueId: string;\r\n venueUrl: string;\r\n workspaceId: string;\r\n workspaceName: string;\r\n picture: string | undefined;\r\n workspaceCapacity: number;\r\n workspaceUrl: string;\r\n spaceTypeForCapacity: string;\r\n hourlyRequestToBook: HourlyRequestToBookMemberModel | undefined;\r\n isAutoRenew: boolean;\r\n notes: string | undefined;\r\n enableWireTransferPayments: boolean;\r\n integrationReferences: ReservationIntegrationReferences | undefined;\r\n}\r\n\r\nexport class TeamMemberReservation extends BaseReservationViewModel implements ITeamMemberReservation {\r\n venueName!: string;\r\n address!: string;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n venueAverageRating!: number;\r\n venueRatingCount!: number;\r\n entryInformation!: string;\r\n venueHostName!: string | undefined;\r\n venueHostLastName!: string | undefined;\r\n venueHostPhone!: string | undefined;\r\n reviewId!: string | undefined;\r\n memberStars!: number | undefined;\r\n memberReviewText!: string | undefined;\r\n memberReviewName!: string | undefined;\r\n isToday!: boolean;\r\n\r\n constructor(data?: ITeamMemberReservation) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueName = _data[\"venueName\"];\r\n this.address = _data[\"address\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.venueAverageRating = _data[\"venueAverageRating\"];\r\n this.venueRatingCount = _data[\"venueRatingCount\"];\r\n this.entryInformation = _data[\"entryInformation\"];\r\n this.venueHostName = _data[\"venueHostName\"];\r\n this.venueHostLastName = _data[\"venueHostLastName\"];\r\n this.venueHostPhone = _data[\"venueHostPhone\"];\r\n this.reviewId = _data[\"reviewId\"];\r\n this.memberStars = _data[\"memberStars\"];\r\n this.memberReviewText = _data[\"memberReviewText\"];\r\n this.memberReviewName = _data[\"memberReviewName\"];\r\n this.isToday = _data[\"isToday\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberReservation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberReservation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueName\"] = this.venueName;\r\n data[\"address\"] = this.address;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"venueAverageRating\"] = this.venueAverageRating;\r\n data[\"venueRatingCount\"] = this.venueRatingCount;\r\n data[\"entryInformation\"] = this.entryInformation;\r\n data[\"venueHostName\"] = this.venueHostName;\r\n data[\"venueHostLastName\"] = this.venueHostLastName;\r\n data[\"venueHostPhone\"] = this.venueHostPhone;\r\n data[\"reviewId\"] = this.reviewId;\r\n data[\"memberStars\"] = this.memberStars;\r\n data[\"memberReviewText\"] = this.memberReviewText;\r\n data[\"memberReviewName\"] = this.memberReviewName;\r\n data[\"isToday\"] = this.isToday;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberReservation extends IBaseReservationViewModel {\r\n venueName: string;\r\n address: string;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n venueAverageRating: number;\r\n venueRatingCount: number;\r\n entryInformation: string;\r\n venueHostName: string | undefined;\r\n venueHostLastName: string | undefined;\r\n venueHostPhone: string | undefined;\r\n reviewId: string | undefined;\r\n memberStars: number | undefined;\r\n memberReviewText: string | undefined;\r\n memberReviewName: string | undefined;\r\n isToday: boolean;\r\n}\r\n\r\n/** 0 = Future 1 = UpcomingSoon 2 = CheckedIn 3 = CheckedOut 4 = RunningLate 5 = OnMyWay 6 = Declined 7 = Extended 100 = None */\r\nexport enum ReservationState {\r\n Future = 0,\r\n UpcomingSoon = 1,\r\n CheckedIn = 2,\r\n CheckedOut = 3,\r\n RunningLate = 4,\r\n OnMyWay = 5,\r\n Declined = 6,\r\n Extended = 7,\r\n None = 100,\r\n}\r\n\r\nexport class ReservationMaybeMemberViewModel implements IReservationMaybeMemberViewModel {\r\n email!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n fullName!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationMaybeMemberViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationMaybeMemberViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.fullName = _data[\"fullName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationMaybeMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"ReservationMemberViewModel\") {\r\n let result = new ReservationMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"ReservationOwnerViewModel\") {\r\n let result = new ReservationOwnerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new ReservationMaybeMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"fullName\"] = this.fullName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationMaybeMemberViewModel {\r\n email: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n fullName: string;\r\n}\r\n\r\nexport class ReservationMemberViewModel extends ReservationMaybeMemberViewModel implements IReservationMemberViewModel {\r\n id!: string;\r\n imageUrl!: string | undefined;\r\n company!: string | undefined;\r\n externalAccountId!: string | undefined;\r\n\r\n constructor(data?: IReservationMemberViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationMemberViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.company = _data[\"company\"];\r\n this.externalAccountId = _data[\"externalAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"ReservationOwnerViewModel\") {\r\n let result = new ReservationOwnerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new ReservationMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"company\"] = this.company;\r\n data[\"externalAccountId\"] = this.externalAccountId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationMemberViewModel extends IReservationMaybeMemberViewModel {\r\n id: string;\r\n imageUrl: string | undefined;\r\n company: string | undefined;\r\n externalAccountId: string | undefined;\r\n}\r\n\r\nexport class ReservationOwnerViewModel extends ReservationMemberViewModel implements IReservationOwnerViewModel {\r\n enterpriseAccountName!: string | undefined;\r\n\r\n constructor(data?: IReservationOwnerViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationOwnerViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.enterpriseAccountName = _data[\"enterpriseAccountName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationOwnerViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationOwnerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enterpriseAccountName\"] = this.enterpriseAccountName;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationOwnerViewModel extends IReservationMemberViewModel {\r\n enterpriseAccountName: string | undefined;\r\n}\r\n\r\n/** 0 = FlexibleCancellation 1 = NoCancellation 2 = Moderate7 3 = Moderate14 4 = Extended 5 = Regus */\r\nexport enum CancellationPolicy {\r\n FlexibleCancellation = 0,\r\n NoCancellation = 1,\r\n Moderate7 = 2,\r\n Moderate14 = 3,\r\n Extended = 4,\r\n Regus = 5,\r\n}\r\n\r\n/** Model of configured venue amenity */\r\nexport class VenueAmenityViewModel implements IVenueAmenityViewModel {\r\n amenityId!: string;\r\n type!: VenueAmenityType;\r\n name!: string;\r\n description!: string | undefined;\r\n instruction!: string | undefined;\r\n hasPrice!: boolean;\r\n isWorkspace!: boolean;\r\n imageUrl!: string | undefined;\r\n paid!: boolean;\r\n\r\n constructor(data?: IVenueAmenityViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amenityId = _data[\"amenityId\"];\r\n this.type = _data[\"type\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.instruction = _data[\"instruction\"];\r\n this.hasPrice = _data[\"hasPrice\"];\r\n this.isWorkspace = _data[\"isWorkspace\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.paid = _data[\"paid\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueAmenityViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueAmenityViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amenityId\"] = this.amenityId;\r\n data[\"type\"] = this.type;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"instruction\"] = this.instruction;\r\n data[\"hasPrice\"] = this.hasPrice;\r\n data[\"isWorkspace\"] = this.isWorkspace;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"paid\"] = this.paid;\r\n return data;\r\n }\r\n}\r\n\r\n/** Model of configured venue amenity */\r\nexport interface IVenueAmenityViewModel {\r\n amenityId: string;\r\n type: VenueAmenityType;\r\n name: string;\r\n description: string | undefined;\r\n instruction: string | undefined;\r\n hasPrice: boolean;\r\n isWorkspace: boolean;\r\n imageUrl: string | undefined;\r\n paid: boolean;\r\n}\r\n\r\n/** 0 = Unknown 1 = Requestable 2 = Included */\r\nexport enum VenueAmenityType {\r\n Unknown = 0,\r\n Requestable = 1,\r\n Included = 2,\r\n}\r\n\r\nexport class ReservationOperationsAvailability implements IReservationOperationsAvailability {\r\n editAllowed!: boolean;\r\n cancelAllowed!: boolean;\r\n checkInAllowed!: boolean;\r\n checkOutAllowed!: boolean;\r\n doNotRenewAllowed!: boolean;\r\n extendAllowed!: boolean;\r\n inviteAllowed!: boolean;\r\n startDateTimeEditAllowed!: boolean;\r\n\r\n constructor(data?: IReservationOperationsAvailability) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.editAllowed = _data[\"editAllowed\"];\r\n this.cancelAllowed = _data[\"cancelAllowed\"];\r\n this.checkInAllowed = _data[\"checkInAllowed\"];\r\n this.checkOutAllowed = _data[\"checkOutAllowed\"];\r\n this.doNotRenewAllowed = _data[\"doNotRenewAllowed\"];\r\n this.extendAllowed = _data[\"extendAllowed\"];\r\n this.inviteAllowed = _data[\"inviteAllowed\"];\r\n this.startDateTimeEditAllowed = _data[\"startDateTimeEditAllowed\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationOperationsAvailability {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationOperationsAvailability();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"editAllowed\"] = this.editAllowed;\r\n data[\"cancelAllowed\"] = this.cancelAllowed;\r\n data[\"checkInAllowed\"] = this.checkInAllowed;\r\n data[\"checkOutAllowed\"] = this.checkOutAllowed;\r\n data[\"doNotRenewAllowed\"] = this.doNotRenewAllowed;\r\n data[\"extendAllowed\"] = this.extendAllowed;\r\n data[\"inviteAllowed\"] = this.inviteAllowed;\r\n data[\"startDateTimeEditAllowed\"] = this.startDateTimeEditAllowed;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationOperationsAvailability {\r\n editAllowed: boolean;\r\n cancelAllowed: boolean;\r\n checkInAllowed: boolean;\r\n checkOutAllowed: boolean;\r\n doNotRenewAllowed: boolean;\r\n extendAllowed: boolean;\r\n inviteAllowed: boolean;\r\n startDateTimeEditAllowed: boolean;\r\n}\r\n\r\nexport class CostSummaryViewModel implements ICostSummaryViewModel {\r\n total!: number;\r\n salesPrice!: number;\r\n salesTax!: number;\r\n setupFee!: number;\r\n deposit!: number;\r\n amountPaid!: number;\r\n incidentalsTotal!: number;\r\n incidentalsTax!: number;\r\n paymentMethod!: string;\r\n currencyPrefix!: string;\r\n isLastMonthIncidentalsPayment!: boolean;\r\n refundType!: RefundType | undefined;\r\n\r\n constructor(data?: ICostSummaryViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.total = _data[\"total\"];\r\n this.salesPrice = _data[\"salesPrice\"];\r\n this.salesTax = _data[\"salesTax\"];\r\n this.setupFee = _data[\"setupFee\"];\r\n this.deposit = _data[\"deposit\"];\r\n this.amountPaid = _data[\"amountPaid\"];\r\n this.incidentalsTotal = _data[\"incidentalsTotal\"];\r\n this.incidentalsTax = _data[\"incidentalsTax\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.currencyPrefix = _data[\"currencyPrefix\"];\r\n this.isLastMonthIncidentalsPayment = _data[\"isLastMonthIncidentalsPayment\"];\r\n this.refundType = _data[\"refundType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostSummaryViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostSummaryViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"total\"] = this.total;\r\n data[\"salesPrice\"] = this.salesPrice;\r\n data[\"salesTax\"] = this.salesTax;\r\n data[\"setupFee\"] = this.setupFee;\r\n data[\"deposit\"] = this.deposit;\r\n data[\"amountPaid\"] = this.amountPaid;\r\n data[\"incidentalsTotal\"] = this.incidentalsTotal;\r\n data[\"incidentalsTax\"] = this.incidentalsTax;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"currencyPrefix\"] = this.currencyPrefix;\r\n data[\"isLastMonthIncidentalsPayment\"] = this.isLastMonthIncidentalsPayment;\r\n data[\"refundType\"] = this.refundType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostSummaryViewModel {\r\n total: number;\r\n salesPrice: number;\r\n salesTax: number;\r\n setupFee: number;\r\n deposit: number;\r\n amountPaid: number;\r\n incidentalsTotal: number;\r\n incidentalsTax: number;\r\n paymentMethod: string;\r\n currencyPrefix: string;\r\n isLastMonthIncidentalsPayment: boolean;\r\n refundType: RefundType | undefined;\r\n}\r\n\r\n/** 0 = FullRefund 1 = MonthlyRate 2 = Incidentals 3 = Deposit 4 = SetupFee 5 = EditFee 6 = SalesTax 7 = HourlySalesPrice 8 = ServiceCharge */\r\nexport enum RefundType {\r\n FullRefund = 0,\r\n MonthlyRate = 1,\r\n Incidentals = 2,\r\n Deposit = 3,\r\n SetupFee = 4,\r\n EditFee = 5,\r\n SalesTax = 6,\r\n HourlySalesPrice = 7,\r\n ServiceCharge = 8,\r\n}\r\n\r\nexport class PaymentInformationViewModel implements IPaymentInformationViewModel {\r\n date!: string;\r\n amount!: number;\r\n status!: string;\r\n transactionId!: string;\r\n paymentId!: string;\r\n currency!: CurrencyType;\r\n last4Digits!: string;\r\n displayAmount!: string;\r\n\r\n constructor(data?: IPaymentInformationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.amount = _data[\"amount\"];\r\n this.status = _data[\"status\"];\r\n this.transactionId = _data[\"transactionId\"];\r\n this.paymentId = _data[\"paymentId\"];\r\n this.currency = _data[\"currency\"];\r\n this.last4Digits = _data[\"last4Digits\"];\r\n this.displayAmount = _data[\"displayAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentInformationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentInformationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"amount\"] = this.amount;\r\n data[\"status\"] = this.status;\r\n data[\"transactionId\"] = this.transactionId;\r\n data[\"paymentId\"] = this.paymentId;\r\n data[\"currency\"] = this.currency;\r\n data[\"last4Digits\"] = this.last4Digits;\r\n data[\"displayAmount\"] = this.displayAmount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentInformationViewModel {\r\n date: string;\r\n amount: number;\r\n status: string;\r\n transactionId: string;\r\n paymentId: string;\r\n currency: CurrencyType;\r\n last4Digits: string;\r\n displayAmount: string;\r\n}\r\n\r\nexport class PaymentMethodDescriptor implements IPaymentMethodDescriptor {\r\n /** Id and type of paying entity\r\nShould be provided for centralized billing */\r\n payableKey!: PayableKey | undefined;\r\n paymentProvider!: PaymentProviderType;\r\n customerProfileId!: string;\r\n paymentProfileId!: string | undefined;\r\n deviceData!: string | undefined;\r\n\r\n constructor(data?: IPaymentMethodDescriptor) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n this.paymentProvider = _data[\"paymentProvider\"];\r\n this.customerProfileId = _data[\"customerProfileId\"];\r\n this.paymentProfileId = _data[\"paymentProfileId\"];\r\n this.deviceData = _data[\"deviceData\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentMethodDescriptor {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentMethodDescriptor();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n data[\"paymentProvider\"] = this.paymentProvider;\r\n data[\"customerProfileId\"] = this.customerProfileId;\r\n data[\"paymentProfileId\"] = this.paymentProfileId;\r\n data[\"deviceData\"] = this.deviceData;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentMethodDescriptor {\r\n /** Id and type of paying entity\r\nShould be provided for centralized billing */\r\n payableKey: PayableKey | undefined;\r\n paymentProvider: PaymentProviderType;\r\n customerProfileId: string;\r\n paymentProfileId: string | undefined;\r\n deviceData: string | undefined;\r\n}\r\n\r\nexport class PayableKey implements IPayableKey {\r\n id!: string;\r\n payableType!: PayableType;\r\n\r\n constructor(data?: IPayableKey) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.payableType = _data[\"payableType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PayableKey {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PayableKey();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"payableType\"] = this.payableType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPayableKey {\r\n id: string;\r\n payableType: PayableType;\r\n}\r\n\r\n/** 0 = Member 1 = MemberGroup 2 = Organization 3 = EnterpriseAccount */\r\nexport enum PayableType {\r\n Member = 0,\r\n MemberGroup = 1,\r\n Organization = 2,\r\n EnterpriseAccount = 3,\r\n}\r\n\r\n/** 0 = VenueBilled 1 = CreditCard */\r\nexport enum PaymentMethod {\r\n VenueBilled = 0,\r\n CreditCard = 1,\r\n}\r\n\r\nexport class ReservationPromotion implements IReservationPromotion {\r\n code!: string | undefined;\r\n additionalInfo!: string | undefined;\r\n\r\n constructor(data?: IReservationPromotion) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.additionalInfo = _data[\"additionalInfo\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationPromotion {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationPromotion();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"additionalInfo\"] = this.additionalInfo;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationPromotion {\r\n code: string | undefined;\r\n additionalInfo: string | undefined;\r\n}\r\n\r\nexport class HourlyRequestToBookMemberModel implements IHourlyRequestToBookMemberModel {\r\n id!: string;\r\n status!: HourlyRequestToBookStatus;\r\n\r\n constructor(data?: IHourlyRequestToBookMemberModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyRequestToBookMemberModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyRequestToBookMemberModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyRequestToBookMemberModel {\r\n id: string;\r\n status: HourlyRequestToBookStatus;\r\n}\r\n\r\n/** 0 = Unknown 1 = Pending 2 = Approved 3 = CancelledByHost 4 = CancelledByGuest 5 = CancelledNoResponse 6 = Paused */\r\nexport enum HourlyRequestToBookStatus {\r\n Unknown = 0,\r\n Pending = 1,\r\n Approved = 2,\r\n CancelledByHost = 3,\r\n CancelledByGuest = 4,\r\n CancelledNoResponse = 5,\r\n Paused = 6,\r\n}\r\n\r\n/** 0 = All 1 = Future 2 = Past */\r\nexport enum ReservationTimeType {\r\n All = 0,\r\n Future = 1,\r\n Past = 2,\r\n}\r\n\r\nexport class TeamMemberReservationCounters implements ITeamMemberReservationCounters {\r\n total!: number;\r\n active!: number;\r\n\r\n constructor(data?: ITeamMemberReservationCounters) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.total = _data[\"total\"];\r\n this.active = _data[\"active\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberReservationCounters {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberReservationCounters();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"total\"] = this.total;\r\n data[\"active\"] = this.active;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberReservationCounters {\r\n total: number;\r\n active: number;\r\n}\r\n\r\nexport class ExportEnterpriseAccountStatus implements IExportEnterpriseAccountStatus {\r\n id!: string;\r\n status!: ImportExportStatus;\r\n createDate!: string;\r\n authorId!: string | undefined;\r\n authorEmail!: string | undefined;\r\n exceptionMessage!: string | undefined;\r\n spreadsheetUrl!: string | undefined;\r\n\r\n constructor(data?: IExportEnterpriseAccountStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.authorId = _data[\"authorId\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n this.exceptionMessage = _data[\"exceptionMessage\"];\r\n this.spreadsheetUrl = _data[\"spreadsheetUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExportEnterpriseAccountStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExportEnterpriseAccountStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"authorId\"] = this.authorId;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n data[\"exceptionMessage\"] = this.exceptionMessage;\r\n data[\"spreadsheetUrl\"] = this.spreadsheetUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExportEnterpriseAccountStatus {\r\n id: string;\r\n status: ImportExportStatus;\r\n createDate: string;\r\n authorId: string | undefined;\r\n authorEmail: string | undefined;\r\n exceptionMessage: string | undefined;\r\n spreadsheetUrl: string | undefined;\r\n}\r\n\r\n/** 0 = Started 1 = Processing 2 = Completed 3 = Failed 4 = MonitoringTeminated */\r\nexport enum ImportExportStatus {\r\n Started = 0,\r\n Processing = 1,\r\n Completed = 2,\r\n Failed = 3,\r\n MonitoringTeminated = 4,\r\n}\r\n\r\nexport class EnterpriseAccountsImportViewModel implements IEnterpriseAccountsImportViewModel {\r\n spreadsheetUrl!: string | undefined;\r\n notificationEmails!: string[];\r\n\r\n constructor(data?: IEnterpriseAccountsImportViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.spreadsheetUrl = _data[\"spreadsheetUrl\"];\r\n if (Array.isArray(_data[\"notificationEmails\"])) {\r\n this.notificationEmails = [] as any;\r\n for (let item of _data[\"notificationEmails\"])\r\n this.notificationEmails!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountsImportViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountsImportViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"spreadsheetUrl\"] = this.spreadsheetUrl;\r\n if (Array.isArray(this.notificationEmails)) {\r\n data[\"notificationEmails\"] = [];\r\n for (let item of this.notificationEmails)\r\n data[\"notificationEmails\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountsImportViewModel {\r\n spreadsheetUrl: string | undefined;\r\n notificationEmails: string[];\r\n}\r\n\r\nexport class ImportEnterpriseAccountStatus implements IImportEnterpriseAccountStatus {\r\n id!: string;\r\n status!: ImportExportStatus;\r\n createDate!: string;\r\n authorId!: string | undefined;\r\n authorEmail!: string | undefined;\r\n exceptionMessage!: string | undefined;\r\n spreadsheetUrl!: string | undefined;\r\n\r\n constructor(data?: IImportEnterpriseAccountStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.authorId = _data[\"authorId\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n this.exceptionMessage = _data[\"exceptionMessage\"];\r\n this.spreadsheetUrl = _data[\"spreadsheetUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportEnterpriseAccountStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportEnterpriseAccountStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"authorId\"] = this.authorId;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n data[\"exceptionMessage\"] = this.exceptionMessage;\r\n data[\"spreadsheetUrl\"] = this.spreadsheetUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportEnterpriseAccountStatus {\r\n id: string;\r\n status: ImportExportStatus;\r\n createDate: string;\r\n authorId: string | undefined;\r\n authorEmail: string | undefined;\r\n exceptionMessage: string | undefined;\r\n spreadsheetUrl: string | undefined;\r\n}\r\n\r\nexport class ImportEnterpriseAccountStatusDetails extends ImportEnterpriseAccountStatus implements IImportEnterpriseAccountStatusDetails {\r\n statuses!: { [key: string]: ImportEnterpriseAccountResultViewModel; };\r\n\r\n constructor(data?: IImportEnterpriseAccountStatusDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (_data[\"statuses\"]) {\r\n this.statuses = {} as any;\r\n for (let key in _data[\"statuses\"]) {\r\n if (_data[\"statuses\"].hasOwnProperty(key))\r\n (this.statuses)![key] = _data[\"statuses\"][key] ? ImportEnterpriseAccountResultViewModel.fromJS(_data[\"statuses\"][key]) : new ImportEnterpriseAccountResultViewModel();\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportEnterpriseAccountStatusDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportEnterpriseAccountStatusDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.statuses) {\r\n data[\"statuses\"] = {};\r\n for (let key in this.statuses) {\r\n if (this.statuses.hasOwnProperty(key))\r\n (data[\"statuses\"])[key] = this.statuses[key] ? this.statuses[key].toJSON() : undefined;\r\n }\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportEnterpriseAccountStatusDetails extends IImportEnterpriseAccountStatus {\r\n statuses: { [key: string]: ImportEnterpriseAccountResultViewModel; };\r\n}\r\n\r\nexport class ImportEnterpriseAccountResultViewModel implements IImportEnterpriseAccountResultViewModel {\r\n status!: ImportExportStatus;\r\n messages!: ImportEnterpriseAccountMessageViewModel[];\r\n\r\n constructor(data?: IImportEnterpriseAccountResultViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.status = _data[\"status\"];\r\n if (Array.isArray(_data[\"messages\"])) {\r\n this.messages = [] as any;\r\n for (let item of _data[\"messages\"])\r\n this.messages!.push(ImportEnterpriseAccountMessageViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportEnterpriseAccountResultViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportEnterpriseAccountResultViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"status\"] = this.status;\r\n if (Array.isArray(this.messages)) {\r\n data[\"messages\"] = [];\r\n for (let item of this.messages)\r\n data[\"messages\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportEnterpriseAccountResultViewModel {\r\n status: ImportExportStatus;\r\n messages: ImportEnterpriseAccountMessageViewModel[];\r\n}\r\n\r\nexport class ImportEnterpriseAccountMessageViewModel implements IImportEnterpriseAccountMessageViewModel {\r\n dateTime!: string;\r\n text!: string | undefined;\r\n logLevel!: LSLogLevel;\r\n stackTrace!: string | undefined;\r\n\r\n constructor(data?: IImportEnterpriseAccountMessageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dateTime = _data[\"dateTime\"];\r\n this.text = _data[\"text\"];\r\n this.logLevel = _data[\"logLevel\"];\r\n this.stackTrace = _data[\"stackTrace\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportEnterpriseAccountMessageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportEnterpriseAccountMessageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dateTime\"] = this.dateTime;\r\n data[\"text\"] = this.text;\r\n data[\"logLevel\"] = this.logLevel;\r\n data[\"stackTrace\"] = this.stackTrace;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportEnterpriseAccountMessageViewModel {\r\n dateTime: string;\r\n text: string | undefined;\r\n logLevel: LSLogLevel;\r\n stackTrace: string | undefined;\r\n}\r\n\r\n/** 0 = Undefined 1 = Critical 2 = Error 3 = Warning 4 = Info 5 = Trace */\r\nexport enum LSLogLevel {\r\n Undefined = 0,\r\n Critical = 1,\r\n Error = 2,\r\n Warning = 3,\r\n Info = 4,\r\n Trace = 5,\r\n}\r\n\r\nexport class EnterpriseDemoRequest extends RecaptchaRequestBase implements IEnterpriseDemoRequest {\r\n mode!: EnterpriseDemoRequestMode;\r\n fullName!: string;\r\n email!: string;\r\n phoneNumber!: string | undefined;\r\n company!: string;\r\n companySize!: CompanySize | undefined;\r\n plan!: EnterpriseAccountPlan | undefined;\r\n solution!: SolutionType | undefined;\r\n question!: string;\r\n hubspotUTK!: string | undefined;\r\n referrerQuery!: string | undefined;\r\n interestReason!: InterestReason | undefined;\r\n\r\n constructor(data?: IEnterpriseDemoRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.mode = _data[\"mode\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.company = _data[\"company\"];\r\n this.companySize = _data[\"companySize\"];\r\n this.plan = _data[\"plan\"];\r\n this.solution = _data[\"solution\"];\r\n this.question = _data[\"question\"];\r\n this.hubspotUTK = _data[\"hubspotUTK\"];\r\n this.referrerQuery = _data[\"referrerQuery\"];\r\n this.interestReason = _data[\"interestReason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseDemoRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseDemoRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"mode\"] = this.mode;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"company\"] = this.company;\r\n data[\"companySize\"] = this.companySize;\r\n data[\"plan\"] = this.plan;\r\n data[\"solution\"] = this.solution;\r\n data[\"question\"] = this.question;\r\n data[\"hubspotUTK\"] = this.hubspotUTK;\r\n data[\"referrerQuery\"] = this.referrerQuery;\r\n data[\"interestReason\"] = this.interestReason;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseDemoRequest extends IRecaptchaRequestBase {\r\n mode: EnterpriseDemoRequestMode;\r\n fullName: string;\r\n email: string;\r\n phoneNumber: string | undefined;\r\n company: string;\r\n companySize: CompanySize | undefined;\r\n plan: EnterpriseAccountPlan | undefined;\r\n solution: SolutionType | undefined;\r\n question: string;\r\n hubspotUTK: string | undefined;\r\n referrerQuery: string | undefined;\r\n interestReason: InterestReason | undefined;\r\n}\r\n\r\n/** 0 = HP 1 = Enterprise 2 = Workplace 3 = WorkplaceInline 4 = CareersInline 5 = HybridAnywhere 6 = Pricing 7 = HIW 8 = CS 9 = FOS 10 = HQB 11 = DS 12 = DI 13 = SC 14 = DOS 15 = FAQ 16 = IP 17 = FAS 18 = MO 19 = PMAI 20 = LC */\r\nexport enum EnterpriseDemoRequestMode {\r\n HP = 0,\r\n Enterprise = 1,\r\n Workplace = 2,\r\n WorkplaceInline = 3,\r\n CareersInline = 4,\r\n HybridAnywhere = 5,\r\n Pricing = 6,\r\n HIW = 7,\r\n CS = 8,\r\n FOS = 9,\r\n HQB = 10,\r\n DS = 11,\r\n DI = 12,\r\n SC = 13,\r\n DOS = 14,\r\n FAQ = 15,\r\n IP = 16,\r\n FAS = 17,\r\n MO = 18,\r\n PMAI = 19,\r\n LC = 20,\r\n}\r\n\r\n/** 0 = Small 1 = Medium 2 = Large 3 = ExtraLarge */\r\nexport enum CompanySize {\r\n Small = 0,\r\n Medium = 1,\r\n Large = 2,\r\n ExtraLarge = 3,\r\n}\r\n\r\n/** 0 = Enterprise 1 = Business 2 = Team 3 = Individual 4 = Host */\r\nexport enum SolutionType {\r\n Enterprise = 0,\r\n Business = 1,\r\n Team = 2,\r\n Individual = 3,\r\n Host = 4,\r\n}\r\n\r\n/** 0 = Book 1 = Demo 2 = List 3 = Assessment 4 = FlexAdvisory 5 = AltSpace 6 = Other */\r\nexport enum InterestReason {\r\n Book = 0,\r\n Demo = 1,\r\n List = 2,\r\n Assessment = 3,\r\n FlexAdvisory = 4,\r\n AltSpace = 5,\r\n Other = 6,\r\n}\r\n\r\nexport class LiquidspaceProRequest implements ILiquidspaceProRequest {\r\n fullName!: string;\r\n emailAddress!: string;\r\n phoneNumber!: string | undefined;\r\n companyName!: string;\r\n locationsCount!: number;\r\n comment!: string | undefined;\r\n\r\n constructor(data?: ILiquidspaceProRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.emailAddress = _data[\"emailAddress\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.companyName = _data[\"companyName\"];\r\n this.locationsCount = _data[\"locationsCount\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LiquidspaceProRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LiquidspaceProRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"emailAddress\"] = this.emailAddress;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"companyName\"] = this.companyName;\r\n data[\"locationsCount\"] = this.locationsCount;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILiquidspaceProRequest {\r\n fullName: string;\r\n emailAddress: string;\r\n phoneNumber: string | undefined;\r\n companyName: string;\r\n locationsCount: number;\r\n comment: string | undefined;\r\n}\r\n\r\nexport class OfficeRnDHybridSyncResult implements IOfficeRnDHybridSyncResult {\r\n messages!: string[];\r\n\r\n constructor(data?: IOfficeRnDHybridSyncResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"messages\"])) {\r\n this.messages = [] as any;\r\n for (let item of _data[\"messages\"])\r\n this.messages!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDHybridSyncResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDHybridSyncResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.messages)) {\r\n data[\"messages\"] = [];\r\n for (let item of this.messages)\r\n data[\"messages\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDHybridSyncResult {\r\n messages: string[];\r\n}\r\n\r\nexport class EnterpriseAccountIntegrationSlackConfig implements IEnterpriseAccountIntegrationSlackConfig {\r\n appId!: string;\r\n\r\n constructor(data?: IEnterpriseAccountIntegrationSlackConfig) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appId = _data[\"appId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountIntegrationSlackConfig {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountIntegrationSlackConfig();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appId\"] = this.appId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountIntegrationSlackConfig {\r\n appId: string;\r\n}\r\n\r\nexport class DedicatedLocationViewModel implements IDedicatedLocationViewModel {\r\n id!: string;\r\n startDate!: string;\r\n finishDate!: string | undefined;\r\n venueName!: string;\r\n workspaceName!: string;\r\n ownerName!: string;\r\n monthlyRate!: CostInfoModel | undefined;\r\n paymentProvider!: PaymentProviderType;\r\n status!: ReservationStatus;\r\n venueId!: string;\r\n reservation!: TeamMemberReservation;\r\n ownerId!: string;\r\n\r\n constructor(data?: IDedicatedLocationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.finishDate = _data[\"finishDate\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.ownerName = _data[\"ownerName\"];\r\n this.monthlyRate = _data[\"monthlyRate\"] ? CostInfoModel.fromJS(_data[\"monthlyRate\"]) : undefined;\r\n this.paymentProvider = _data[\"paymentProvider\"];\r\n this.status = _data[\"status\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.reservation = _data[\"reservation\"] ? TeamMemberReservation.fromJS(_data[\"reservation\"]) : undefined;\r\n this.ownerId = _data[\"ownerId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DedicatedLocationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DedicatedLocationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"finishDate\"] = this.finishDate;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"ownerName\"] = this.ownerName;\r\n data[\"monthlyRate\"] = this.monthlyRate ? this.monthlyRate.toJSON() : undefined;\r\n data[\"paymentProvider\"] = this.paymentProvider;\r\n data[\"status\"] = this.status;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"reservation\"] = this.reservation ? this.reservation.toJSON() : undefined;\r\n data[\"ownerId\"] = this.ownerId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDedicatedLocationViewModel {\r\n id: string;\r\n startDate: string;\r\n finishDate: string | undefined;\r\n venueName: string;\r\n workspaceName: string;\r\n ownerName: string;\r\n monthlyRate: CostInfoModel | undefined;\r\n paymentProvider: PaymentProviderType;\r\n status: ReservationStatus;\r\n venueId: string;\r\n reservation: TeamMemberReservation;\r\n ownerId: string;\r\n}\r\n\r\nexport class VenueListItemViewModel implements IVenueListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IVenueListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class VenueGroupListItemViewModel implements IVenueGroupListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IVenueGroupListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class EnterpriseAccountCollectionViewModel implements IEnterpriseAccountCollectionViewModel {\r\n name!: string;\r\n venueGroupId!: string;\r\n\r\n constructor(data?: IEnterpriseAccountCollectionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountCollectionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountCollectionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountCollectionViewModel {\r\n name: string;\r\n venueGroupId: string;\r\n}\r\n\r\nexport class BrandsViewModel implements IBrandsViewModel {\r\n access!: BrandsAccess;\r\n brands!: BrandViewModel[];\r\n\r\n constructor(data?: IBrandsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.access = _data[\"access\"];\r\n if (Array.isArray(_data[\"brands\"])) {\r\n this.brands = [] as any;\r\n for (let item of _data[\"brands\"])\r\n this.brands!.push(BrandViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"access\"] = this.access;\r\n if (Array.isArray(this.brands)) {\r\n data[\"brands\"] = [];\r\n for (let item of this.brands)\r\n data[\"brands\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandsViewModel {\r\n access: BrandsAccess;\r\n brands: BrandViewModel[];\r\n}\r\n\r\n/** 0 = Open 1 = Limited 2 = None */\r\nexport enum BrandsAccess {\r\n Open = 0,\r\n Limited = 1,\r\n None = 2,\r\n}\r\n\r\nexport class BrandViewModel implements IBrandViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n locationCount!: number;\r\n enabled!: boolean;\r\n\r\n constructor(data?: IBrandViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.locationCount = _data[\"locationCount\"];\r\n this.enabled = _data[\"enabled\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"locationCount\"] = this.locationCount;\r\n data[\"enabled\"] = this.enabled;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandViewModel {\r\n id: string;\r\n name: string | undefined;\r\n locationCount: number;\r\n enabled: boolean;\r\n}\r\n\r\nexport class BrandsOptionsViewModel implements IBrandsOptionsViewModel {\r\n access!: BrandsAccess;\r\n disabledVenueGroupIds!: string[];\r\n\r\n constructor(data?: IBrandsOptionsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.access = _data[\"access\"];\r\n if (Array.isArray(_data[\"disabledVenueGroupIds\"])) {\r\n this.disabledVenueGroupIds = [] as any;\r\n for (let item of _data[\"disabledVenueGroupIds\"])\r\n this.disabledVenueGroupIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandsOptionsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandsOptionsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"access\"] = this.access;\r\n if (Array.isArray(this.disabledVenueGroupIds)) {\r\n data[\"disabledVenueGroupIds\"] = [];\r\n for (let item of this.disabledVenueGroupIds)\r\n data[\"disabledVenueGroupIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandsOptionsViewModel {\r\n access: BrandsAccess;\r\n disabledVenueGroupIds: string[];\r\n}\r\n\r\nexport class EnterpriseUserInfoViewModel implements IEnterpriseUserInfoViewModel {\r\n teamId!: string | undefined;\r\n invitationStatus!: MemberGroupInvitationStatus | undefined;\r\n homeBaseSearchId!: string | undefined;\r\n homeBaseSearchAddress!: string | undefined;\r\n homeBaseSearchType!: SavedSearchSourceType;\r\n\r\n constructor(data?: IEnterpriseUserInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.teamId = _data[\"teamId\"];\r\n this.invitationStatus = _data[\"invitationStatus\"];\r\n this.homeBaseSearchId = _data[\"homeBaseSearchId\"];\r\n this.homeBaseSearchAddress = _data[\"homeBaseSearchAddress\"];\r\n this.homeBaseSearchType = _data[\"homeBaseSearchType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseUserInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseUserInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"teamId\"] = this.teamId;\r\n data[\"invitationStatus\"] = this.invitationStatus;\r\n data[\"homeBaseSearchId\"] = this.homeBaseSearchId;\r\n data[\"homeBaseSearchAddress\"] = this.homeBaseSearchAddress;\r\n data[\"homeBaseSearchType\"] = this.homeBaseSearchType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseUserInfoViewModel {\r\n teamId: string | undefined;\r\n invitationStatus: MemberGroupInvitationStatus | undefined;\r\n homeBaseSearchId: string | undefined;\r\n homeBaseSearchAddress: string | undefined;\r\n homeBaseSearchType: SavedSearchSourceType;\r\n}\r\n\r\nexport class CollectionViewModel implements ICollectionViewModel {\r\n name!: string;\r\n venues!: VenueSearchResult[];\r\n imageUrl!: string | undefined;\r\n id!: string;\r\n venueGroupId!: string;\r\n workspaceTypesFormatted!: string[];\r\n\r\n constructor(data?: ICollectionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"venues\"])) {\r\n this.venues = [] as any;\r\n for (let item of _data[\"venues\"])\r\n this.venues!.push(VenueSearchResult.fromJS(item));\r\n }\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.id = _data[\"id\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n if (Array.isArray(_data[\"workspaceTypesFormatted\"])) {\r\n this.workspaceTypesFormatted = [] as any;\r\n for (let item of _data[\"workspaceTypesFormatted\"])\r\n this.workspaceTypesFormatted!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CollectionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CollectionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.venues)) {\r\n data[\"venues\"] = [];\r\n for (let item of this.venues)\r\n data[\"venues\"].push(item.toJSON());\r\n }\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"id\"] = this.id;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n if (Array.isArray(this.workspaceTypesFormatted)) {\r\n data[\"workspaceTypesFormatted\"] = [];\r\n for (let item of this.workspaceTypesFormatted)\r\n data[\"workspaceTypesFormatted\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICollectionViewModel {\r\n name: string;\r\n venues: VenueSearchResult[];\r\n imageUrl: string | undefined;\r\n id: string;\r\n venueGroupId: string;\r\n workspaceTypesFormatted: string[];\r\n}\r\n\r\nexport class ContentItemViewModel implements IContentItemViewModel {\r\n subject!: string;\r\n content!: string;\r\n\r\n constructor(data?: IContentItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.subject = _data[\"subject\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"subject\"] = this.subject;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemViewModel {\r\n subject: string;\r\n content: string;\r\n}\r\n\r\nexport class OnboardingContentViewModel implements IOnboardingContentViewModel {\r\n url!: string | undefined;\r\n message!: string;\r\n title!: string;\r\n content!: string;\r\n videoUrl!: string;\r\n loomVideoUrl!: string | undefined;\r\n isDefaultBackground!: boolean;\r\n\r\n constructor(data?: IOnboardingContentViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n this.message = _data[\"message\"];\r\n this.title = _data[\"title\"];\r\n this.content = _data[\"content\"];\r\n this.videoUrl = _data[\"videoUrl\"];\r\n this.loomVideoUrl = _data[\"loomVideoUrl\"];\r\n this.isDefaultBackground = _data[\"isDefaultBackground\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OnboardingContentViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OnboardingContentViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n data[\"message\"] = this.message;\r\n data[\"title\"] = this.title;\r\n data[\"content\"] = this.content;\r\n data[\"videoUrl\"] = this.videoUrl;\r\n data[\"loomVideoUrl\"] = this.loomVideoUrl;\r\n data[\"isDefaultBackground\"] = this.isDefaultBackground;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOnboardingContentViewModel {\r\n url: string | undefined;\r\n message: string;\r\n title: string;\r\n content: string;\r\n videoUrl: string;\r\n loomVideoUrl: string | undefined;\r\n isDefaultBackground: boolean;\r\n}\r\n\r\nexport class PortalReviews implements IPortalReviews {\r\n reviews!: RatingViewModel[];\r\n colleaguesWithReviewCount!: number;\r\n\r\n constructor(data?: IPortalReviews) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"reviews\"])) {\r\n this.reviews = [] as any;\r\n for (let item of _data[\"reviews\"])\r\n this.reviews!.push(RatingViewModel.fromJS(item));\r\n }\r\n this.colleaguesWithReviewCount = _data[\"colleaguesWithReviewCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PortalReviews {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PortalReviews();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.reviews)) {\r\n data[\"reviews\"] = [];\r\n for (let item of this.reviews)\r\n data[\"reviews\"].push(item.toJSON());\r\n }\r\n data[\"colleaguesWithReviewCount\"] = this.colleaguesWithReviewCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPortalReviews {\r\n reviews: RatingViewModel[];\r\n colleaguesWithReviewCount: number;\r\n}\r\n\r\nexport class RatingViewModel implements IRatingViewModel {\r\n stars!: number;\r\n date!: string;\r\n memberFullName!: string | undefined;\r\n memberTitle!: string | undefined;\r\n memberPicture!: string | undefined;\r\n reviewText!: string | undefined;\r\n venueName!: string;\r\n workspaceName!: string;\r\n venueAddress!: string;\r\n workspacePicture!: string | undefined;\r\n id!: string;\r\n workspaceUrl!: string;\r\n\r\n constructor(data?: IRatingViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.stars = _data[\"stars\"];\r\n this.date = _data[\"date\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberTitle = _data[\"memberTitle\"];\r\n this.memberPicture = _data[\"memberPicture\"];\r\n this.reviewText = _data[\"reviewText\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n this.workspacePicture = _data[\"workspacePicture\"];\r\n this.id = _data[\"id\"];\r\n this.workspaceUrl = _data[\"workspaceUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RatingViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RatingViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"stars\"] = this.stars;\r\n data[\"date\"] = this.date;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberTitle\"] = this.memberTitle;\r\n data[\"memberPicture\"] = this.memberPicture;\r\n data[\"reviewText\"] = this.reviewText;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n data[\"workspacePicture\"] = this.workspacePicture;\r\n data[\"id\"] = this.id;\r\n data[\"workspaceUrl\"] = this.workspaceUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRatingViewModel {\r\n stars: number;\r\n date: string;\r\n memberFullName: string | undefined;\r\n memberTitle: string | undefined;\r\n memberPicture: string | undefined;\r\n reviewText: string | undefined;\r\n venueName: string;\r\n workspaceName: string;\r\n venueAddress: string;\r\n workspacePicture: string | undefined;\r\n id: string;\r\n workspaceUrl: string;\r\n}\r\n\r\nexport class SupportRequest implements ISupportRequest {\r\n message!: string;\r\n\r\n constructor(data?: ISupportRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SupportRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SupportRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISupportRequest {\r\n message: string;\r\n}\r\n\r\nexport class QuestionRequest implements IQuestionRequest {\r\n fullName!: string;\r\n email!: string;\r\n phoneNumber!: string | undefined;\r\n message!: string;\r\n\r\n constructor(data?: IQuestionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuestionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuestionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuestionRequest {\r\n fullName: string;\r\n email: string;\r\n phoneNumber: string | undefined;\r\n message: string;\r\n}\r\n\r\nexport class MemberViewModel implements IMemberViewModel {\r\n id!: string;\r\n email!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IMemberViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.email = _data[\"email\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"email\"] = this.email;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberViewModel {\r\n id: string;\r\n email: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class BrandedBannerViewModel implements IBrandedBannerViewModel {\r\n title!: string | undefined;\r\n subtitle!: string | undefined;\r\n popupTitle!: string | undefined;\r\n popupContent!: string | undefined;\r\n enable!: boolean;\r\n forcePopup!: boolean;\r\n popupHash!: number;\r\n\r\n constructor(data?: IBrandedBannerViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.subtitle = _data[\"subtitle\"];\r\n this.popupTitle = _data[\"popupTitle\"];\r\n this.popupContent = _data[\"popupContent\"];\r\n this.enable = _data[\"enable\"];\r\n this.forcePopup = _data[\"forcePopup\"];\r\n this.popupHash = _data[\"popupHash\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedBannerViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedBannerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"subtitle\"] = this.subtitle;\r\n data[\"popupTitle\"] = this.popupTitle;\r\n data[\"popupContent\"] = this.popupContent;\r\n data[\"enable\"] = this.enable;\r\n data[\"forcePopup\"] = this.forcePopup;\r\n data[\"popupHash\"] = this.popupHash;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedBannerViewModel {\r\n title: string | undefined;\r\n subtitle: string | undefined;\r\n popupTitle: string | undefined;\r\n popupContent: string | undefined;\r\n enable: boolean;\r\n forcePopup: boolean;\r\n popupHash: number;\r\n}\r\n\r\nexport class MessageTargetAutocompleteItem implements IMessageTargetAutocompleteItem {\r\n targetId!: string;\r\n fullName!: string | undefined;\r\n imageUrl!: string | undefined;\r\n email!: string | undefined;\r\n\r\n constructor(data?: IMessageTargetAutocompleteItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.targetId = _data[\"targetId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageTargetAutocompleteItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageTargetAutocompleteItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"targetId\"] = this.targetId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageTargetAutocompleteItem {\r\n targetId: string;\r\n fullName: string | undefined;\r\n imageUrl: string | undefined;\r\n email: string | undefined;\r\n}\r\n\r\nexport class DayActivityViewModel implements IDayActivityViewModel {\r\n date!: string;\r\n member!: ReservationMemberViewModel | undefined;\r\n coworkers!: ReservationMemberViewModel[];\r\n venueActivities!: DayVenueActivityViewModel[];\r\n memberActivities!: DayVenueActivityViewModel[];\r\n\r\n constructor(data?: IDayActivityViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.member = _data[\"member\"] ? ReservationMemberViewModel.fromJS(_data[\"member\"]) : undefined;\r\n if (Array.isArray(_data[\"coworkers\"])) {\r\n this.coworkers = [] as any;\r\n for (let item of _data[\"coworkers\"])\r\n this.coworkers!.push(ReservationMemberViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"venueActivities\"])) {\r\n this.venueActivities = [] as any;\r\n for (let item of _data[\"venueActivities\"])\r\n this.venueActivities!.push(DayVenueActivityViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"memberActivities\"])) {\r\n this.memberActivities = [] as any;\r\n for (let item of _data[\"memberActivities\"])\r\n this.memberActivities!.push(DayVenueActivityViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DayActivityViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DayActivityViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"member\"] = this.member ? this.member.toJSON() : undefined;\r\n if (Array.isArray(this.coworkers)) {\r\n data[\"coworkers\"] = [];\r\n for (let item of this.coworkers)\r\n data[\"coworkers\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.venueActivities)) {\r\n data[\"venueActivities\"] = [];\r\n for (let item of this.venueActivities)\r\n data[\"venueActivities\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.memberActivities)) {\r\n data[\"memberActivities\"] = [];\r\n for (let item of this.memberActivities)\r\n data[\"memberActivities\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDayActivityViewModel {\r\n date: string;\r\n member: ReservationMemberViewModel | undefined;\r\n coworkers: ReservationMemberViewModel[];\r\n venueActivities: DayVenueActivityViewModel[];\r\n memberActivities: DayVenueActivityViewModel[];\r\n}\r\n\r\nexport class DayVenueActivityViewModel implements IDayVenueActivityViewModel {\r\n venueId!: string | undefined;\r\n imageUrl!: string | undefined;\r\n venueName!: string | undefined;\r\n venueAddress!: string | undefined;\r\n startDate!: string;\r\n endDate!: string | undefined;\r\n reservationType!: WorkspaceReservationMethod;\r\n spaceName!: string | undefined;\r\n spaceType!: string | undefined;\r\n coworkers!: ActivityMaybeMemberViewModel[];\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId!: string;\r\n occurrenceDate!: string | undefined;\r\n hasMultipleSpace!: boolean;\r\n\r\n constructor(data?: IDayVenueActivityViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.reservationType = _data[\"reservationType\"];\r\n this.spaceName = _data[\"spaceName\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n if (Array.isArray(_data[\"coworkers\"])) {\r\n this.coworkers = [] as any;\r\n for (let item of _data[\"coworkers\"])\r\n this.coworkers!.push(ActivityMaybeMemberViewModel.fromJS(item));\r\n }\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.hasMultipleSpace = _data[\"hasMultipleSpace\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DayVenueActivityViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DayVenueActivityViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"spaceName\"] = this.spaceName;\r\n data[\"spaceType\"] = this.spaceType;\r\n if (Array.isArray(this.coworkers)) {\r\n data[\"coworkers\"] = [];\r\n for (let item of this.coworkers)\r\n data[\"coworkers\"].push(item.toJSON());\r\n }\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"hasMultipleSpace\"] = this.hasMultipleSpace;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDayVenueActivityViewModel {\r\n venueId: string | undefined;\r\n imageUrl: string | undefined;\r\n venueName: string | undefined;\r\n venueAddress: string | undefined;\r\n startDate: string;\r\n endDate: string | undefined;\r\n reservationType: WorkspaceReservationMethod;\r\n spaceName: string | undefined;\r\n spaceType: string | undefined;\r\n coworkers: ActivityMaybeMemberViewModel[];\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId: string;\r\n occurrenceDate: string | undefined;\r\n hasMultipleSpace: boolean;\r\n}\r\n\r\nexport class ActivityMaybeMemberViewModel implements IActivityMaybeMemberViewModel {\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n fullName!: string;\r\n email!: string;\r\n spaceName!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IActivityMaybeMemberViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ActivityMaybeMemberViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.spaceName = _data[\"spaceName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityMaybeMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"ActivityMemberViewModel\") {\r\n let result = new ActivityMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new ActivityMaybeMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"spaceName\"] = this.spaceName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityMaybeMemberViewModel {\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n fullName: string;\r\n email: string;\r\n spaceName: string;\r\n}\r\n\r\nexport class ActivityMemberViewModel extends ActivityMaybeMemberViewModel implements IActivityMemberViewModel {\r\n id!: string;\r\n imageUrl!: string | undefined;\r\n company!: string | undefined;\r\n\r\n constructor(data?: IActivityMemberViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ActivityMemberViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.company = _data[\"company\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"company\"] = this.company;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityMemberViewModel extends IActivityMaybeMemberViewModel {\r\n id: string;\r\n imageUrl: string | undefined;\r\n company: string | undefined;\r\n}\r\n\r\nexport class SSOSettingsModel implements ISSOSettingsModel {\r\n enableSSO!: boolean;\r\n ssoTargetUrl!: string | undefined;\r\n ssoTargetLogoutUrl!: string | undefined;\r\n certificate!: string | undefined;\r\n certificateThumbprint!: string | undefined;\r\n sessionExpirationMinutes!: number;\r\n authenticationContext!: string | undefined;\r\n authenticationContextComparison!: string | undefined;\r\n skipAuthenticationContextComparison!: boolean;\r\n skipAssertionConsumerServiceURL!: boolean;\r\n samlManageGroupMembership!: boolean;\r\n clientId!: string | undefined;\r\n clientSecret!: string | undefined;\r\n clientToken!: string | undefined;\r\n scimCreateUsers!: boolean;\r\n scimManageGroupMembership!: boolean;\r\n syncScimProcessing!: boolean;\r\n availableAuthenticationContexts!: string[];\r\n availableAuthenticationComparisons!: string[];\r\n emailDomains!: string[];\r\n consumerEndpoint!: string | undefined;\r\n\r\n constructor(data?: ISSOSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enableSSO = _data[\"enableSSO\"];\r\n this.ssoTargetUrl = _data[\"ssoTargetUrl\"];\r\n this.ssoTargetLogoutUrl = _data[\"ssoTargetLogoutUrl\"];\r\n this.certificate = _data[\"certificate\"];\r\n this.certificateThumbprint = _data[\"certificateThumbprint\"];\r\n this.sessionExpirationMinutes = _data[\"sessionExpirationMinutes\"];\r\n this.authenticationContext = _data[\"authenticationContext\"];\r\n this.authenticationContextComparison = _data[\"authenticationContextComparison\"];\r\n this.skipAuthenticationContextComparison = _data[\"skipAuthenticationContextComparison\"];\r\n this.skipAssertionConsumerServiceURL = _data[\"skipAssertionConsumerServiceURL\"];\r\n this.samlManageGroupMembership = _data[\"samlManageGroupMembership\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.clientToken = _data[\"clientToken\"];\r\n this.scimCreateUsers = _data[\"scimCreateUsers\"];\r\n this.scimManageGroupMembership = _data[\"scimManageGroupMembership\"];\r\n this.syncScimProcessing = _data[\"syncScimProcessing\"];\r\n if (Array.isArray(_data[\"availableAuthenticationContexts\"])) {\r\n this.availableAuthenticationContexts = [] as any;\r\n for (let item of _data[\"availableAuthenticationContexts\"])\r\n this.availableAuthenticationContexts!.push(item);\r\n }\r\n if (Array.isArray(_data[\"availableAuthenticationComparisons\"])) {\r\n this.availableAuthenticationComparisons = [] as any;\r\n for (let item of _data[\"availableAuthenticationComparisons\"])\r\n this.availableAuthenticationComparisons!.push(item);\r\n }\r\n if (Array.isArray(_data[\"emailDomains\"])) {\r\n this.emailDomains = [] as any;\r\n for (let item of _data[\"emailDomains\"])\r\n this.emailDomains!.push(item);\r\n }\r\n this.consumerEndpoint = _data[\"consumerEndpoint\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SSOSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SSOSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enableSSO\"] = this.enableSSO;\r\n data[\"ssoTargetUrl\"] = this.ssoTargetUrl;\r\n data[\"ssoTargetLogoutUrl\"] = this.ssoTargetLogoutUrl;\r\n data[\"certificate\"] = this.certificate;\r\n data[\"certificateThumbprint\"] = this.certificateThumbprint;\r\n data[\"sessionExpirationMinutes\"] = this.sessionExpirationMinutes;\r\n data[\"authenticationContext\"] = this.authenticationContext;\r\n data[\"authenticationContextComparison\"] = this.authenticationContextComparison;\r\n data[\"skipAuthenticationContextComparison\"] = this.skipAuthenticationContextComparison;\r\n data[\"skipAssertionConsumerServiceURL\"] = this.skipAssertionConsumerServiceURL;\r\n data[\"samlManageGroupMembership\"] = this.samlManageGroupMembership;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"clientToken\"] = this.clientToken;\r\n data[\"scimCreateUsers\"] = this.scimCreateUsers;\r\n data[\"scimManageGroupMembership\"] = this.scimManageGroupMembership;\r\n data[\"syncScimProcessing\"] = this.syncScimProcessing;\r\n if (Array.isArray(this.availableAuthenticationContexts)) {\r\n data[\"availableAuthenticationContexts\"] = [];\r\n for (let item of this.availableAuthenticationContexts)\r\n data[\"availableAuthenticationContexts\"].push(item);\r\n }\r\n if (Array.isArray(this.availableAuthenticationComparisons)) {\r\n data[\"availableAuthenticationComparisons\"] = [];\r\n for (let item of this.availableAuthenticationComparisons)\r\n data[\"availableAuthenticationComparisons\"].push(item);\r\n }\r\n if (Array.isArray(this.emailDomains)) {\r\n data[\"emailDomains\"] = [];\r\n for (let item of this.emailDomains)\r\n data[\"emailDomains\"].push(item);\r\n }\r\n data[\"consumerEndpoint\"] = this.consumerEndpoint;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISSOSettingsModel {\r\n enableSSO: boolean;\r\n ssoTargetUrl: string | undefined;\r\n ssoTargetLogoutUrl: string | undefined;\r\n certificate: string | undefined;\r\n certificateThumbprint: string | undefined;\r\n sessionExpirationMinutes: number;\r\n authenticationContext: string | undefined;\r\n authenticationContextComparison: string | undefined;\r\n skipAuthenticationContextComparison: boolean;\r\n skipAssertionConsumerServiceURL: boolean;\r\n samlManageGroupMembership: boolean;\r\n clientId: string | undefined;\r\n clientSecret: string | undefined;\r\n clientToken: string | undefined;\r\n scimCreateUsers: boolean;\r\n scimManageGroupMembership: boolean;\r\n syncScimProcessing: boolean;\r\n availableAuthenticationContexts: string[];\r\n availableAuthenticationComparisons: string[];\r\n emailDomains: string[];\r\n consumerEndpoint: string | undefined;\r\n}\r\n\r\nexport class TeamViewModel implements ITeamViewModel {\r\n id!: string;\r\n headquarters!: Headquarter[];\r\n paymentMethodList!: PaymentMethodListViewModel;\r\n enterpriseAccountId!: string;\r\n ownerEmail!: string;\r\n name!: string;\r\n notificationEmails!: string[];\r\n isActive!: boolean;\r\n adminEmails!: string[];\r\n maxDailyBudget!: number | undefined;\r\n maxMonthlyBudget!: number | undefined;\r\n maxMonthlyMemberBudget!: number | undefined;\r\n disableCCEntry!: boolean;\r\n searchSettings!: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n extendedSearchOptions!: ExtendedSearchOptionsModel;\r\n bannerOptions!: BrandedBannerOptionsModel;\r\n\r\n constructor(data?: ITeamViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"headquarters\"])) {\r\n this.headquarters = [] as any;\r\n for (let item of _data[\"headquarters\"])\r\n this.headquarters!.push(Headquarter.fromJS(item));\r\n }\r\n this.paymentMethodList = _data[\"paymentMethodList\"] ? PaymentMethodListViewModel.fromJS(_data[\"paymentMethodList\"]) : undefined;\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n this.ownerEmail = _data[\"ownerEmail\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"notificationEmails\"])) {\r\n this.notificationEmails = [] as any;\r\n for (let item of _data[\"notificationEmails\"])\r\n this.notificationEmails!.push(item);\r\n }\r\n this.isActive = _data[\"isActive\"];\r\n if (Array.isArray(_data[\"adminEmails\"])) {\r\n this.adminEmails = [] as any;\r\n for (let item of _data[\"adminEmails\"])\r\n this.adminEmails!.push(item);\r\n }\r\n this.maxDailyBudget = _data[\"maxDailyBudget\"];\r\n this.maxMonthlyBudget = _data[\"maxMonthlyBudget\"];\r\n this.maxMonthlyMemberBudget = _data[\"maxMonthlyMemberBudget\"];\r\n this.disableCCEntry = _data[\"disableCCEntry\"];\r\n if (_data[\"searchSettings\"]) {\r\n this.searchSettings = {} as any;\r\n for (let key in _data[\"searchSettings\"]) {\r\n if (_data[\"searchSettings\"].hasOwnProperty(key))\r\n (this.searchSettings)![key] = _data[\"searchSettings\"][key];\r\n }\r\n }\r\n this.extendedSearchOptions = _data[\"extendedSearchOptions\"] ? ExtendedSearchOptionsModel.fromJS(_data[\"extendedSearchOptions\"]) : undefined;\r\n this.bannerOptions = _data[\"bannerOptions\"] ? BrandedBannerOptionsModel.fromJS(_data[\"bannerOptions\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.headquarters)) {\r\n data[\"headquarters\"] = [];\r\n for (let item of this.headquarters)\r\n data[\"headquarters\"].push(item.toJSON());\r\n }\r\n data[\"paymentMethodList\"] = this.paymentMethodList ? this.paymentMethodList.toJSON() : undefined;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n data[\"ownerEmail\"] = this.ownerEmail;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.notificationEmails)) {\r\n data[\"notificationEmails\"] = [];\r\n for (let item of this.notificationEmails)\r\n data[\"notificationEmails\"].push(item);\r\n }\r\n data[\"isActive\"] = this.isActive;\r\n if (Array.isArray(this.adminEmails)) {\r\n data[\"adminEmails\"] = [];\r\n for (let item of this.adminEmails)\r\n data[\"adminEmails\"].push(item);\r\n }\r\n data[\"maxDailyBudget\"] = this.maxDailyBudget;\r\n data[\"maxMonthlyBudget\"] = this.maxMonthlyBudget;\r\n data[\"maxMonthlyMemberBudget\"] = this.maxMonthlyMemberBudget;\r\n data[\"disableCCEntry\"] = this.disableCCEntry;\r\n if (this.searchSettings) {\r\n data[\"searchSettings\"] = {};\r\n for (let key in this.searchSettings) {\r\n if (this.searchSettings.hasOwnProperty(key))\r\n (data[\"searchSettings\"])[key] = (this.searchSettings)[key];\r\n }\r\n }\r\n data[\"extendedSearchOptions\"] = this.extendedSearchOptions ? this.extendedSearchOptions.toJSON() : undefined;\r\n data[\"bannerOptions\"] = this.bannerOptions ? this.bannerOptions.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamViewModel {\r\n id: string;\r\n headquarters: Headquarter[];\r\n paymentMethodList: PaymentMethodListViewModel;\r\n enterpriseAccountId: string;\r\n ownerEmail: string;\r\n name: string;\r\n notificationEmails: string[];\r\n isActive: boolean;\r\n adminEmails: string[];\r\n maxDailyBudget: number | undefined;\r\n maxMonthlyBudget: number | undefined;\r\n maxMonthlyMemberBudget: number | undefined;\r\n disableCCEntry: boolean;\r\n searchSettings: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n extendedSearchOptions: ExtendedSearchOptionsModel;\r\n bannerOptions: BrandedBannerOptionsModel;\r\n}\r\n\r\nexport class Headquarter implements IHeadquarter {\r\n id!: string;\r\n venueId!: string;\r\n venueGroupId!: string;\r\n address!: string | undefined;\r\n longitude!: number;\r\n latitude!: number;\r\n bestMatchPoints!: number;\r\n title!: string | undefined;\r\n rank!: number;\r\n\r\n constructor(data?: IHeadquarter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.address = _data[\"address\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.bestMatchPoints = _data[\"bestMatchPoints\"];\r\n this.title = _data[\"title\"];\r\n this.rank = _data[\"rank\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Headquarter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Headquarter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"address\"] = this.address;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"bestMatchPoints\"] = this.bestMatchPoints;\r\n data[\"title\"] = this.title;\r\n data[\"rank\"] = this.rank;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeadquarter {\r\n id: string;\r\n venueId: string;\r\n venueGroupId: string;\r\n address: string | undefined;\r\n longitude: number;\r\n latitude: number;\r\n bestMatchPoints: number;\r\n title: string | undefined;\r\n rank: number;\r\n}\r\n\r\nexport class PaymentMethodListViewModel implements IPaymentMethodListViewModel {\r\n paymentMethods!: PaymentMethodViewModel[];\r\n centralizedPaymentMethods!: CentralizedPaymentMethodViewModel[];\r\n paymentMethodConfiguration!: PaymentMethodConfigurationModel;\r\n\r\n constructor(data?: IPaymentMethodListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"paymentMethods\"])) {\r\n this.paymentMethods = [] as any;\r\n for (let item of _data[\"paymentMethods\"])\r\n this.paymentMethods!.push(PaymentMethodViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"centralizedPaymentMethods\"])) {\r\n this.centralizedPaymentMethods = [] as any;\r\n for (let item of _data[\"centralizedPaymentMethods\"])\r\n this.centralizedPaymentMethods!.push(CentralizedPaymentMethodViewModel.fromJS(item));\r\n }\r\n this.paymentMethodConfiguration = _data[\"paymentMethodConfiguration\"] ? PaymentMethodConfigurationModel.fromJS(_data[\"paymentMethodConfiguration\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentMethodListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentMethodListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.paymentMethods)) {\r\n data[\"paymentMethods\"] = [];\r\n for (let item of this.paymentMethods)\r\n data[\"paymentMethods\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.centralizedPaymentMethods)) {\r\n data[\"centralizedPaymentMethods\"] = [];\r\n for (let item of this.centralizedPaymentMethods)\r\n data[\"centralizedPaymentMethods\"].push(item.toJSON());\r\n }\r\n data[\"paymentMethodConfiguration\"] = this.paymentMethodConfiguration ? this.paymentMethodConfiguration.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentMethodListViewModel {\r\n paymentMethods: PaymentMethodViewModel[];\r\n centralizedPaymentMethods: CentralizedPaymentMethodViewModel[];\r\n paymentMethodConfiguration: PaymentMethodConfigurationModel;\r\n}\r\n\r\nexport abstract class PaymentMethodViewModel implements IPaymentMethodViewModel {\r\n paymentProfileId!: string;\r\n customerProfileId!: string;\r\n paymentProvider!: PaymentProviderType;\r\n isDefault!: boolean;\r\n description!: string | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IPaymentMethodViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"PaymentMethodViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.paymentProfileId = _data[\"paymentProfileId\"];\r\n this.customerProfileId = _data[\"customerProfileId\"];\r\n this.paymentProvider = _data[\"paymentProvider\"];\r\n this.isDefault = _data[\"isDefault\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentMethodViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"CreditCardPaymentMethodViewModel\") {\r\n let result = new CreditCardPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"BankAccountPaymentMethodViewModel\") {\r\n let result = new BankAccountPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"MarketplacePaymentMethodViewModel\") {\r\n let result = new MarketplacePaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"WireTransferPaymentMethodViewModel\") {\r\n let result = new WireTransferPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"CentralizedPaymentMethodViewModel\") {\r\n let result = new CentralizedPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'PaymentMethodViewModel' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"paymentProfileId\"] = this.paymentProfileId;\r\n data[\"customerProfileId\"] = this.customerProfileId;\r\n data[\"paymentProvider\"] = this.paymentProvider;\r\n data[\"isDefault\"] = this.isDefault;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentMethodViewModel {\r\n paymentProfileId: string;\r\n customerProfileId: string;\r\n paymentProvider: PaymentProviderType;\r\n isDefault: boolean;\r\n description: string | undefined;\r\n}\r\n\r\nexport class CreditCardPaymentMethodViewModel extends PaymentMethodViewModel implements ICreditCardPaymentMethodViewModel {\r\n last4!: string;\r\n maskedNumber!: string;\r\n fullName!: string | undefined;\r\n address!: string | undefined;\r\n city!: string | undefined;\r\n country!: string | undefined;\r\n state!: string | undefined;\r\n zip!: string | undefined;\r\n creditCardType!: CreditCardTypeType | undefined;\r\n cardType!: string | undefined;\r\n expirationMonth!: number | undefined;\r\n expirationYear!: number | undefined;\r\n expirationDateRaw!: string | undefined;\r\n isExpired!: boolean;\r\n\r\n constructor(data?: ICreditCardPaymentMethodViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CreditCardPaymentMethodViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.last4 = _data[\"last4\"];\r\n this.maskedNumber = _data[\"maskedNumber\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.address = _data[\"address\"];\r\n this.city = _data[\"city\"];\r\n this.country = _data[\"country\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.creditCardType = _data[\"creditCardType\"];\r\n this.cardType = _data[\"cardType\"];\r\n this.expirationMonth = _data[\"expirationMonth\"];\r\n this.expirationYear = _data[\"expirationYear\"];\r\n this.expirationDateRaw = _data[\"expirationDateRaw\"];\r\n this.isExpired = _data[\"isExpired\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreditCardPaymentMethodViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreditCardPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"last4\"] = this.last4;\r\n data[\"maskedNumber\"] = this.maskedNumber;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"address\"] = this.address;\r\n data[\"city\"] = this.city;\r\n data[\"country\"] = this.country;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"creditCardType\"] = this.creditCardType;\r\n data[\"cardType\"] = this.cardType;\r\n data[\"expirationMonth\"] = this.expirationMonth;\r\n data[\"expirationYear\"] = this.expirationYear;\r\n data[\"expirationDateRaw\"] = this.expirationDateRaw;\r\n data[\"isExpired\"] = this.isExpired;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreditCardPaymentMethodViewModel extends IPaymentMethodViewModel {\r\n last4: string;\r\n maskedNumber: string;\r\n fullName: string | undefined;\r\n address: string | undefined;\r\n city: string | undefined;\r\n country: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n creditCardType: CreditCardTypeType | undefined;\r\n cardType: string | undefined;\r\n expirationMonth: number | undefined;\r\n expirationYear: number | undefined;\r\n expirationDateRaw: string | undefined;\r\n isExpired: boolean;\r\n}\r\n\r\n/** 0 = Visa 1 = MasterCard 2 = Discover 3 = Amex */\r\nexport enum CreditCardTypeType {\r\n Visa = 0,\r\n MasterCard = 1,\r\n Discover = 2,\r\n Amex = 3,\r\n}\r\n\r\nexport class BankAccountPaymentMethodViewModel extends PaymentMethodViewModel implements IBankAccountPaymentMethodViewModel {\r\n last4!: string;\r\n bankName!: string | undefined;\r\n isVerified!: boolean;\r\n\r\n constructor(data?: IBankAccountPaymentMethodViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BankAccountPaymentMethodViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.last4 = _data[\"last4\"];\r\n this.bankName = _data[\"bankName\"];\r\n this.isVerified = _data[\"isVerified\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BankAccountPaymentMethodViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BankAccountPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"last4\"] = this.last4;\r\n data[\"bankName\"] = this.bankName;\r\n data[\"isVerified\"] = this.isVerified;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBankAccountPaymentMethodViewModel extends IPaymentMethodViewModel {\r\n last4: string;\r\n bankName: string | undefined;\r\n isVerified: boolean;\r\n}\r\n\r\nexport class MarketplacePaymentMethodViewModel extends PaymentMethodViewModel implements IMarketplacePaymentMethodViewModel {\r\n\r\n constructor(data?: IMarketplacePaymentMethodViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"MarketplacePaymentMethodViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): MarketplacePaymentMethodViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplacePaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplacePaymentMethodViewModel extends IPaymentMethodViewModel {\r\n}\r\n\r\nexport class WireTransferPaymentMethodViewModel extends PaymentMethodViewModel implements IWireTransferPaymentMethodViewModel {\r\n\r\n constructor(data?: IWireTransferPaymentMethodViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WireTransferPaymentMethodViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): WireTransferPaymentMethodViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WireTransferPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWireTransferPaymentMethodViewModel extends IPaymentMethodViewModel {\r\n}\r\n\r\nexport class CentralizedPaymentMethodViewModel extends PaymentMethodViewModel implements ICentralizedPaymentMethodViewModel {\r\n payableKey!: PayableKey;\r\n centralizedName!: string;\r\n isExpired!: boolean;\r\n /** Points to the parent entity that may contain general payment methods. */\r\n parentPayableKey!: PayableKey | undefined;\r\n\r\n constructor(data?: ICentralizedPaymentMethodViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CentralizedPaymentMethodViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n this.centralizedName = _data[\"centralizedName\"];\r\n this.isExpired = _data[\"isExpired\"];\r\n this.parentPayableKey = _data[\"parentPayableKey\"] ? PayableKey.fromJS(_data[\"parentPayableKey\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CentralizedPaymentMethodViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CentralizedPaymentMethodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n data[\"centralizedName\"] = this.centralizedName;\r\n data[\"isExpired\"] = this.isExpired;\r\n data[\"parentPayableKey\"] = this.parentPayableKey ? this.parentPayableKey.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICentralizedPaymentMethodViewModel extends IPaymentMethodViewModel {\r\n payableKey: PayableKey;\r\n centralizedName: string;\r\n isExpired: boolean;\r\n /** Points to the parent entity that may contain general payment methods. */\r\n parentPayableKey: PayableKey | undefined;\r\n}\r\n\r\nexport class PaymentMethodConfigurationModel implements IPaymentMethodConfigurationModel {\r\n canDeleteBankAccount!: boolean;\r\n enableACHPayments!: boolean;\r\n ccEntryDisabled!: boolean;\r\n enableWireTransferPayments!: boolean;\r\n\r\n constructor(data?: IPaymentMethodConfigurationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.canDeleteBankAccount = _data[\"canDeleteBankAccount\"];\r\n this.enableACHPayments = _data[\"enableACHPayments\"];\r\n this.ccEntryDisabled = _data[\"ccEntryDisabled\"];\r\n this.enableWireTransferPayments = _data[\"enableWireTransferPayments\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentMethodConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentMethodConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"canDeleteBankAccount\"] = this.canDeleteBankAccount;\r\n data[\"enableACHPayments\"] = this.enableACHPayments;\r\n data[\"ccEntryDisabled\"] = this.ccEntryDisabled;\r\n data[\"enableWireTransferPayments\"] = this.enableWireTransferPayments;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentMethodConfigurationModel {\r\n canDeleteBankAccount: boolean;\r\n enableACHPayments: boolean;\r\n ccEntryDisabled: boolean;\r\n enableWireTransferPayments: boolean;\r\n}\r\n\r\nexport class TeamAddViewModel implements ITeamAddViewModel {\r\n accountId!: string;\r\n name!: string;\r\n\r\n constructor(data?: ITeamAddViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.accountId = _data[\"accountId\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamAddViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamAddViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"accountId\"] = this.accountId;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamAddViewModel {\r\n accountId: string;\r\n name: string;\r\n}\r\n\r\n/** Team member model */\r\nexport class TeamMemberAddViewModel implements ITeamMemberAddViewModel {\r\n email!: string;\r\n title!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n company!: string | undefined;\r\n geoCity!: string | undefined;\r\n geoCountry!: string | undefined;\r\n externalAccountId!: string | undefined;\r\n costCenter!: string | undefined;\r\n fullName!: string;\r\n notes!: string | undefined;\r\n /** Message text that wil be added to invitation email. */\r\n message!: string;\r\n\r\n constructor(data?: ITeamMemberAddViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.title = _data[\"title\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.company = _data[\"company\"];\r\n this.geoCity = _data[\"geoCity\"];\r\n this.geoCountry = _data[\"geoCountry\"];\r\n this.externalAccountId = _data[\"externalAccountId\"];\r\n this.costCenter = _data[\"costCenter\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.notes = _data[\"notes\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberAddViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberAddViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"title\"] = this.title;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"company\"] = this.company;\r\n data[\"geoCity\"] = this.geoCity;\r\n data[\"geoCountry\"] = this.geoCountry;\r\n data[\"externalAccountId\"] = this.externalAccountId;\r\n data[\"costCenter\"] = this.costCenter;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"notes\"] = this.notes;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\n/** Team member model */\r\nexport interface ITeamMemberAddViewModel {\r\n email: string;\r\n title: string | undefined;\r\n phoneNumber: string | undefined;\r\n company: string | undefined;\r\n geoCity: string | undefined;\r\n geoCountry: string | undefined;\r\n externalAccountId: string | undefined;\r\n costCenter: string | undefined;\r\n fullName: string;\r\n notes: string | undefined;\r\n /** Message text that wil be added to invitation email. */\r\n message: string;\r\n}\r\n\r\nexport class TeamMembersAddViewModel implements ITeamMembersAddViewModel {\r\n memberIds!: string[];\r\n message!: string;\r\n suppressInviteEmail!: boolean | undefined;\r\n\r\n constructor(data?: ITeamMembersAddViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"memberIds\"])) {\r\n this.memberIds = [] as any;\r\n for (let item of _data[\"memberIds\"])\r\n this.memberIds!.push(item);\r\n }\r\n this.message = _data[\"message\"];\r\n this.suppressInviteEmail = _data[\"suppressInviteEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMembersAddViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMembersAddViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.memberIds)) {\r\n data[\"memberIds\"] = [];\r\n for (let item of this.memberIds)\r\n data[\"memberIds\"].push(item);\r\n }\r\n data[\"message\"] = this.message;\r\n data[\"suppressInviteEmail\"] = this.suppressInviteEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMembersAddViewModel {\r\n memberIds: string[];\r\n message: string;\r\n suppressInviteEmail: boolean | undefined;\r\n}\r\n\r\nexport class LocationViewModel implements ILocationViewModel {\r\n formattedAddress!: string;\r\n addressComponents!: AddressComponentViewModel[];\r\n types!: string[] | undefined;\r\n latitude!: number;\r\n longitude!: number;\r\n\r\n constructor(data?: ILocationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.formattedAddress = _data[\"formattedAddress\"];\r\n if (Array.isArray(_data[\"addressComponents\"])) {\r\n this.addressComponents = [] as any;\r\n for (let item of _data[\"addressComponents\"])\r\n this.addressComponents!.push(AddressComponentViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"types\"])) {\r\n this.types = [] as any;\r\n for (let item of _data[\"types\"])\r\n this.types!.push(item);\r\n }\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"formattedAddress\"] = this.formattedAddress;\r\n if (Array.isArray(this.addressComponents)) {\r\n data[\"addressComponents\"] = [];\r\n for (let item of this.addressComponents)\r\n data[\"addressComponents\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.types)) {\r\n data[\"types\"] = [];\r\n for (let item of this.types)\r\n data[\"types\"].push(item);\r\n }\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILocationViewModel {\r\n formattedAddress: string;\r\n addressComponents: AddressComponentViewModel[];\r\n types: string[] | undefined;\r\n latitude: number;\r\n longitude: number;\r\n}\r\n\r\nexport class AddressComponentViewModel implements IAddressComponentViewModel {\r\n shortText!: string | undefined;\r\n longText!: string | undefined;\r\n types!: string[];\r\n\r\n constructor(data?: IAddressComponentViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.shortText = _data[\"shortText\"];\r\n this.longText = _data[\"longText\"];\r\n if (Array.isArray(_data[\"types\"])) {\r\n this.types = [] as any;\r\n for (let item of _data[\"types\"])\r\n this.types!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddressComponentViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddressComponentViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"shortText\"] = this.shortText;\r\n data[\"longText\"] = this.longText;\r\n if (Array.isArray(this.types)) {\r\n data[\"types\"] = [];\r\n for (let item of this.types)\r\n data[\"types\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddressComponentViewModel {\r\n shortText: string | undefined;\r\n longText: string | undefined;\r\n types: string[];\r\n}\r\n\r\nexport class GeocodeRequestModel implements IGeocodeRequestModel {\r\n address!: string;\r\n\r\n constructor(data?: IGeocodeRequestModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeocodeRequestModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeocodeRequestModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeocodeRequestModel {\r\n address: string;\r\n}\r\n\r\nexport class PlacePredictionViewModel implements IPlacePredictionViewModel {\r\n placeId!: string;\r\n /** AKA Description */\r\n text!: string;\r\n mainText!: string;\r\n secondaryText!: string;\r\n types!: string[];\r\n\r\n constructor(data?: IPlacePredictionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.placeId = _data[\"placeId\"];\r\n this.text = _data[\"text\"];\r\n this.mainText = _data[\"mainText\"];\r\n this.secondaryText = _data[\"secondaryText\"];\r\n if (Array.isArray(_data[\"types\"])) {\r\n this.types = [] as any;\r\n for (let item of _data[\"types\"])\r\n this.types!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PlacePredictionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PlacePredictionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"placeId\"] = this.placeId;\r\n data[\"text\"] = this.text;\r\n data[\"mainText\"] = this.mainText;\r\n data[\"secondaryText\"] = this.secondaryText;\r\n if (Array.isArray(this.types)) {\r\n data[\"types\"] = [];\r\n for (let item of this.types)\r\n data[\"types\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPlacePredictionViewModel {\r\n placeId: string;\r\n /** AKA Description */\r\n text: string;\r\n mainText: string;\r\n secondaryText: string;\r\n types: string[];\r\n}\r\n\r\nexport class PlacePredictionsRequestViewModel implements IPlacePredictionsRequestViewModel {\r\n input!: string;\r\n sessionToken!: string | undefined;\r\n countries!: string[] | undefined;\r\n allowInternational!: boolean;\r\n\r\n constructor(data?: IPlacePredictionsRequestViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.input = _data[\"input\"];\r\n this.sessionToken = _data[\"sessionToken\"];\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(item);\r\n }\r\n this.allowInternational = _data[\"allowInternational\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PlacePredictionsRequestViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PlacePredictionsRequestViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"input\"] = this.input;\r\n data[\"sessionToken\"] = this.sessionToken;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item);\r\n }\r\n data[\"allowInternational\"] = this.allowInternational;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPlacePredictionsRequestViewModel {\r\n input: string;\r\n sessionToken: string | undefined;\r\n countries: string[] | undefined;\r\n allowInternational: boolean;\r\n}\r\n\r\nexport class AcceptRequest implements IAcceptRequest {\r\n liquidSpaceCost!: number | undefined;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IAcceptRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.liquidSpaceCost = _data[\"liquidSpaceCost\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AcceptRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AcceptRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"liquidSpaceCost\"] = this.liquidSpaceCost;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAcceptRequest {\r\n liquidSpaceCost: number | undefined;\r\n message: string | undefined;\r\n}\r\n\r\nexport class DeclineRequest implements IDeclineRequest {\r\n liquidSpaceCost!: number | undefined;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IDeclineRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.liquidSpaceCost = _data[\"liquidSpaceCost\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeclineRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeclineRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"liquidSpaceCost\"] = this.liquidSpaceCost;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeclineRequest {\r\n liquidSpaceCost: number | undefined;\r\n message: string | undefined;\r\n}\r\n\r\nexport class ReservationRequestDetailsModel implements IReservationRequestDetailsModel {\r\n id!: string;\r\n createTime!: string;\r\n expirationTimeUTC!: string | undefined;\r\n venueId!: string;\r\n venueName!: string;\r\n address!: string;\r\n workspaceName!: string;\r\n startTime!: string;\r\n endTime!: string;\r\n payment!: string | undefined;\r\n owner!: ReservationOwnerViewModel | undefined;\r\n amenities!: ReservationAmenityModel[];\r\n inviteesNamesString!: string;\r\n status!: HourlyRequestToBookStatus;\r\n responder!: string;\r\n responseTime!: string;\r\n recurrencePatternText!: string | undefined;\r\n currencyPrefix!: string | undefined;\r\n\r\n constructor(data?: IReservationRequestDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.createTime = _data[\"createTime\"];\r\n this.expirationTimeUTC = _data[\"expirationTimeUTC\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.address = _data[\"address\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.endTime = _data[\"endTime\"];\r\n this.payment = _data[\"payment\"];\r\n this.owner = _data[\"owner\"] ? ReservationOwnerViewModel.fromJS(_data[\"owner\"]) : undefined;\r\n if (Array.isArray(_data[\"amenities\"])) {\r\n this.amenities = [] as any;\r\n for (let item of _data[\"amenities\"])\r\n this.amenities!.push(ReservationAmenityModel.fromJS(item));\r\n }\r\n this.inviteesNamesString = _data[\"inviteesNamesString\"];\r\n this.status = _data[\"status\"];\r\n this.responder = _data[\"responder\"];\r\n this.responseTime = _data[\"responseTime\"];\r\n this.recurrencePatternText = _data[\"recurrencePatternText\"];\r\n this.currencyPrefix = _data[\"currencyPrefix\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationRequestDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationRequestDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"createTime\"] = this.createTime;\r\n data[\"expirationTimeUTC\"] = this.expirationTimeUTC;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"address\"] = this.address;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"endTime\"] = this.endTime;\r\n data[\"payment\"] = this.payment;\r\n data[\"owner\"] = this.owner ? this.owner.toJSON() : undefined;\r\n if (Array.isArray(this.amenities)) {\r\n data[\"amenities\"] = [];\r\n for (let item of this.amenities)\r\n data[\"amenities\"].push(item.toJSON());\r\n }\r\n data[\"inviteesNamesString\"] = this.inviteesNamesString;\r\n data[\"status\"] = this.status;\r\n data[\"responder\"] = this.responder;\r\n data[\"responseTime\"] = this.responseTime;\r\n data[\"recurrencePatternText\"] = this.recurrencePatternText;\r\n data[\"currencyPrefix\"] = this.currencyPrefix;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRequestDetailsModel {\r\n id: string;\r\n createTime: string;\r\n expirationTimeUTC: string | undefined;\r\n venueId: string;\r\n venueName: string;\r\n address: string;\r\n workspaceName: string;\r\n startTime: string;\r\n endTime: string;\r\n payment: string | undefined;\r\n owner: ReservationOwnerViewModel | undefined;\r\n amenities: ReservationAmenityModel[];\r\n inviteesNamesString: string;\r\n status: HourlyRequestToBookStatus;\r\n responder: string;\r\n responseTime: string;\r\n recurrencePatternText: string | undefined;\r\n currencyPrefix: string | undefined;\r\n}\r\n\r\nexport class ReservationAmenityModel implements IReservationAmenityModel {\r\n name!: string;\r\n requestable!: boolean;\r\n\r\n constructor(data?: IReservationAmenityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.requestable = _data[\"requestable\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationAmenityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationAmenityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"requestable\"] = this.requestable;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationAmenityModel {\r\n name: string;\r\n requestable: boolean;\r\n}\r\n\r\nexport class MarketplaceCustomerProfileModel implements IMarketplaceCustomerProfileModel {\r\n paymentProfileIdPrefix!: string | undefined;\r\n\r\n constructor(data?: IMarketplaceCustomerProfileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.paymentProfileIdPrefix = _data[\"paymentProfileIdPrefix\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceCustomerProfileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceCustomerProfileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"paymentProfileIdPrefix\"] = this.paymentProfileIdPrefix;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceCustomerProfileModel {\r\n paymentProfileIdPrefix: string | undefined;\r\n}\r\n\r\nexport class PaymentMethodResponse extends ResponseWrapper implements IPaymentMethodResponse {\r\n paymentProfile!: PaymentMethodViewModel | undefined;\r\n\r\n constructor(data?: IPaymentMethodResponse) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.paymentProfile = _data[\"paymentProfile\"] ? PaymentMethodViewModel.fromJS(_data[\"paymentProfile\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentMethodResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentMethodResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"paymentProfile\"] = this.paymentProfile ? this.paymentProfile.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentMethodResponse extends IResponseWrapper {\r\n paymentProfile: PaymentMethodViewModel | undefined;\r\n}\r\n\r\nexport class MarketplacePaymentProfileCreateRequest implements IMarketplacePaymentProfileCreateRequest {\r\n paymentProfileIdPrefix!: string | undefined;\r\n\r\n constructor(data?: IMarketplacePaymentProfileCreateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.paymentProfileIdPrefix = _data[\"paymentProfileIdPrefix\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplacePaymentProfileCreateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplacePaymentProfileCreateRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"paymentProfileIdPrefix\"] = this.paymentProfileIdPrefix;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplacePaymentProfileCreateRequest {\r\n paymentProfileIdPrefix: string | undefined;\r\n}\r\n\r\nexport class MemberListItemViewModel implements IMemberListItemViewModel {\r\n id!: string;\r\n email!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n imageUrl!: string | undefined;\r\n\r\n constructor(data?: IMemberListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.email = _data[\"email\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberListItemViewModel {\r\n id: string;\r\n email: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n imageUrl: string | undefined;\r\n}\r\n\r\n/** 0 = MobileUser 1 = SuperUser 2 = VenueAdmin 3 = MemberGroupAdmin 4 = ReportUser 5 = SysAdmin 6 = OrganizationAdmin 7 = CalendarAdmin 8 = ServiceAccount 9 = AffiliateUser 10 = ListingBroker 11 = SalesRep 12 = SalesOperations 13 = EnterpriseAccountAdmin 14 = VenueGroupAdmin 15 = EnterpriseAccountApiClient */\r\nexport enum MemberRole {\r\n MobileUser = 0,\r\n SuperUser = 1,\r\n VenueAdmin = 2,\r\n MemberGroupAdmin = 3,\r\n ReportUser = 4,\r\n SysAdmin = 5,\r\n OrganizationAdmin = 6,\r\n CalendarAdmin = 7,\r\n ServiceAccount = 8,\r\n AffiliateUser = 9,\r\n ListingBroker = 10,\r\n SalesRep = 11,\r\n SalesOperations = 12,\r\n EnterpriseAccountAdmin = 13,\r\n VenueGroupAdmin = 14,\r\n EnterpriseAccountApiClient = 15,\r\n}\r\n\r\nexport class OrganizerViewModel implements IOrganizerViewModel {\r\n id!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n imageUrl!: string | undefined;\r\n\r\n constructor(data?: IOrganizerViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OrganizerViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OrganizerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOrganizerViewModel {\r\n id: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n imageUrl: string | undefined;\r\n}\r\n\r\nexport class MemberProfileViewModel implements IMemberProfileViewModel {\r\n memberId!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n email!: string | undefined;\r\n title!: string | undefined;\r\n imageUrl!: string | undefined;\r\n averageRating!: number | undefined;\r\n ratingCount!: number;\r\n\r\n constructor(data?: IMemberProfileViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.email = _data[\"email\"];\r\n this.title = _data[\"title\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n this.ratingCount = _data[\"ratingCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberProfileViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberProfileViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"email\"] = this.email;\r\n data[\"title\"] = this.title;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"averageRating\"] = this.averageRating;\r\n data[\"ratingCount\"] = this.ratingCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberProfileViewModel {\r\n memberId: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n phoneNumber: string | undefined;\r\n email: string | undefined;\r\n title: string | undefined;\r\n imageUrl: string | undefined;\r\n averageRating: number | undefined;\r\n ratingCount: number;\r\n}\r\n\r\nexport class MemberPicture implements IMemberPicture {\r\n memberId!: string;\r\n url!: string | undefined;\r\n\r\n constructor(data?: IMemberPicture) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberPicture {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberPicture();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberPicture {\r\n memberId: string;\r\n url: string | undefined;\r\n}\r\n\r\nexport class PaymentMethodRequest implements IPaymentMethodRequest {\r\n payableKey!: PayableKey;\r\n provider!: PaymentProviderType;\r\n\r\n constructor(data?: IPaymentMethodRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n this.provider = _data[\"provider\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentMethodRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentMethodRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n data[\"provider\"] = this.provider;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentMethodRequest {\r\n payableKey: PayableKey;\r\n provider: PaymentProviderType;\r\n}\r\n\r\nexport class UpdatePaymentMethodDescriptionRequest extends PaymentMethodRequest implements IUpdatePaymentMethodDescriptionRequest {\r\n description!: string | undefined;\r\n\r\n constructor(data?: IUpdatePaymentMethodDescriptionRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UpdatePaymentMethodDescriptionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UpdatePaymentMethodDescriptionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUpdatePaymentMethodDescriptionRequest extends IPaymentMethodRequest {\r\n description: string | undefined;\r\n}\r\n\r\nexport abstract class CreditCardRequest extends RecaptchaRequestBase implements ICreditCardRequest {\r\n creditCardData!: CreditCardData;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: ICreditCardRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CreditCardRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.creditCardData = _data[\"creditCardData\"] ? CreditCardData.fromJS(_data[\"creditCardData\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreditCardRequest {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"CreditCardAuthorizedRequest\") {\r\n let result = new CreditCardAuthorizedRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"CreditCardAnonymousRequest\") {\r\n let result = new CreditCardAnonymousRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'CreditCardRequest' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"creditCardData\"] = this.creditCardData ? this.creditCardData.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreditCardRequest extends IRecaptchaRequestBase {\r\n creditCardData: CreditCardData;\r\n}\r\n\r\nexport class CreditCardData implements ICreditCardData {\r\n paymentMethodNonce!: string;\r\n deviceData!: string | undefined;\r\n fullName!: string;\r\n address!: string;\r\n city!: string;\r\n state!: string;\r\n country!: string;\r\n\r\n constructor(data?: ICreditCardData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.paymentMethodNonce = _data[\"paymentMethodNonce\"];\r\n this.deviceData = _data[\"deviceData\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.address = _data[\"address\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreditCardData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreditCardData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"paymentMethodNonce\"] = this.paymentMethodNonce;\r\n data[\"deviceData\"] = this.deviceData;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"address\"] = this.address;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreditCardData {\r\n paymentMethodNonce: string;\r\n deviceData: string | undefined;\r\n fullName: string;\r\n address: string;\r\n city: string;\r\n state: string;\r\n country: string;\r\n}\r\n\r\nexport class CreditCardAuthorizedRequest extends CreditCardRequest implements ICreditCardAuthorizedRequest {\r\n payableKey!: PayableKey;\r\n\r\n constructor(data?: ICreditCardAuthorizedRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CreditCardAuthorizedRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreditCardAuthorizedRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreditCardAuthorizedRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreditCardAuthorizedRequest extends ICreditCardRequest {\r\n payableKey: PayableKey;\r\n}\r\n\r\nexport class CreditCardAnonymousRequest extends CreditCardRequest implements ICreditCardAnonymousRequest {\r\n email!: string;\r\n\r\n constructor(data?: ICreditCardAnonymousRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CreditCardAnonymousRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreditCardAnonymousRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreditCardAnonymousRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreditCardAnonymousRequest extends ICreditCardRequest {\r\n email: string;\r\n}\r\n\r\nexport class ExchangePlaidTokenRequest implements IExchangePlaidTokenRequest {\r\n payableKey!: PayableKey | undefined;\r\n publicToken!: string | undefined;\r\n accountId!: string | undefined;\r\n\r\n constructor(data?: IExchangePlaidTokenRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n this.publicToken = _data[\"publicToken\"];\r\n this.accountId = _data[\"accountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExchangePlaidTokenRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExchangePlaidTokenRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n data[\"publicToken\"] = this.publicToken;\r\n data[\"accountId\"] = this.accountId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExchangePlaidTokenRequest {\r\n payableKey: PayableKey | undefined;\r\n publicToken: string | undefined;\r\n accountId: string | undefined;\r\n}\r\n\r\nexport class CreatePlaidLinkTokenRequest implements ICreatePlaidLinkTokenRequest {\r\n payableKey!: PayableKey | undefined;\r\n\r\n constructor(data?: ICreatePlaidLinkTokenRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreatePlaidLinkTokenRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreatePlaidLinkTokenRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreatePlaidLinkTokenRequest {\r\n payableKey: PayableKey | undefined;\r\n}\r\n\r\nexport class CountryStateCodesRepsonse implements ICountryStateCodesRepsonse {\r\n countryCodes!: { [key: string]: string; };\r\n stateCodes!: { [key: string]: { [key: string]: string; }; };\r\n\r\n constructor(data?: ICountryStateCodesRepsonse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"countryCodes\"]) {\r\n this.countryCodes = {} as any;\r\n for (let key in _data[\"countryCodes\"]) {\r\n if (_data[\"countryCodes\"].hasOwnProperty(key))\r\n (this.countryCodes)![key] = _data[\"countryCodes\"][key];\r\n }\r\n }\r\n if (_data[\"stateCodes\"]) {\r\n this.stateCodes = {} as any;\r\n for (let key in _data[\"stateCodes\"]) {\r\n if (_data[\"stateCodes\"].hasOwnProperty(key))\r\n (this.stateCodes)![key] = _data[\"stateCodes\"][key] !== undefined ? _data[\"stateCodes\"][key] : {};\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountryStateCodesRepsonse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountryStateCodesRepsonse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.countryCodes) {\r\n data[\"countryCodes\"] = {};\r\n for (let key in this.countryCodes) {\r\n if (this.countryCodes.hasOwnProperty(key))\r\n (data[\"countryCodes\"])[key] = (this.countryCodes)[key];\r\n }\r\n }\r\n if (this.stateCodes) {\r\n data[\"stateCodes\"] = {};\r\n for (let key in this.stateCodes) {\r\n if (this.stateCodes.hasOwnProperty(key))\r\n (data[\"stateCodes\"])[key] = (this.stateCodes)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountryStateCodesRepsonse {\r\n countryCodes: { [key: string]: string; };\r\n stateCodes: { [key: string]: { [key: string]: string; }; };\r\n}\r\n\r\nexport class AverageRatingModel implements IAverageRatingModel {\r\n count!: number;\r\n average!: number;\r\n\r\n constructor(data?: IAverageRatingModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n this.average = _data[\"average\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AverageRatingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AverageRatingModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n data[\"average\"] = this.average;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAverageRatingModel {\r\n count: number;\r\n average: number;\r\n}\r\n\r\nexport class RatingUpsertModel implements IRatingUpsertModel {\r\n id!: string | undefined;\r\n memberId!: string;\r\n workspaceId!: string;\r\n venueId!: string;\r\n stars!: number;\r\n text!: string | undefined;\r\n reservationId!: string;\r\n name!: string | undefined;\r\n messageToSupport!: string | undefined;\r\n sequrityCode!: string | undefined;\r\n\r\n constructor(data?: IRatingUpsertModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.stars = _data[\"stars\"];\r\n this.text = _data[\"text\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.name = _data[\"name\"];\r\n this.messageToSupport = _data[\"messageToSupport\"];\r\n this.sequrityCode = _data[\"sequrityCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RatingUpsertModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RatingUpsertModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"stars\"] = this.stars;\r\n data[\"text\"] = this.text;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"name\"] = this.name;\r\n data[\"messageToSupport\"] = this.messageToSupport;\r\n data[\"sequrityCode\"] = this.sequrityCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRatingUpsertModel {\r\n id: string | undefined;\r\n memberId: string;\r\n workspaceId: string;\r\n venueId: string;\r\n stars: number;\r\n text: string | undefined;\r\n reservationId: string;\r\n name: string | undefined;\r\n messageToSupport: string | undefined;\r\n sequrityCode: string | undefined;\r\n}\r\n\r\nexport class HourlyReservation implements IHourlyReservation {\r\n reservationId!: string;\r\n guestId!: string;\r\n confirmationStatus!: VenueConfirmationStatus;\r\n urgencyStatus!: HourlyReservationUrgencyStatus;\r\n reservationStart!: string;\r\n venueName!: string | undefined;\r\n spaceName!: string | undefined;\r\n spaceType!: SpaceType;\r\n spaceTypeString!: string | undefined;\r\n spaceCapacity!: number;\r\n reservationPrice!: number;\r\n attendeeCount!: number;\r\n venueCity!: string | undefined;\r\n venueState!: string | undefined;\r\n venueCountry!: string | undefined;\r\n venuePhoneNumber!: string | undefined;\r\n venueOwnerEmail!: string | undefined;\r\n venueHostEmail!: string | undefined;\r\n guestName!: string | undefined;\r\n guestCompany!: string | undefined;\r\n enterprisePlan!: EnterpriseAccountPlan | undefined;\r\n integrations!: IntegrationTypeEnum[];\r\n numberOfCompletedReservationsInThePast30DaysForVenue!: number;\r\n numberOfCompletedReservationsInThePast90DaysForVenue!: number;\r\n numberOfCanceledReservationsInThePast90DaysForVenue!: number;\r\n numberOfReviews!: number;\r\n venuePhoneNumberFormatted!: string | undefined;\r\n reservationCreatedTimestamp!: string;\r\n venueOwnerId!: string;\r\n venueId!: string;\r\n debug!: string;\r\n\r\n constructor(data?: IHourlyReservation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n this.guestId = _data[\"guestId\"];\r\n this.confirmationStatus = _data[\"confirmationStatus\"];\r\n this.urgencyStatus = _data[\"urgencyStatus\"];\r\n this.reservationStart = _data[\"reservationStart\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.spaceName = _data[\"spaceName\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeString = _data[\"spaceTypeString\"];\r\n this.spaceCapacity = _data[\"spaceCapacity\"];\r\n this.reservationPrice = _data[\"reservationPrice\"];\r\n this.attendeeCount = _data[\"attendeeCount\"];\r\n this.venueCity = _data[\"venueCity\"];\r\n this.venueState = _data[\"venueState\"];\r\n this.venueCountry = _data[\"venueCountry\"];\r\n this.venuePhoneNumber = _data[\"venuePhoneNumber\"];\r\n this.venueOwnerEmail = _data[\"venueOwnerEmail\"];\r\n this.venueHostEmail = _data[\"venueHostEmail\"];\r\n this.guestName = _data[\"guestName\"];\r\n this.guestCompany = _data[\"guestCompany\"];\r\n this.enterprisePlan = _data[\"enterprisePlan\"];\r\n if (Array.isArray(_data[\"integrations\"])) {\r\n this.integrations = [] as any;\r\n for (let item of _data[\"integrations\"])\r\n this.integrations!.push(item);\r\n }\r\n this.numberOfCompletedReservationsInThePast30DaysForVenue = _data[\"numberOfCompletedReservationsInThePast30DaysForVenue\"];\r\n this.numberOfCompletedReservationsInThePast90DaysForVenue = _data[\"numberOfCompletedReservationsInThePast90DaysForVenue\"];\r\n this.numberOfCanceledReservationsInThePast90DaysForVenue = _data[\"numberOfCanceledReservationsInThePast90DaysForVenue\"];\r\n this.numberOfReviews = _data[\"numberOfReviews\"];\r\n this.venuePhoneNumberFormatted = _data[\"venuePhoneNumberFormatted\"];\r\n this.reservationCreatedTimestamp = _data[\"reservationCreatedTimestamp\"];\r\n this.venueOwnerId = _data[\"venueOwnerId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.debug = _data[\"debug\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyReservation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyReservation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"guestId\"] = this.guestId;\r\n data[\"confirmationStatus\"] = this.confirmationStatus;\r\n data[\"urgencyStatus\"] = this.urgencyStatus;\r\n data[\"reservationStart\"] = this.reservationStart;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"spaceName\"] = this.spaceName;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeString\"] = this.spaceTypeString;\r\n data[\"spaceCapacity\"] = this.spaceCapacity;\r\n data[\"reservationPrice\"] = this.reservationPrice;\r\n data[\"attendeeCount\"] = this.attendeeCount;\r\n data[\"venueCity\"] = this.venueCity;\r\n data[\"venueState\"] = this.venueState;\r\n data[\"venueCountry\"] = this.venueCountry;\r\n data[\"venuePhoneNumber\"] = this.venuePhoneNumber;\r\n data[\"venueOwnerEmail\"] = this.venueOwnerEmail;\r\n data[\"venueHostEmail\"] = this.venueHostEmail;\r\n data[\"guestName\"] = this.guestName;\r\n data[\"guestCompany\"] = this.guestCompany;\r\n data[\"enterprisePlan\"] = this.enterprisePlan;\r\n if (Array.isArray(this.integrations)) {\r\n data[\"integrations\"] = [];\r\n for (let item of this.integrations)\r\n data[\"integrations\"].push(item);\r\n }\r\n data[\"numberOfCompletedReservationsInThePast30DaysForVenue\"] = this.numberOfCompletedReservationsInThePast30DaysForVenue;\r\n data[\"numberOfCompletedReservationsInThePast90DaysForVenue\"] = this.numberOfCompletedReservationsInThePast90DaysForVenue;\r\n data[\"numberOfCanceledReservationsInThePast90DaysForVenue\"] = this.numberOfCanceledReservationsInThePast90DaysForVenue;\r\n data[\"numberOfReviews\"] = this.numberOfReviews;\r\n data[\"venuePhoneNumberFormatted\"] = this.venuePhoneNumberFormatted;\r\n data[\"reservationCreatedTimestamp\"] = this.reservationCreatedTimestamp;\r\n data[\"venueOwnerId\"] = this.venueOwnerId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"debug\"] = this.debug;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyReservation {\r\n reservationId: string;\r\n guestId: string;\r\n confirmationStatus: VenueConfirmationStatus;\r\n urgencyStatus: HourlyReservationUrgencyStatus;\r\n reservationStart: string;\r\n venueName: string | undefined;\r\n spaceName: string | undefined;\r\n spaceType: SpaceType;\r\n spaceTypeString: string | undefined;\r\n spaceCapacity: number;\r\n reservationPrice: number;\r\n attendeeCount: number;\r\n venueCity: string | undefined;\r\n venueState: string | undefined;\r\n venueCountry: string | undefined;\r\n venuePhoneNumber: string | undefined;\r\n venueOwnerEmail: string | undefined;\r\n venueHostEmail: string | undefined;\r\n guestName: string | undefined;\r\n guestCompany: string | undefined;\r\n enterprisePlan: EnterpriseAccountPlan | undefined;\r\n integrations: IntegrationTypeEnum[];\r\n numberOfCompletedReservationsInThePast30DaysForVenue: number;\r\n numberOfCompletedReservationsInThePast90DaysForVenue: number;\r\n numberOfCanceledReservationsInThePast90DaysForVenue: number;\r\n numberOfReviews: number;\r\n venuePhoneNumberFormatted: string | undefined;\r\n reservationCreatedTimestamp: string;\r\n venueOwnerId: string;\r\n venueId: string;\r\n debug: string;\r\n}\r\n\r\n/** 0 = Unconfirmed 1 = Pending 2 = Confirmed */\r\nexport enum VenueConfirmationStatus {\r\n Unconfirmed = 0,\r\n Pending = 1,\r\n Confirmed = 2,\r\n}\r\n\r\n/** 0 = Urgent 1 = High 2 = Medium 3 = Low */\r\nexport enum HourlyReservationUrgencyStatus {\r\n Urgent = 0,\r\n High = 1,\r\n Medium = 2,\r\n Low = 3,\r\n}\r\n\r\n/** 0 = MSExchange 1 = MStar 2 = ServCorp 3 = RJMetis 4 = IntelligentOffice 5 = GCal 6 = OfficeRnDFlex 7 = MSGraph 8 = Deskimo */\r\nexport enum IntegrationTypeEnum {\r\n MSExchange = 0,\r\n MStar = 1,\r\n ServCorp = 2,\r\n RJMetis = 3,\r\n IntelligentOffice = 4,\r\n GCal = 5,\r\n OfficeRnDFlex = 6,\r\n MSGraph = 7,\r\n Deskimo = 8,\r\n}\r\n\r\n/** 0 = None 1 = SpaceNoLongerAvailable 2 = GuestNotFit 3 = MyReasonIsNotListed 4 = FoundDifferentSpace 5 = HostUnresponsive */\r\nexport enum TourCancelReason {\r\n None = 0,\r\n SpaceNoLongerAvailable = 1,\r\n GuestNotFit = 2,\r\n MyReasonIsNotListed = 3,\r\n FoundDifferentSpace = 4,\r\n HostUnresponsive = 5,\r\n}\r\n\r\nexport class SuggestTourViewModel implements ISuggestTourViewModel {\r\n memberId!: string;\r\n venueId!: string;\r\n workspaceId!: string;\r\n chainId!: string;\r\n tourDate!: string | undefined;\r\n tourTime!: string | undefined;\r\n workflowId!: string | undefined;\r\n message!: string | undefined;\r\n\r\n constructor(data?: ISuggestTourViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.tourDate = _data[\"tourDate\"];\r\n this.tourTime = _data[\"tourTime\"];\r\n this.workflowId = _data[\"workflowId\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SuggestTourViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SuggestTourViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"tourDate\"] = this.tourDate;\r\n data[\"tourTime\"] = this.tourTime;\r\n data[\"workflowId\"] = this.workflowId;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISuggestTourViewModel {\r\n memberId: string;\r\n venueId: string;\r\n workspaceId: string;\r\n chainId: string;\r\n tourDate: string | undefined;\r\n tourTime: string | undefined;\r\n workflowId: string | undefined;\r\n message: string | undefined;\r\n}\r\n\r\nexport class ExportVenueGroupStatus implements IExportVenueGroupStatus {\r\n id!: string;\r\n status!: ImportExportStatus;\r\n createDate!: string;\r\n authorId!: string | undefined;\r\n authorEmail!: string | undefined;\r\n exceptionMessage!: string | undefined;\r\n spreadsheetUrl!: string | undefined;\r\n\r\n constructor(data?: IExportVenueGroupStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.authorId = _data[\"authorId\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n this.exceptionMessage = _data[\"exceptionMessage\"];\r\n this.spreadsheetUrl = _data[\"spreadsheetUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExportVenueGroupStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExportVenueGroupStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"authorId\"] = this.authorId;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n data[\"exceptionMessage\"] = this.exceptionMessage;\r\n data[\"spreadsheetUrl\"] = this.spreadsheetUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExportVenueGroupStatus {\r\n id: string;\r\n status: ImportExportStatus;\r\n createDate: string;\r\n authorId: string | undefined;\r\n authorEmail: string | undefined;\r\n exceptionMessage: string | undefined;\r\n spreadsheetUrl: string | undefined;\r\n}\r\n\r\nexport class VenueGroupImportViewModel implements IVenueGroupImportViewModel {\r\n spreadsheetUrl!: string | undefined;\r\n notificationEmails!: string[];\r\n\r\n constructor(data?: IVenueGroupImportViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.spreadsheetUrl = _data[\"spreadsheetUrl\"];\r\n if (Array.isArray(_data[\"notificationEmails\"])) {\r\n this.notificationEmails = [] as any;\r\n for (let item of _data[\"notificationEmails\"])\r\n this.notificationEmails!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupImportViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupImportViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"spreadsheetUrl\"] = this.spreadsheetUrl;\r\n if (Array.isArray(this.notificationEmails)) {\r\n data[\"notificationEmails\"] = [];\r\n for (let item of this.notificationEmails)\r\n data[\"notificationEmails\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupImportViewModel {\r\n spreadsheetUrl: string | undefined;\r\n notificationEmails: string[];\r\n}\r\n\r\nexport class ImportVenueGroupStatus implements IImportVenueGroupStatus {\r\n id!: string;\r\n status!: ImportExportStatus;\r\n createDate!: string;\r\n authorId!: string | undefined;\r\n authorEmail!: string | undefined;\r\n exceptionMessage!: string | undefined;\r\n spreadsheetUrl!: string | undefined;\r\n importType!: ImportType;\r\n isAutomated!: boolean;\r\n\r\n constructor(data?: IImportVenueGroupStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.authorId = _data[\"authorId\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n this.exceptionMessage = _data[\"exceptionMessage\"];\r\n this.spreadsheetUrl = _data[\"spreadsheetUrl\"];\r\n this.importType = _data[\"importType\"];\r\n this.isAutomated = _data[\"isAutomated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportVenueGroupStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportVenueGroupStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"authorId\"] = this.authorId;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n data[\"exceptionMessage\"] = this.exceptionMessage;\r\n data[\"spreadsheetUrl\"] = this.spreadsheetUrl;\r\n data[\"importType\"] = this.importType;\r\n data[\"isAutomated\"] = this.isAutomated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportVenueGroupStatus {\r\n id: string;\r\n status: ImportExportStatus;\r\n createDate: string;\r\n authorId: string | undefined;\r\n authorEmail: string | undefined;\r\n exceptionMessage: string | undefined;\r\n spreadsheetUrl: string | undefined;\r\n importType: ImportType;\r\n isAutomated: boolean;\r\n}\r\n\r\n/** 0 = ListingsLite 1 = Regus */\r\nexport enum ImportType {\r\n ListingsLite = 0,\r\n Regus = 1,\r\n}\r\n\r\nexport class ImportVenueGroupStatusDetails extends ImportVenueGroupStatus implements IImportVenueGroupStatusDetails {\r\n importVenueResults!: ImportVenueGroupResultViewModel[];\r\n\r\n constructor(data?: IImportVenueGroupStatusDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"importVenueResults\"])) {\r\n this.importVenueResults = [] as any;\r\n for (let item of _data[\"importVenueResults\"])\r\n this.importVenueResults!.push(ImportVenueGroupResultViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportVenueGroupStatusDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportVenueGroupStatusDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.importVenueResults)) {\r\n data[\"importVenueResults\"] = [];\r\n for (let item of this.importVenueResults)\r\n data[\"importVenueResults\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportVenueGroupStatusDetails extends IImportVenueGroupStatus {\r\n importVenueResults: ImportVenueGroupResultViewModel[];\r\n}\r\n\r\nexport class ImportVenueGroupResultViewModel implements IImportVenueGroupResultViewModel {\r\n venueId!: string;\r\n logHtml!: string | undefined;\r\n status!: ImportExportStatus;\r\n rowId!: number;\r\n\r\n constructor(data?: IImportVenueGroupResultViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.logHtml = _data[\"logHtml\"];\r\n this.status = _data[\"status\"];\r\n this.rowId = _data[\"rowId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ImportVenueGroupResultViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ImportVenueGroupResultViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"logHtml\"] = this.logHtml;\r\n data[\"status\"] = this.status;\r\n data[\"rowId\"] = this.rowId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IImportVenueGroupResultViewModel {\r\n venueId: string;\r\n logHtml: string | undefined;\r\n status: ImportExportStatus;\r\n rowId: number;\r\n}\r\n\r\nexport class VenueAdminModel implements IVenueAdminModel {\r\n pictureURLs!: PictureURLViewModel[];\r\n pictureUrl!: string | undefined;\r\n isVenueHost!: boolean;\r\n email!: string;\r\n phoneNumber!: string;\r\n firstName!: string;\r\n lastName!: string;\r\n company!: string | undefined;\r\n memberId!: string;\r\n isNew!: boolean;\r\n role!: VenueRoleEnum;\r\n oldPassword!: string;\r\n newPassword!: string;\r\n confirmPassword!: string;\r\n reservationType!: NotificationsReservationType;\r\n isSmsDeliveryType!: boolean;\r\n isSmsDeliveryTypeMonthly!: boolean;\r\n includeTourCalendarFile!: boolean;\r\n isEmailDeliveryType!: boolean;\r\n isEmailDeliveryTypeMonthly!: boolean;\r\n isEmailDeliveryTypeIncidentals!: boolean;\r\n isEmailDeliveryTypeHourlyRequestToBook!: boolean;\r\n isInheritedFromVenueGroup!: boolean;\r\n\r\n constructor(data?: IVenueAdminModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"pictureURLs\"])) {\r\n this.pictureURLs = [] as any;\r\n for (let item of _data[\"pictureURLs\"])\r\n this.pictureURLs!.push(PictureURLViewModel.fromJS(item));\r\n }\r\n this.pictureUrl = _data[\"pictureUrl\"];\r\n this.isVenueHost = _data[\"isVenueHost\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.isNew = _data[\"isNew\"];\r\n this.role = _data[\"role\"];\r\n this.oldPassword = _data[\"oldPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n this.confirmPassword = _data[\"confirmPassword\"];\r\n this.reservationType = _data[\"reservationType\"];\r\n this.isSmsDeliveryType = _data[\"isSmsDeliveryType\"];\r\n this.isSmsDeliveryTypeMonthly = _data[\"isSmsDeliveryTypeMonthly\"];\r\n this.includeTourCalendarFile = _data[\"includeTourCalendarFile\"];\r\n this.isEmailDeliveryType = _data[\"isEmailDeliveryType\"];\r\n this.isEmailDeliveryTypeMonthly = _data[\"isEmailDeliveryTypeMonthly\"];\r\n this.isEmailDeliveryTypeIncidentals = _data[\"isEmailDeliveryTypeIncidentals\"];\r\n this.isEmailDeliveryTypeHourlyRequestToBook = _data[\"isEmailDeliveryTypeHourlyRequestToBook\"];\r\n this.isInheritedFromVenueGroup = _data[\"isInheritedFromVenueGroup\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueAdminModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueAdminModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.pictureURLs)) {\r\n data[\"pictureURLs\"] = [];\r\n for (let item of this.pictureURLs)\r\n data[\"pictureURLs\"].push(item.toJSON());\r\n }\r\n data[\"pictureUrl\"] = this.pictureUrl;\r\n data[\"isVenueHost\"] = this.isVenueHost;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"isNew\"] = this.isNew;\r\n data[\"role\"] = this.role;\r\n data[\"oldPassword\"] = this.oldPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n data[\"confirmPassword\"] = this.confirmPassword;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"isSmsDeliveryType\"] = this.isSmsDeliveryType;\r\n data[\"isSmsDeliveryTypeMonthly\"] = this.isSmsDeliveryTypeMonthly;\r\n data[\"includeTourCalendarFile\"] = this.includeTourCalendarFile;\r\n data[\"isEmailDeliveryType\"] = this.isEmailDeliveryType;\r\n data[\"isEmailDeliveryTypeMonthly\"] = this.isEmailDeliveryTypeMonthly;\r\n data[\"isEmailDeliveryTypeIncidentals\"] = this.isEmailDeliveryTypeIncidentals;\r\n data[\"isEmailDeliveryTypeHourlyRequestToBook\"] = this.isEmailDeliveryTypeHourlyRequestToBook;\r\n data[\"isInheritedFromVenueGroup\"] = this.isInheritedFromVenueGroup;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueAdminModel {\r\n pictureURLs: PictureURLViewModel[];\r\n pictureUrl: string | undefined;\r\n isVenueHost: boolean;\r\n email: string;\r\n phoneNumber: string;\r\n firstName: string;\r\n lastName: string;\r\n company: string | undefined;\r\n memberId: string;\r\n isNew: boolean;\r\n role: VenueRoleEnum;\r\n oldPassword: string;\r\n newPassword: string;\r\n confirmPassword: string;\r\n reservationType: NotificationsReservationType;\r\n isSmsDeliveryType: boolean;\r\n isSmsDeliveryTypeMonthly: boolean;\r\n includeTourCalendarFile: boolean;\r\n isEmailDeliveryType: boolean;\r\n isEmailDeliveryTypeMonthly: boolean;\r\n isEmailDeliveryTypeIncidentals: boolean;\r\n isEmailDeliveryTypeHourlyRequestToBook: boolean;\r\n isInheritedFromVenueGroup: boolean;\r\n}\r\n\r\n/** 0 = VenueAdmin 1 = VenueOwner 2 = CalendarAdmin 3 = ListingBroker */\r\nexport enum VenueRoleEnum {\r\n VenueAdmin = 0,\r\n VenueOwner = 1,\r\n CalendarAdmin = 2,\r\n ListingBroker = 3,\r\n}\r\n\r\n/** 0 = AllReservations 1 = CCBilled 2 = None */\r\nexport enum NotificationsReservationType {\r\n AllReservations = 0,\r\n CCBilled = 1,\r\n None = 2,\r\n}\r\n\r\nexport class PricingRateViewModel implements IPricingRateViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n venueGroupId!: string;\r\n effectiveRates!: EffectiveRateViewModel[];\r\n isMonthly!: boolean;\r\n\r\n constructor(data?: IPricingRateViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n if (Array.isArray(_data[\"effectiveRates\"])) {\r\n this.effectiveRates = [] as any;\r\n for (let item of _data[\"effectiveRates\"])\r\n this.effectiveRates!.push(EffectiveRateViewModel.fromJS(item));\r\n }\r\n this.isMonthly = _data[\"isMonthly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PricingRateViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PricingRateViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n if (Array.isArray(this.effectiveRates)) {\r\n data[\"effectiveRates\"] = [];\r\n for (let item of this.effectiveRates)\r\n data[\"effectiveRates\"].push(item.toJSON());\r\n }\r\n data[\"isMonthly\"] = this.isMonthly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPricingRateViewModel {\r\n id: string;\r\n name: string | undefined;\r\n venueGroupId: string;\r\n effectiveRates: EffectiveRateViewModel[];\r\n isMonthly: boolean;\r\n}\r\n\r\nexport class EffectiveRateViewModel implements IEffectiveRateViewModel {\r\n id!: string;\r\n flatRatePercent!: number;\r\n startDate!: string | undefined;\r\n endDate!: string | undefined;\r\n pricingTiers!: PricingTier[];\r\n\r\n constructor(data?: IEffectiveRateViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.flatRatePercent = _data[\"flatRatePercent\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n if (Array.isArray(_data[\"pricingTiers\"])) {\r\n this.pricingTiers = [] as any;\r\n for (let item of _data[\"pricingTiers\"])\r\n this.pricingTiers!.push(PricingTier.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EffectiveRateViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EffectiveRateViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"flatRatePercent\"] = this.flatRatePercent;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n if (Array.isArray(this.pricingTiers)) {\r\n data[\"pricingTiers\"] = [];\r\n for (let item of this.pricingTiers)\r\n data[\"pricingTiers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEffectiveRateViewModel {\r\n id: string;\r\n flatRatePercent: number;\r\n startDate: string | undefined;\r\n endDate: string | undefined;\r\n pricingTiers: PricingTier[];\r\n}\r\n\r\nexport class PricingTier implements IPricingTier {\r\n key!: number;\r\n value!: number;\r\n\r\n constructor(data?: IPricingTier) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.key = _data[\"key\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PricingTier {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PricingTier();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"key\"] = this.key;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPricingTier {\r\n key: number;\r\n value: number;\r\n}\r\n\r\nexport class VenueGroupReportsViewModel implements IVenueGroupReportsViewModel {\r\n id!: string;\r\n downloadReady!: boolean;\r\n reportType!: string;\r\n status!: string;\r\n parameters!: string | undefined;\r\n createDate!: string;\r\n scheduled!: boolean;\r\n name!: string;\r\n\r\n constructor(data?: IVenueGroupReportsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.downloadReady = _data[\"downloadReady\"];\r\n this.reportType = _data[\"reportType\"];\r\n this.status = _data[\"status\"];\r\n this.parameters = _data[\"parameters\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.scheduled = _data[\"scheduled\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupReportsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupReportsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"downloadReady\"] = this.downloadReady;\r\n data[\"reportType\"] = this.reportType;\r\n data[\"status\"] = this.status;\r\n data[\"parameters\"] = this.parameters;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"scheduled\"] = this.scheduled;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupReportsViewModel {\r\n id: string;\r\n downloadReady: boolean;\r\n reportType: string;\r\n status: string;\r\n parameters: string | undefined;\r\n createDate: string;\r\n scheduled: boolean;\r\n name: string;\r\n}\r\n\r\nexport class VenueGroupMonthlyLeadsReportParamsViewModel implements IVenueGroupMonthlyLeadsReportParamsViewModel {\r\n venueGroupId!: string;\r\n from!: string;\r\n to!: string;\r\n\r\n constructor(data?: IVenueGroupMonthlyLeadsReportParamsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.from = _data[\"from\"];\r\n this.to = _data[\"to\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupMonthlyLeadsReportParamsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupMonthlyLeadsReportParamsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"from\"] = this.from;\r\n data[\"to\"] = this.to;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupMonthlyLeadsReportParamsViewModel {\r\n venueGroupId: string;\r\n from: string;\r\n to: string;\r\n}\r\n\r\nexport class DataTilesViewModel implements IDataTilesViewModel {\r\n hourlyRtBCount!: number;\r\n hourlyCreditCardCount!: number;\r\n publishedVenuesCount!: number;\r\n unpulishedVenuesCount!: number;\r\n hourlyCompletedCount!: number;\r\n monthlyCompletedCount!: number;\r\n hourlyRevenue!: string;\r\n monthlyRevenue!: string;\r\n\r\n constructor(data?: IDataTilesViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hourlyRtBCount = _data[\"hourlyRtBCount\"];\r\n this.hourlyCreditCardCount = _data[\"hourlyCreditCardCount\"];\r\n this.publishedVenuesCount = _data[\"publishedVenuesCount\"];\r\n this.unpulishedVenuesCount = _data[\"unpulishedVenuesCount\"];\r\n this.hourlyCompletedCount = _data[\"hourlyCompletedCount\"];\r\n this.monthlyCompletedCount = _data[\"monthlyCompletedCount\"];\r\n this.hourlyRevenue = _data[\"hourlyRevenue\"];\r\n this.monthlyRevenue = _data[\"monthlyRevenue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataTilesViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataTilesViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hourlyRtBCount\"] = this.hourlyRtBCount;\r\n data[\"hourlyCreditCardCount\"] = this.hourlyCreditCardCount;\r\n data[\"publishedVenuesCount\"] = this.publishedVenuesCount;\r\n data[\"unpulishedVenuesCount\"] = this.unpulishedVenuesCount;\r\n data[\"hourlyCompletedCount\"] = this.hourlyCompletedCount;\r\n data[\"monthlyCompletedCount\"] = this.monthlyCompletedCount;\r\n data[\"hourlyRevenue\"] = this.hourlyRevenue;\r\n data[\"monthlyRevenue\"] = this.monthlyRevenue;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDataTilesViewModel {\r\n hourlyRtBCount: number;\r\n hourlyCreditCardCount: number;\r\n publishedVenuesCount: number;\r\n unpulishedVenuesCount: number;\r\n hourlyCompletedCount: number;\r\n monthlyCompletedCount: number;\r\n hourlyRevenue: string;\r\n monthlyRevenue: string;\r\n}\r\n\r\nexport class HourlyReservationViewModel implements IHourlyReservationViewModel {\r\n id!: string;\r\n startDateLocal!: string;\r\n startDateUtc!: string;\r\n endDateUtc!: string;\r\n deleted!: boolean;\r\n isRecurrent!: boolean;\r\n venueName!: string;\r\n workspaceName!: string;\r\n memberName!: string;\r\n cost!: string;\r\n\r\n constructor(data?: IHourlyReservationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.startDateLocal = _data[\"startDateLocal\"];\r\n this.startDateUtc = _data[\"startDateUtc\"];\r\n this.endDateUtc = _data[\"endDateUtc\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.isRecurrent = _data[\"isRecurrent\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.memberName = _data[\"memberName\"];\r\n this.cost = _data[\"cost\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyReservationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyReservationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"startDateLocal\"] = this.startDateLocal;\r\n data[\"startDateUtc\"] = this.startDateUtc;\r\n data[\"endDateUtc\"] = this.endDateUtc;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"isRecurrent\"] = this.isRecurrent;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"cost\"] = this.cost;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyReservationViewModel {\r\n id: string;\r\n startDateLocal: string;\r\n startDateUtc: string;\r\n endDateUtc: string;\r\n deleted: boolean;\r\n isRecurrent: boolean;\r\n venueName: string;\r\n workspaceName: string;\r\n memberName: string;\r\n cost: string;\r\n}\r\n\r\nexport class VenueGroupReservationsComposer implements IVenueGroupReservationsComposer {\r\n upcomingReservations!: VenueGroupReservationViewModel[];\r\n pastReservations!: VenueGroupReservationViewModel[];\r\n\r\n constructor(data?: IVenueGroupReservationsComposer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"upcomingReservations\"])) {\r\n this.upcomingReservations = [] as any;\r\n for (let item of _data[\"upcomingReservations\"])\r\n this.upcomingReservations!.push(VenueGroupReservationViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"pastReservations\"])) {\r\n this.pastReservations = [] as any;\r\n for (let item of _data[\"pastReservations\"])\r\n this.pastReservations!.push(VenueGroupReservationViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupReservationsComposer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupReservationsComposer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.upcomingReservations)) {\r\n data[\"upcomingReservations\"] = [];\r\n for (let item of this.upcomingReservations)\r\n data[\"upcomingReservations\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.pastReservations)) {\r\n data[\"pastReservations\"] = [];\r\n for (let item of this.pastReservations)\r\n data[\"pastReservations\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupReservationsComposer {\r\n upcomingReservations: VenueGroupReservationViewModel[];\r\n pastReservations: VenueGroupReservationViewModel[];\r\n}\r\n\r\nexport class VenueGroupReservationViewModel implements IVenueGroupReservationViewModel {\r\n id!: string;\r\n startTime!: string;\r\n startTimeLocal!: string;\r\n isRecurrent!: boolean;\r\n venueName!: string | undefined;\r\n workspaceName!: string | undefined;\r\n memberName!: string | undefined;\r\n cost!: string | undefined;\r\n status!: ReservationStatus;\r\n\r\n constructor(data?: IVenueGroupReservationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.startTimeLocal = _data[\"startTimeLocal\"];\r\n this.isRecurrent = _data[\"isRecurrent\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.memberName = _data[\"memberName\"];\r\n this.cost = _data[\"cost\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupReservationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupReservationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"startTimeLocal\"] = this.startTimeLocal;\r\n data[\"isRecurrent\"] = this.isRecurrent;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"cost\"] = this.cost;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupReservationViewModel {\r\n id: string;\r\n startTime: string;\r\n startTimeLocal: string;\r\n isRecurrent: boolean;\r\n venueName: string | undefined;\r\n workspaceName: string | undefined;\r\n memberName: string | undefined;\r\n cost: string | undefined;\r\n status: ReservationStatus;\r\n}\r\n\r\nexport class VenueGroupModel implements IVenueGroupModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IVenueGroupModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class HourlyRequestToBookModel implements IHourlyRequestToBookModel {\r\n id!: string;\r\n venueName!: string | undefined;\r\n workspaceName!: string | undefined;\r\n cost!: string;\r\n memberName!: string | undefined;\r\n startTime!: string;\r\n status!: HourlyRequestToBookStatus;\r\n isExpiring!: boolean;\r\n isRecurrent!: boolean;\r\n\r\n constructor(data?: IHourlyRequestToBookModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.cost = _data[\"cost\"];\r\n this.memberName = _data[\"memberName\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.status = _data[\"status\"];\r\n this.isExpiring = _data[\"isExpiring\"];\r\n this.isRecurrent = _data[\"isRecurrent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyRequestToBookModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyRequestToBookModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"cost\"] = this.cost;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"status\"] = this.status;\r\n data[\"isExpiring\"] = this.isExpiring;\r\n data[\"isRecurrent\"] = this.isRecurrent;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyRequestToBookModel {\r\n id: string;\r\n venueName: string | undefined;\r\n workspaceName: string | undefined;\r\n cost: string;\r\n memberName: string | undefined;\r\n startTime: string;\r\n status: HourlyRequestToBookStatus;\r\n isExpiring: boolean;\r\n isRecurrent: boolean;\r\n}\r\n\r\nexport class VenueGroupVenueListItem implements IVenueGroupVenueListItem {\r\n id!: string;\r\n name!: string;\r\n status!: VenueStatusNew;\r\n address!: string;\r\n\r\n constructor(data?: IVenueGroupVenueListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.status = _data[\"status\"];\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupVenueListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupVenueListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"status\"] = this.status;\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupVenueListItem {\r\n id: string;\r\n name: string;\r\n status: VenueStatusNew;\r\n address: string;\r\n}\r\n\r\n/** 0 = Unknown 1 = New 2 = Demo 3 = Inactive 4 = Proposed 5 = Pending 6 = Launched 7 = Retired 8 = Limited 9 = Internal 10 = ProposedPrivate 11 = InactiveExpired 12 = InactiveSuspended */\r\nexport enum VenueStatusNew {\r\n Unknown = 0,\r\n New = 1,\r\n Demo = 2,\r\n Inactive = 3,\r\n Proposed = 4,\r\n Pending = 5,\r\n Launched = 6,\r\n Retired = 7,\r\n Limited = 8,\r\n Internal = 9,\r\n ProposedPrivate = 10,\r\n InactiveExpired = 11,\r\n InactiveSuspended = 12,\r\n}\r\n\r\nexport class VenueGroupBulkAddVenueViewModel implements IVenueGroupBulkAddVenueViewModel {\r\n id!: string;\r\n name!: string;\r\n status!: string;\r\n address!: string | undefined;\r\n isSelected!: boolean;\r\n\r\n constructor(data?: IVenueGroupBulkAddVenueViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.status = _data[\"status\"];\r\n this.address = _data[\"address\"];\r\n this.isSelected = _data[\"isSelected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupBulkAddVenueViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupBulkAddVenueViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"status\"] = this.status;\r\n data[\"address\"] = this.address;\r\n data[\"isSelected\"] = this.isSelected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupBulkAddVenueViewModel {\r\n id: string;\r\n name: string;\r\n status: string;\r\n address: string | undefined;\r\n isSelected: boolean;\r\n}\r\n\r\n/** 0 = Description 1 = ToQualify 2 = ToGet */\r\nexport enum VenueGroupVisaType {\r\n Description = 0,\r\n ToQualify = 1,\r\n ToGet = 2,\r\n}\r\n\r\nexport class VenueGroupBulkData implements IVenueGroupBulkData {\r\n venueGroupId!: string;\r\n originationScenario!: DefaultMemberOriginationScenario;\r\n visaType!: VenueGroupVisaType;\r\n selectedVenueIds!: string[];\r\n\r\n constructor(data?: IVenueGroupBulkData) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.originationScenario = _data[\"originationScenario\"];\r\n this.visaType = _data[\"visaType\"];\r\n if (Array.isArray(_data[\"selectedVenueIds\"])) {\r\n this.selectedVenueIds = [] as any;\r\n for (let item of _data[\"selectedVenueIds\"])\r\n this.selectedVenueIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupBulkData {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupBulkData();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"originationScenario\"] = this.originationScenario;\r\n data[\"visaType\"] = this.visaType;\r\n if (Array.isArray(this.selectedVenueIds)) {\r\n data[\"selectedVenueIds\"] = [];\r\n for (let item of this.selectedVenueIds)\r\n data[\"selectedVenueIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupBulkData {\r\n venueGroupId: string;\r\n originationScenario: DefaultMemberOriginationScenario;\r\n visaType: VenueGroupVisaType;\r\n selectedVenueIds: string[];\r\n}\r\n\r\n/** 0 = None 1 = Venue 2 = LiquidSpace 3 = VenueAdministrator 4 = MonthlyLiquidSpace 5 = Portfolio */\r\nexport enum DefaultMemberOriginationScenario {\r\n None = 0,\r\n Venue = 1,\r\n LiquidSpace = 2,\r\n VenueAdministrator = 3,\r\n MonthlyLiquidSpace = 4,\r\n Portfolio = 5,\r\n}\r\n\r\nexport class KeyValuePairOfGuidAndString implements IKeyValuePairOfGuidAndString {\r\n key!: string;\r\n value!: string | undefined;\r\n\r\n constructor(data?: IKeyValuePairOfGuidAndString) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.key = _data[\"key\"];\r\n this.value = _data[\"value\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): KeyValuePairOfGuidAndString {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new KeyValuePairOfGuidAndString();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"key\"] = this.key;\r\n data[\"value\"] = this.value;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IKeyValuePairOfGuidAndString {\r\n key: string;\r\n value: string | undefined;\r\n}\r\n\r\nexport class VenueGroupSettingsViewModel implements IVenueGroupSettingsViewModel {\r\n name!: string;\r\n nameSynonymsString!: string;\r\n rank!: VenueGroupRank;\r\n visibility!: VenueGroupVisibility;\r\n pricingRateId!: string | undefined;\r\n pricingRateMonthlyId!: string | undefined;\r\n financeNotes!: string | undefined;\r\n priceMerchandising!: PriceMerchandising;\r\n integration!: VenueGroupIntegration;\r\n enterpriseOnlyVisibility!: boolean;\r\n conciergeAssistedBookings!: boolean;\r\n importListingTemplate!: string | undefined;\r\n importNotificationEmails!: string | undefined;\r\n forceGrantWithNoApproval!: boolean;\r\n importEnabled!: boolean;\r\n lsPartnerSuccess!: string | undefined;\r\n classification!: VenueGroupClassification;\r\n skipAutoExpiration!: boolean;\r\n neighborhoods!: NeighborhoodViewModel[];\r\n\r\n constructor(data?: IVenueGroupSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.nameSynonymsString = _data[\"nameSynonymsString\"];\r\n this.rank = _data[\"rank\"];\r\n this.visibility = _data[\"visibility\"];\r\n this.pricingRateId = _data[\"pricingRateId\"];\r\n this.pricingRateMonthlyId = _data[\"pricingRateMonthlyId\"];\r\n this.financeNotes = _data[\"financeNotes\"];\r\n this.priceMerchandising = _data[\"priceMerchandising\"];\r\n this.integration = _data[\"integration\"];\r\n this.enterpriseOnlyVisibility = _data[\"enterpriseOnlyVisibility\"];\r\n this.conciergeAssistedBookings = _data[\"conciergeAssistedBookings\"];\r\n this.importListingTemplate = _data[\"importListingTemplate\"];\r\n this.importNotificationEmails = _data[\"importNotificationEmails\"];\r\n this.forceGrantWithNoApproval = _data[\"forceGrantWithNoApproval\"];\r\n this.importEnabled = _data[\"importEnabled\"];\r\n this.lsPartnerSuccess = _data[\"lsPartnerSuccess\"];\r\n this.classification = _data[\"classification\"];\r\n this.skipAutoExpiration = _data[\"skipAutoExpiration\"];\r\n if (Array.isArray(_data[\"neighborhoods\"])) {\r\n this.neighborhoods = [] as any;\r\n for (let item of _data[\"neighborhoods\"])\r\n this.neighborhoods!.push(NeighborhoodViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"nameSynonymsString\"] = this.nameSynonymsString;\r\n data[\"rank\"] = this.rank;\r\n data[\"visibility\"] = this.visibility;\r\n data[\"pricingRateId\"] = this.pricingRateId;\r\n data[\"pricingRateMonthlyId\"] = this.pricingRateMonthlyId;\r\n data[\"financeNotes\"] = this.financeNotes;\r\n data[\"priceMerchandising\"] = this.priceMerchandising;\r\n data[\"integration\"] = this.integration;\r\n data[\"enterpriseOnlyVisibility\"] = this.enterpriseOnlyVisibility;\r\n data[\"conciergeAssistedBookings\"] = this.conciergeAssistedBookings;\r\n data[\"importListingTemplate\"] = this.importListingTemplate;\r\n data[\"importNotificationEmails\"] = this.importNotificationEmails;\r\n data[\"forceGrantWithNoApproval\"] = this.forceGrantWithNoApproval;\r\n data[\"importEnabled\"] = this.importEnabled;\r\n data[\"lsPartnerSuccess\"] = this.lsPartnerSuccess;\r\n data[\"classification\"] = this.classification;\r\n data[\"skipAutoExpiration\"] = this.skipAutoExpiration;\r\n if (Array.isArray(this.neighborhoods)) {\r\n data[\"neighborhoods\"] = [];\r\n for (let item of this.neighborhoods)\r\n data[\"neighborhoods\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupSettingsViewModel {\r\n name: string;\r\n nameSynonymsString: string;\r\n rank: VenueGroupRank;\r\n visibility: VenueGroupVisibility;\r\n pricingRateId: string | undefined;\r\n pricingRateMonthlyId: string | undefined;\r\n financeNotes: string | undefined;\r\n priceMerchandising: PriceMerchandising;\r\n integration: VenueGroupIntegration;\r\n enterpriseOnlyVisibility: boolean;\r\n conciergeAssistedBookings: boolean;\r\n importListingTemplate: string | undefined;\r\n importNotificationEmails: string | undefined;\r\n forceGrantWithNoApproval: boolean;\r\n importEnabled: boolean;\r\n lsPartnerSuccess: string | undefined;\r\n classification: VenueGroupClassification;\r\n skipAutoExpiration: boolean;\r\n neighborhoods: NeighborhoodViewModel[];\r\n}\r\n\r\n/** 1000 = Promotional 2000 = Chain */\r\nexport enum VenueGroupRank {\r\n Promotional = 1000,\r\n Chain = 2000,\r\n}\r\n\r\n/** 0 = Public 1 = Private */\r\nexport enum VenueGroupVisibility {\r\n Public = 0,\r\n Private = 1,\r\n}\r\n\r\n/** 0 = Standard 1 = PriceStartingAt */\r\nexport enum PriceMerchandising {\r\n Standard = 0,\r\n PriceStartingAt = 1,\r\n}\r\n\r\n/** 0 = None 1 = Regus */\r\nexport enum VenueGroupIntegration {\r\n None = 0,\r\n Regus = 1,\r\n}\r\n\r\n/** 0 = None 1 = Tier1 2 = Tier2 3 = Tier3 4 = Tier4 5 = Tier5 */\r\nexport enum VenueGroupClassification {\r\n None = 0,\r\n Tier1 = 1,\r\n Tier2 = 2,\r\n Tier3 = 3,\r\n Tier4 = 4,\r\n Tier5 = 5,\r\n}\r\n\r\nexport class NeighborhoodViewModel implements INeighborhoodViewModel {\r\n id!: string;\r\n name!: string;\r\n type!: NeighborhoodType;\r\n checked!: boolean;\r\n\r\n constructor(data?: INeighborhoodViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.type = _data[\"type\"];\r\n this.checked = _data[\"checked\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NeighborhoodViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NeighborhoodViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"type\"] = this.type;\r\n data[\"checked\"] = this.checked;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INeighborhoodViewModel {\r\n id: string;\r\n name: string;\r\n type: NeighborhoodType;\r\n checked: boolean;\r\n}\r\n\r\n/** 0 = SubMarket 1 = Market 2 = Region */\r\nexport enum NeighborhoodType {\r\n SubMarket = 0,\r\n Market = 1,\r\n Region = 2,\r\n}\r\n\r\nexport class VenueGroupListViewModel implements IVenueGroupListViewModel {\r\n groupId!: string;\r\n name!: string;\r\n rank!: VenueGroupRank;\r\n qualifyVisas!: number;\r\n eligibleVisas!: number;\r\n\r\n constructor(data?: IVenueGroupListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.groupId = _data[\"groupId\"];\r\n this.name = _data[\"name\"];\r\n this.rank = _data[\"rank\"];\r\n this.qualifyVisas = _data[\"qualifyVisas\"];\r\n this.eligibleVisas = _data[\"eligibleVisas\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"groupId\"] = this.groupId;\r\n data[\"name\"] = this.name;\r\n data[\"rank\"] = this.rank;\r\n data[\"qualifyVisas\"] = this.qualifyVisas;\r\n data[\"eligibleVisas\"] = this.eligibleVisas;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupListViewModel {\r\n groupId: string;\r\n name: string;\r\n rank: VenueGroupRank;\r\n qualifyVisas: number;\r\n eligibleVisas: number;\r\n}\r\n\r\nexport class VenueGroupVenuesStatementWrapper implements IVenueGroupVenuesStatementWrapper {\r\n currency!: CurrencyType;\r\n currencyPrefix!: string;\r\n venueGroupStatements!: VenueGroupVenuesStatementViewModel[];\r\n\r\n constructor(data?: IVenueGroupVenuesStatementWrapper) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currency = _data[\"currency\"];\r\n this.currencyPrefix = _data[\"currencyPrefix\"];\r\n if (Array.isArray(_data[\"venueGroupStatements\"])) {\r\n this.venueGroupStatements = [] as any;\r\n for (let item of _data[\"venueGroupStatements\"])\r\n this.venueGroupStatements!.push(VenueGroupVenuesStatementViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupVenuesStatementWrapper {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupVenuesStatementWrapper();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currency\"] = this.currency;\r\n data[\"currencyPrefix\"] = this.currencyPrefix;\r\n if (Array.isArray(this.venueGroupStatements)) {\r\n data[\"venueGroupStatements\"] = [];\r\n for (let item of this.venueGroupStatements)\r\n data[\"venueGroupStatements\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupVenuesStatementWrapper {\r\n currency: CurrencyType;\r\n currencyPrefix: string;\r\n venueGroupStatements: VenueGroupVenuesStatementViewModel[];\r\n}\r\n\r\nexport class VenueGroupVenuesStatementViewModel implements IVenueGroupVenuesStatementViewModel {\r\n venueGroupId!: string;\r\n applyDate!: string;\r\n monthlyReservationCount!: number;\r\n hourlyReservationCount!: number;\r\n salesPrice!: number;\r\n rentPaid!: number;\r\n monthlyIncidentals!: number;\r\n hourlyIncedentals!: number;\r\n totalPaidToVenueHourly!: number;\r\n totalPaidToVenueMonthly!: number;\r\n salesPriceLocalCurrency!: number;\r\n rentPaidLocalCurrency!: number;\r\n monthlyIncidentalsLocalCurrency!: number;\r\n hourlyIncedentalsLocalCurrency!: number;\r\n totalPaidToVenueHourlyLocalCurrency!: number;\r\n totalPaidToVenueMonthlyLocalCurrency!: number;\r\n localCurrency!: CurrencyType | undefined;\r\n isMonthlyGenerated!: boolean;\r\n spreadsheetDataId!: string;\r\n\r\n constructor(data?: IVenueGroupVenuesStatementViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.applyDate = _data[\"applyDate\"];\r\n this.monthlyReservationCount = _data[\"monthlyReservationCount\"];\r\n this.hourlyReservationCount = _data[\"hourlyReservationCount\"];\r\n this.salesPrice = _data[\"salesPrice\"];\r\n this.rentPaid = _data[\"rentPaid\"];\r\n this.monthlyIncidentals = _data[\"monthlyIncidentals\"];\r\n this.hourlyIncedentals = _data[\"hourlyIncedentals\"];\r\n this.totalPaidToVenueHourly = _data[\"totalPaidToVenueHourly\"];\r\n this.totalPaidToVenueMonthly = _data[\"totalPaidToVenueMonthly\"];\r\n this.salesPriceLocalCurrency = _data[\"salesPriceLocalCurrency\"];\r\n this.rentPaidLocalCurrency = _data[\"rentPaidLocalCurrency\"];\r\n this.monthlyIncidentalsLocalCurrency = _data[\"monthlyIncidentalsLocalCurrency\"];\r\n this.hourlyIncedentalsLocalCurrency = _data[\"hourlyIncedentalsLocalCurrency\"];\r\n this.totalPaidToVenueHourlyLocalCurrency = _data[\"totalPaidToVenueHourlyLocalCurrency\"];\r\n this.totalPaidToVenueMonthlyLocalCurrency = _data[\"totalPaidToVenueMonthlyLocalCurrency\"];\r\n this.localCurrency = _data[\"localCurrency\"];\r\n this.isMonthlyGenerated = _data[\"isMonthlyGenerated\"];\r\n this.spreadsheetDataId = _data[\"spreadsheetDataId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupVenuesStatementViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupVenuesStatementViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"applyDate\"] = this.applyDate;\r\n data[\"monthlyReservationCount\"] = this.monthlyReservationCount;\r\n data[\"hourlyReservationCount\"] = this.hourlyReservationCount;\r\n data[\"salesPrice\"] = this.salesPrice;\r\n data[\"rentPaid\"] = this.rentPaid;\r\n data[\"monthlyIncidentals\"] = this.monthlyIncidentals;\r\n data[\"hourlyIncedentals\"] = this.hourlyIncedentals;\r\n data[\"totalPaidToVenueHourly\"] = this.totalPaidToVenueHourly;\r\n data[\"totalPaidToVenueMonthly\"] = this.totalPaidToVenueMonthly;\r\n data[\"salesPriceLocalCurrency\"] = this.salesPriceLocalCurrency;\r\n data[\"rentPaidLocalCurrency\"] = this.rentPaidLocalCurrency;\r\n data[\"monthlyIncidentalsLocalCurrency\"] = this.monthlyIncidentalsLocalCurrency;\r\n data[\"hourlyIncedentalsLocalCurrency\"] = this.hourlyIncedentalsLocalCurrency;\r\n data[\"totalPaidToVenueHourlyLocalCurrency\"] = this.totalPaidToVenueHourlyLocalCurrency;\r\n data[\"totalPaidToVenueMonthlyLocalCurrency\"] = this.totalPaidToVenueMonthlyLocalCurrency;\r\n data[\"localCurrency\"] = this.localCurrency;\r\n data[\"isMonthlyGenerated\"] = this.isMonthlyGenerated;\r\n data[\"spreadsheetDataId\"] = this.spreadsheetDataId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupVenuesStatementViewModel {\r\n venueGroupId: string;\r\n applyDate: string;\r\n monthlyReservationCount: number;\r\n hourlyReservationCount: number;\r\n salesPrice: number;\r\n rentPaid: number;\r\n monthlyIncidentals: number;\r\n hourlyIncedentals: number;\r\n totalPaidToVenueHourly: number;\r\n totalPaidToVenueMonthly: number;\r\n salesPriceLocalCurrency: number;\r\n rentPaidLocalCurrency: number;\r\n monthlyIncidentalsLocalCurrency: number;\r\n hourlyIncedentalsLocalCurrency: number;\r\n totalPaidToVenueHourlyLocalCurrency: number;\r\n totalPaidToVenueMonthlyLocalCurrency: number;\r\n localCurrency: CurrencyType | undefined;\r\n isMonthlyGenerated: boolean;\r\n spreadsheetDataId: string;\r\n}\r\n\r\nexport class VenueGroupVisaViewModel implements IVenueGroupVisaViewModel {\r\n visaId!: string;\r\n venueId!: string;\r\n venueName!: string;\r\n venueStatus!: string;\r\n visaName!: string;\r\n venueAddress!: string | undefined;\r\n\r\n constructor(data?: IVenueGroupVisaViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.visaId = _data[\"visaId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueStatus = _data[\"venueStatus\"];\r\n this.visaName = _data[\"visaName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupVisaViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupVisaViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"visaId\"] = this.visaId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueStatus\"] = this.venueStatus;\r\n data[\"visaName\"] = this.visaName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupVisaViewModel {\r\n visaId: string;\r\n venueId: string;\r\n venueName: string;\r\n venueStatus: string;\r\n visaName: string;\r\n venueAddress: string | undefined;\r\n}\r\n\r\nexport class AddVisaRequest implements IAddVisaRequest {\r\n visaType!: VenueGroupVisaType;\r\n visaKind!: VenueGroupVisaKind;\r\n visaOrMemberGroupId!: string;\r\n venueId!: string | undefined;\r\n\r\n constructor(data?: IAddVisaRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.visaType = _data[\"visaType\"];\r\n this.visaKind = _data[\"visaKind\"];\r\n this.visaOrMemberGroupId = _data[\"visaOrMemberGroupId\"];\r\n this.venueId = _data[\"venueId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddVisaRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddVisaRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"visaType\"] = this.visaType;\r\n data[\"visaKind\"] = this.visaKind;\r\n data[\"visaOrMemberGroupId\"] = this.visaOrMemberGroupId;\r\n data[\"venueId\"] = this.venueId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddVisaRequest {\r\n visaType: VenueGroupVisaType;\r\n visaKind: VenueGroupVisaKind;\r\n visaOrMemberGroupId: string;\r\n venueId: string | undefined;\r\n}\r\n\r\n/** 0 = Visa 1 = MemberGroup */\r\nexport enum VenueGroupVisaKind {\r\n Visa = 0,\r\n MemberGroup = 1,\r\n}\r\n\r\nexport abstract class WebhookEvent implements IWebhookEvent {\r\n enterpriseAccountId!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IWebhookEvent) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WebhookEvent\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WebhookEvent {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"eventType\"] === \"message\") {\r\n let result = new MessageEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"ReservationEvent\") {\r\n throw new Error(\"The abstract class 'ReservationEvent' cannot be instantiated.\");\r\n }\r\n if (data[\"eventType\"] === \"reservation.created\") {\r\n let result = new ReservationCreatedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservation.changed\") {\r\n let result = new ReservationChangedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservation.deleted\") {\r\n let result = new ReservationDeletedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservation.abouttostart\") {\r\n let result = new ReservationAboutToStartEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"ReservationRequestEvent\") {\r\n throw new Error(\"The abstract class 'ReservationRequestEvent' cannot be instantiated.\");\r\n }\r\n if (data[\"eventType\"] === \"reservationrequest.created\") {\r\n let result = new ReservationRequestCreatedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservationrequest.changed\") {\r\n let result = new ReservationRequestChangedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'WebhookEvent' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"eventType\"] = this._discriminator;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWebhookEvent {\r\n enterpriseAccountId: string;\r\n}\r\n\r\nexport class MessageEvent extends WebhookEvent implements IMessageEvent {\r\n chainId!: string | undefined;\r\n messageId!: string;\r\n recipientId!: string;\r\n recipientEmail!: string;\r\n senderId!: string;\r\n senderEmail!: string;\r\n senderVenueId!: string | undefined;\r\n senderVenueName!: string | undefined;\r\n message!: string | undefined;\r\n url!: string;\r\n\r\n constructor(data?: IMessageEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"message\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.chainId = _data[\"chainId\"];\r\n this.messageId = _data[\"messageId\"];\r\n this.recipientId = _data[\"recipientId\"];\r\n this.recipientEmail = _data[\"recipientEmail\"];\r\n this.senderId = _data[\"senderId\"];\r\n this.senderEmail = _data[\"senderEmail\"];\r\n this.senderVenueId = _data[\"senderVenueId\"];\r\n this.senderVenueName = _data[\"senderVenueName\"];\r\n this.message = _data[\"message\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageEvent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chainId\"] = this.chainId;\r\n data[\"messageId\"] = this.messageId;\r\n data[\"recipientId\"] = this.recipientId;\r\n data[\"recipientEmail\"] = this.recipientEmail;\r\n data[\"senderId\"] = this.senderId;\r\n data[\"senderEmail\"] = this.senderEmail;\r\n data[\"senderVenueId\"] = this.senderVenueId;\r\n data[\"senderVenueName\"] = this.senderVenueName;\r\n data[\"message\"] = this.message;\r\n data[\"url\"] = this.url;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageEvent extends IWebhookEvent {\r\n chainId: string | undefined;\r\n messageId: string;\r\n recipientId: string;\r\n recipientEmail: string;\r\n senderId: string;\r\n senderEmail: string;\r\n senderVenueId: string | undefined;\r\n senderVenueName: string | undefined;\r\n message: string | undefined;\r\n url: string;\r\n}\r\n\r\nexport abstract class ReservationEvent extends WebhookEvent implements IReservationEvent {\r\n reservationId!: string;\r\n /** Reservation Owner ID */\r\n ownerId!: string;\r\n ownerEmail!: string | undefined;\r\n\r\n constructor(data?: IReservationEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationEvent\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.ownerEmail = _data[\"ownerEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationEvent {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"eventType\"] === \"reservation.created\") {\r\n let result = new ReservationCreatedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservation.changed\") {\r\n let result = new ReservationChangedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservation.deleted\") {\r\n let result = new ReservationDeletedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservation.abouttostart\") {\r\n let result = new ReservationAboutToStartEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationEvent' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"ownerEmail\"] = this.ownerEmail;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationEvent extends IWebhookEvent {\r\n reservationId: string;\r\n /** Reservation Owner ID */\r\n ownerId: string;\r\n ownerEmail: string | undefined;\r\n}\r\n\r\nexport class ReservationCreatedEvent extends ReservationEvent implements IReservationCreatedEvent {\r\n\r\n constructor(data?: IReservationCreatedEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"reservation.created\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): ReservationCreatedEvent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationCreatedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationCreatedEvent extends IReservationEvent {\r\n}\r\n\r\nexport class ReservationChangedEvent extends ReservationEvent implements IReservationChangedEvent {\r\n\r\n constructor(data?: IReservationChangedEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"reservation.changed\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): ReservationChangedEvent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationChangedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationChangedEvent extends IReservationEvent {\r\n}\r\n\r\nexport class ReservationDeletedEvent extends ReservationEvent implements IReservationDeletedEvent {\r\n\r\n constructor(data?: IReservationDeletedEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"reservation.deleted\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): ReservationDeletedEvent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationDeletedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationDeletedEvent extends IReservationEvent {\r\n}\r\n\r\nexport class ReservationAboutToStartEvent extends ReservationEvent implements IReservationAboutToStartEvent {\r\n\r\n constructor(data?: IReservationAboutToStartEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"reservation.abouttostart\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): ReservationAboutToStartEvent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationAboutToStartEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationAboutToStartEvent extends IReservationEvent {\r\n}\r\n\r\nexport abstract class ReservationRequestEvent extends WebhookEvent implements IReservationRequestEvent {\r\n requestId!: string;\r\n reservationId!: string | undefined;\r\n ownerId!: string;\r\n ownerEmail!: string | undefined;\r\n\r\n constructor(data?: IReservationRequestEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationRequestEvent\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.requestId = _data[\"requestId\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.ownerEmail = _data[\"ownerEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationRequestEvent {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"eventType\"] === \"reservationrequest.created\") {\r\n let result = new ReservationRequestCreatedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"eventType\"] === \"reservationrequest.changed\") {\r\n let result = new ReservationRequestChangedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationRequestEvent' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"requestId\"] = this.requestId;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"ownerEmail\"] = this.ownerEmail;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRequestEvent extends IWebhookEvent {\r\n requestId: string;\r\n reservationId: string | undefined;\r\n ownerId: string;\r\n ownerEmail: string | undefined;\r\n}\r\n\r\nexport class ReservationRequestCreatedEvent extends ReservationRequestEvent implements IReservationRequestCreatedEvent {\r\n\r\n constructor(data?: IReservationRequestCreatedEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"reservationrequest.created\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): ReservationRequestCreatedEvent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationRequestCreatedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRequestCreatedEvent extends IReservationRequestEvent {\r\n}\r\n\r\nexport class ReservationRequestChangedEvent extends ReservationRequestEvent implements IReservationRequestChangedEvent {\r\n\r\n constructor(data?: IReservationRequestChangedEvent) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"reservationrequest.changed\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): ReservationRequestChangedEvent {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationRequestChangedEvent();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRequestChangedEvent extends IReservationRequestEvent {\r\n}\r\n\r\nexport class WorkspaceScenarioViewModel implements IWorkspaceScenarioViewModel {\r\n id!: string;\r\n name!: string;\r\n reservationMethods!: ReservationMethod[];\r\n\r\n constructor(data?: IWorkspaceScenarioViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"reservationMethods\"])) {\r\n this.reservationMethods = [] as any;\r\n for (let item of _data[\"reservationMethods\"])\r\n this.reservationMethods!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceScenarioViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceScenarioViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.reservationMethods)) {\r\n data[\"reservationMethods\"] = [];\r\n for (let item of this.reservationMethods)\r\n data[\"reservationMethods\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceScenarioViewModel {\r\n id: string;\r\n name: string;\r\n reservationMethods: ReservationMethod[];\r\n}\r\n\r\n/** 0 = Unknown 1 = UnknownMemberNeedVerification 2 = KnownAdminClaimed */\r\nexport enum ClaimVenueResult {\r\n Unknown = 0,\r\n UnknownMemberNeedVerification = 1,\r\n KnownAdminClaimed = 2,\r\n}\r\n\r\nexport class VenuePermissionsViewModel implements IVenuePermissionsViewModel {\r\n visaId!: string | undefined;\r\n visaState!: VisaState | undefined;\r\n allowReservationsWhileVisaPending!: boolean;\r\n paymentMethod!: PaymentMethod | undefined;\r\n /** Currently price can be hidden only for VenueBilled visa */\r\n hidePrice!: boolean;\r\n isRequestToBook!: boolean;\r\n isPotentialVisa!: boolean;\r\n isVenueAdmin!: boolean;\r\n isCalendarAdmin!: boolean;\r\n\r\n constructor(data?: IVenuePermissionsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.visaId = _data[\"visaId\"];\r\n this.visaState = _data[\"visaState\"];\r\n this.allowReservationsWhileVisaPending = _data[\"allowReservationsWhileVisaPending\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.hidePrice = _data[\"hidePrice\"];\r\n this.isRequestToBook = _data[\"isRequestToBook\"];\r\n this.isPotentialVisa = _data[\"isPotentialVisa\"];\r\n this.isVenueAdmin = _data[\"isVenueAdmin\"];\r\n this.isCalendarAdmin = _data[\"isCalendarAdmin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuePermissionsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuePermissionsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"visaId\"] = this.visaId;\r\n data[\"visaState\"] = this.visaState;\r\n data[\"allowReservationsWhileVisaPending\"] = this.allowReservationsWhileVisaPending;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"hidePrice\"] = this.hidePrice;\r\n data[\"isRequestToBook\"] = this.isRequestToBook;\r\n data[\"isPotentialVisa\"] = this.isPotentialVisa;\r\n data[\"isVenueAdmin\"] = this.isVenueAdmin;\r\n data[\"isCalendarAdmin\"] = this.isCalendarAdmin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuePermissionsViewModel {\r\n visaId: string | undefined;\r\n visaState: VisaState | undefined;\r\n allowReservationsWhileVisaPending: boolean;\r\n paymentMethod: PaymentMethod | undefined;\r\n /** Currently price can be hidden only for VenueBilled visa */\r\n hidePrice: boolean;\r\n isRequestToBook: boolean;\r\n isPotentialVisa: boolean;\r\n isVenueAdmin: boolean;\r\n isCalendarAdmin: boolean;\r\n}\r\n\r\n/** 0 = Unset 1 = Pending 2 = Granted 3 = Denied */\r\nexport enum VisaState {\r\n Unset = 0,\r\n Pending = 1,\r\n Granted = 2,\r\n Denied = 3,\r\n}\r\n\r\nexport class VenuePermissionsRequest implements IVenuePermissionsRequest {\r\n company!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n freeFormAnswer!: string | undefined;\r\n\r\n constructor(data?: IVenuePermissionsRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.company = _data[\"company\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.freeFormAnswer = _data[\"freeFormAnswer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuePermissionsRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuePermissionsRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"company\"] = this.company;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"freeFormAnswer\"] = this.freeFormAnswer;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuePermissionsRequest {\r\n company: string | undefined;\r\n phoneNumber: string | undefined;\r\n freeFormAnswer: string | undefined;\r\n}\r\n\r\nexport class VenueModel implements IVenueModel {\r\n id!: string;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n name!: string;\r\n address!: string;\r\n simpleAddress1!: string;\r\n simpleAddress2!: string | undefined;\r\n city!: string;\r\n state!: string | undefined;\r\n zip!: string;\r\n country!: string;\r\n timeZone!: ZoneInfo | undefined;\r\n description!: string;\r\n imageUrls!: string[];\r\n url!: string;\r\n workspaceIds!: string[];\r\n venueMapImageUrl!: string;\r\n defaultBookingMethod!: BookingMethod;\r\n defaultBookingMethodHourly!: BookingMethod;\r\n currency!: CurrencyType;\r\n averageRating!: number;\r\n ratingCount!: number;\r\n healthAndSafetyPolicy!: string | undefined;\r\n hasLiquidspacePro!: boolean;\r\n\r\n constructor(data?: IVenueModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.name = _data[\"name\"];\r\n this.address = _data[\"address\"];\r\n this.simpleAddress1 = _data[\"simpleAddress1\"];\r\n this.simpleAddress2 = _data[\"simpleAddress2\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.country = _data[\"country\"];\r\n this.timeZone = _data[\"timeZone\"] ? ZoneInfo.fromJS(_data[\"timeZone\"]) : undefined;\r\n this.description = _data[\"description\"];\r\n if (Array.isArray(_data[\"imageUrls\"])) {\r\n this.imageUrls = [] as any;\r\n for (let item of _data[\"imageUrls\"])\r\n this.imageUrls!.push(item);\r\n }\r\n this.url = _data[\"url\"];\r\n if (Array.isArray(_data[\"workspaceIds\"])) {\r\n this.workspaceIds = [] as any;\r\n for (let item of _data[\"workspaceIds\"])\r\n this.workspaceIds!.push(item);\r\n }\r\n this.venueMapImageUrl = _data[\"venueMapImageUrl\"];\r\n this.defaultBookingMethod = _data[\"defaultBookingMethod\"];\r\n this.defaultBookingMethodHourly = _data[\"defaultBookingMethodHourly\"];\r\n this.currency = _data[\"currency\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n this.ratingCount = _data[\"ratingCount\"];\r\n this.healthAndSafetyPolicy = _data[\"healthAndSafetyPolicy\"];\r\n this.hasLiquidspacePro = _data[\"hasLiquidspacePro\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"name\"] = this.name;\r\n data[\"address\"] = this.address;\r\n data[\"simpleAddress1\"] = this.simpleAddress1;\r\n data[\"simpleAddress2\"] = this.simpleAddress2;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"country\"] = this.country;\r\n data[\"timeZone\"] = this.timeZone ? this.timeZone.toJSON() : undefined;\r\n data[\"description\"] = this.description;\r\n if (Array.isArray(this.imageUrls)) {\r\n data[\"imageUrls\"] = [];\r\n for (let item of this.imageUrls)\r\n data[\"imageUrls\"].push(item);\r\n }\r\n data[\"url\"] = this.url;\r\n if (Array.isArray(this.workspaceIds)) {\r\n data[\"workspaceIds\"] = [];\r\n for (let item of this.workspaceIds)\r\n data[\"workspaceIds\"].push(item);\r\n }\r\n data[\"venueMapImageUrl\"] = this.venueMapImageUrl;\r\n data[\"defaultBookingMethod\"] = this.defaultBookingMethod;\r\n data[\"defaultBookingMethodHourly\"] = this.defaultBookingMethodHourly;\r\n data[\"currency\"] = this.currency;\r\n data[\"averageRating\"] = this.averageRating;\r\n data[\"ratingCount\"] = this.ratingCount;\r\n data[\"healthAndSafetyPolicy\"] = this.healthAndSafetyPolicy;\r\n data[\"hasLiquidspacePro\"] = this.hasLiquidspacePro;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueModel {\r\n id: string;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n name: string;\r\n address: string;\r\n simpleAddress1: string;\r\n simpleAddress2: string | undefined;\r\n city: string;\r\n state: string | undefined;\r\n zip: string;\r\n country: string;\r\n timeZone: ZoneInfo | undefined;\r\n description: string;\r\n imageUrls: string[];\r\n url: string;\r\n workspaceIds: string[];\r\n venueMapImageUrl: string;\r\n defaultBookingMethod: BookingMethod;\r\n defaultBookingMethodHourly: BookingMethod;\r\n currency: CurrencyType;\r\n averageRating: number;\r\n ratingCount: number;\r\n healthAndSafetyPolicy: string | undefined;\r\n hasLiquidspacePro: boolean;\r\n}\r\n\r\nexport class ZoneInfo implements IZoneInfo {\r\n /** The Windows system time zone identifier for this mapping, such as \"Central Standard Time\". */\r\n windowsId!: string;\r\n /** The territory code. */\r\n territory!: string;\r\n /** A read-only non-empty collection of TZDB zone identifiers for this mapping,\r\nsuch as \"America/Chicago\" and \"America/Matamoros\" (both of which are TZDB zones\r\nassociated with the \"Central Standard Time\" Windows system time zone). */\r\n tzdbIds!: string[];\r\n\r\n constructor(data?: IZoneInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.windowsId = _data[\"windowsId\"];\r\n this.territory = _data[\"territory\"];\r\n if (Array.isArray(_data[\"tzdbIds\"])) {\r\n this.tzdbIds = [] as any;\r\n for (let item of _data[\"tzdbIds\"])\r\n this.tzdbIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ZoneInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ZoneInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"windowsId\"] = this.windowsId;\r\n data[\"territory\"] = this.territory;\r\n if (Array.isArray(this.tzdbIds)) {\r\n data[\"tzdbIds\"] = [];\r\n for (let item of this.tzdbIds)\r\n data[\"tzdbIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IZoneInfo {\r\n /** The Windows system time zone identifier for this mapping, such as \"Central Standard Time\". */\r\n windowsId: string;\r\n /** The territory code. */\r\n territory: string;\r\n /** A read-only non-empty collection of TZDB zone identifiers for this mapping,\r\nsuch as \"America/Chicago\" and \"America/Matamoros\" (both of which are TZDB zones\r\nassociated with the \"Central Standard Time\" Windows system time zone). */\r\n tzdbIds: string[];\r\n}\r\n\r\nexport class VenueAutocompleteItem implements IVenueAutocompleteItem {\r\n id!: string;\r\n name!: string;\r\n address!: string;\r\n\r\n constructor(data?: IVenueAutocompleteItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueAutocompleteItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueAutocompleteItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueAutocompleteItem {\r\n id: string;\r\n name: string;\r\n address: string;\r\n}\r\n\r\nexport class VenueHeadquarterDataViewModel implements IVenueHeadquarterDataViewModel {\r\n enterpriseAccountName!: string;\r\n hqPinColor!: string;\r\n hqPinColorHover!: string;\r\n hqPinLabel!: string;\r\n hqPinImage!: string | undefined;\r\n customCTA!: VenueCustomCTAViewModel | undefined;\r\n\r\n constructor(data?: IVenueHeadquarterDataViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enterpriseAccountName = _data[\"enterpriseAccountName\"];\r\n this.hqPinColor = _data[\"hqPinColor\"];\r\n this.hqPinColorHover = _data[\"hqPinColorHover\"];\r\n this.hqPinLabel = _data[\"hqPinLabel\"];\r\n this.hqPinImage = _data[\"hqPinImage\"];\r\n this.customCTA = _data[\"customCTA\"] ? VenueCustomCTAViewModel.fromJS(_data[\"customCTA\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueHeadquarterDataViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueHeadquarterDataViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enterpriseAccountName\"] = this.enterpriseAccountName;\r\n data[\"hqPinColor\"] = this.hqPinColor;\r\n data[\"hqPinColorHover\"] = this.hqPinColorHover;\r\n data[\"hqPinLabel\"] = this.hqPinLabel;\r\n data[\"hqPinImage\"] = this.hqPinImage;\r\n data[\"customCTA\"] = this.customCTA ? this.customCTA.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueHeadquarterDataViewModel {\r\n enterpriseAccountName: string;\r\n hqPinColor: string;\r\n hqPinColorHover: string;\r\n hqPinLabel: string;\r\n hqPinImage: string | undefined;\r\n customCTA: VenueCustomCTAViewModel | undefined;\r\n}\r\n\r\nexport class VenueCustomCTAViewModel implements IVenueCustomCTAViewModel {\r\n text!: string | undefined;\r\n url!: string;\r\n\r\n constructor(data?: IVenueCustomCTAViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueCustomCTAViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueCustomCTAViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueCustomCTAViewModel {\r\n text: string | undefined;\r\n url: string;\r\n}\r\n\r\nexport class VenueWorkspaceModel implements IVenueWorkspaceModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n url!: string;\r\n spaceType!: SpaceType;\r\n spaceTypeFormatted!: string;\r\n /** Indicates if multiple desks can be booked with 1 reservation */\r\n multipleDeskBookingAllowed!: boolean;\r\n capacity!: number;\r\n reservationMethod!: ReservationMethod;\r\n bookingMethod!: BookingMethod;\r\n pricesFormatted!: string;\r\n imageUrls!: string[];\r\n cancellationPolicy!: CancellationPolicy;\r\n /** Minimum number of months that can be booked in mothly space */\r\n minimumBookingTerm!: number | undefined;\r\n status!: WorkspaceStatus;\r\n averageRating!: number | undefined;\r\n prices!: PriceDisplayModel[];\r\n hasRegusIntegration!: boolean;\r\n\r\n constructor(data?: IVenueWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.url = _data[\"url\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeFormatted = _data[\"spaceTypeFormatted\"];\r\n this.multipleDeskBookingAllowed = _data[\"multipleDeskBookingAllowed\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.pricesFormatted = _data[\"pricesFormatted\"];\r\n if (Array.isArray(_data[\"imageUrls\"])) {\r\n this.imageUrls = [] as any;\r\n for (let item of _data[\"imageUrls\"])\r\n this.imageUrls!.push(item);\r\n }\r\n this.cancellationPolicy = _data[\"cancellationPolicy\"];\r\n this.minimumBookingTerm = _data[\"minimumBookingTerm\"];\r\n this.status = _data[\"status\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(PriceDisplayModel.fromJS(item));\r\n }\r\n this.hasRegusIntegration = _data[\"hasRegusIntegration\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueWorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueWorkspaceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"url\"] = this.url;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeFormatted\"] = this.spaceTypeFormatted;\r\n data[\"multipleDeskBookingAllowed\"] = this.multipleDeskBookingAllowed;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"pricesFormatted\"] = this.pricesFormatted;\r\n if (Array.isArray(this.imageUrls)) {\r\n data[\"imageUrls\"] = [];\r\n for (let item of this.imageUrls)\r\n data[\"imageUrls\"].push(item);\r\n }\r\n data[\"cancellationPolicy\"] = this.cancellationPolicy;\r\n data[\"minimumBookingTerm\"] = this.minimumBookingTerm;\r\n data[\"status\"] = this.status;\r\n data[\"averageRating\"] = this.averageRating;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n data[\"hasRegusIntegration\"] = this.hasRegusIntegration;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueWorkspaceModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n url: string;\r\n spaceType: SpaceType;\r\n spaceTypeFormatted: string;\r\n /** Indicates if multiple desks can be booked with 1 reservation */\r\n multipleDeskBookingAllowed: boolean;\r\n capacity: number;\r\n reservationMethod: ReservationMethod;\r\n bookingMethod: BookingMethod;\r\n pricesFormatted: string;\r\n imageUrls: string[];\r\n cancellationPolicy: CancellationPolicy;\r\n /** Minimum number of months that can be booked in mothly space */\r\n minimumBookingTerm: number | undefined;\r\n status: WorkspaceStatus;\r\n averageRating: number | undefined;\r\n prices: PriceDisplayModel[];\r\n hasRegusIntegration: boolean;\r\n}\r\n\r\nexport class PriceDisplayModel implements IPriceDisplayModel {\r\n priceDuration!: WorkspacePriceDuration | undefined;\r\n price!: string | undefined;\r\n priceAmountDecimal!: number;\r\n priceAmount!: string | undefined;\r\n priceDescription!: string | undefined;\r\n priceAdditionalDescription!: string | undefined;\r\n delimiter!: string | undefined;\r\n priceMerchandising!: PriceMerchandising;\r\n amountBeforeDiscount!: number | undefined;\r\n amountBeforeDiscountFormatted!: string | undefined;\r\n discountDescription!: string | undefined;\r\n discountCode!: string | undefined;\r\n\r\n constructor(data?: IPriceDisplayModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.priceDuration = _data[\"priceDuration\"];\r\n this.price = _data[\"price\"];\r\n this.priceAmountDecimal = _data[\"priceAmountDecimal\"];\r\n this.priceAmount = _data[\"priceAmount\"];\r\n this.priceDescription = _data[\"priceDescription\"];\r\n this.priceAdditionalDescription = _data[\"priceAdditionalDescription\"];\r\n this.delimiter = _data[\"delimiter\"];\r\n this.priceMerchandising = _data[\"priceMerchandising\"];\r\n this.amountBeforeDiscount = _data[\"amountBeforeDiscount\"];\r\n this.amountBeforeDiscountFormatted = _data[\"amountBeforeDiscountFormatted\"];\r\n this.discountDescription = _data[\"discountDescription\"];\r\n this.discountCode = _data[\"discountCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceDisplayModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceDisplayModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"priceDuration\"] = this.priceDuration;\r\n data[\"price\"] = this.price;\r\n data[\"priceAmountDecimal\"] = this.priceAmountDecimal;\r\n data[\"priceAmount\"] = this.priceAmount;\r\n data[\"priceDescription\"] = this.priceDescription;\r\n data[\"priceAdditionalDescription\"] = this.priceAdditionalDescription;\r\n data[\"delimiter\"] = this.delimiter;\r\n data[\"priceMerchandising\"] = this.priceMerchandising;\r\n data[\"amountBeforeDiscount\"] = this.amountBeforeDiscount;\r\n data[\"amountBeforeDiscountFormatted\"] = this.amountBeforeDiscountFormatted;\r\n data[\"discountDescription\"] = this.discountDescription;\r\n data[\"discountCode\"] = this.discountCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceDisplayModel {\r\n priceDuration: WorkspacePriceDuration | undefined;\r\n price: string | undefined;\r\n priceAmountDecimal: number;\r\n priceAmount: string | undefined;\r\n priceDescription: string | undefined;\r\n priceAdditionalDescription: string | undefined;\r\n delimiter: string | undefined;\r\n priceMerchandising: PriceMerchandising;\r\n amountBeforeDiscount: number | undefined;\r\n amountBeforeDiscountFormatted: string | undefined;\r\n discountDescription: string | undefined;\r\n discountCode: string | undefined;\r\n}\r\n\r\n/** 15 = QuarterHour 30 = HalfHour 60 = Hour 120 = TwoHours 180 = ThreeHours 240 = HalfDay 480 = Day 43200 = Month 129600 = ThreeMonth 259200 = SixMonth 518400 = Year 1036800 = TwoYear 1555200 = ThreeYear */\r\nexport enum WorkspacePriceDuration {\r\n QuarterHour = 15,\r\n HalfHour = 30,\r\n Hour = 60,\r\n TwoHours = 120,\r\n ThreeHours = 180,\r\n HalfDay = 240,\r\n Day = 480,\r\n Month = 43200,\r\n ThreeMonth = 129600,\r\n SixMonth = 259200,\r\n Year = 518400,\r\n TwoYear = 1036800,\r\n ThreeYear = 1555200,\r\n}\r\n\r\nexport class ReservationCalendarWorkspaceModel implements IReservationCalendarWorkspaceModel {\r\n workspace!: VenueWorkspaceModel;\r\n timeChunkStates!: ReservationCalendarTimeChunkStateModel[];\r\n\r\n constructor(data?: IReservationCalendarWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspace = _data[\"workspace\"] ? VenueWorkspaceModel.fromJS(_data[\"workspace\"]) : undefined;\r\n if (Array.isArray(_data[\"timeChunkStates\"])) {\r\n this.timeChunkStates = [] as any;\r\n for (let item of _data[\"timeChunkStates\"])\r\n this.timeChunkStates!.push(ReservationCalendarTimeChunkStateModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationCalendarWorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationCalendarWorkspaceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspace\"] = this.workspace ? this.workspace.toJSON() : undefined;\r\n if (Array.isArray(this.timeChunkStates)) {\r\n data[\"timeChunkStates\"] = [];\r\n for (let item of this.timeChunkStates)\r\n data[\"timeChunkStates\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationCalendarWorkspaceModel {\r\n workspace: VenueWorkspaceModel;\r\n timeChunkStates: ReservationCalendarTimeChunkStateModel[];\r\n}\r\n\r\nexport class ReservationCalendarTimeChunkStateModel implements IReservationCalendarTimeChunkStateModel {\r\n time!: string;\r\n state!: TimeState;\r\n\r\n constructor(data?: IReservationCalendarTimeChunkStateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.time = _data[\"time\"];\r\n this.state = _data[\"state\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationCalendarTimeChunkStateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationCalendarTimeChunkStateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"time\"] = this.time;\r\n data[\"state\"] = this.state;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationCalendarTimeChunkStateModel {\r\n time: string;\r\n state: TimeState;\r\n}\r\n\r\n/** 0 = Closed 1 = Booked 2 = Available 3 = Own */\r\nexport enum TimeState {\r\n Closed = 0,\r\n Booked = 1,\r\n Available = 2,\r\n Own = 3,\r\n}\r\n\r\n/** 15 = Min15 30 = Min30 60 = Min60 */\r\nexport enum TimeChunkSize {\r\n Min15 = 15,\r\n Min30 = 30,\r\n Min60 = 60,\r\n}\r\n\r\nexport class ClosedDayModel implements IClosedDayModel {\r\n date!: string;\r\n unavailabilityReason!: string | undefined;\r\n\r\n constructor(data?: IClosedDayModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.unavailabilityReason = _data[\"unavailabilityReason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClosedDayModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClosedDayModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"unavailabilityReason\"] = this.unavailabilityReason;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClosedDayModel {\r\n date: string;\r\n unavailabilityReason: string | undefined;\r\n}\r\n\r\nexport class OpenHoursItem implements IOpenHoursItem {\r\n time!: string;\r\n\r\n constructor(data?: IOpenHoursItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.time = _data[\"time\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OpenHoursItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OpenHoursItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"time\"] = this.time;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOpenHoursItem {\r\n time: string;\r\n}\r\n\r\nexport class CheckAvailabilityResponse implements ICheckAvailabilityResponse {\r\n /** Null if date wasn't provided. \r\nBoolean value indicates if workspace is available for the requested date */\r\n isAvailable!: boolean | undefined;\r\n /** Null if there's no available date in a year\r\nFirst available date from the requested date (or from now if date wasn't provided) */\r\n nextAvailableDate!: string | undefined;\r\n /** Dates that are not available for given recurrence pattern. Empty when no pattern is provided */\r\n recurrenceExcludedDates!: string[];\r\n\r\n constructor(data?: ICheckAvailabilityResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isAvailable = _data[\"isAvailable\"];\r\n this.nextAvailableDate = _data[\"nextAvailableDate\"];\r\n if (Array.isArray(_data[\"recurrenceExcludedDates\"])) {\r\n this.recurrenceExcludedDates = [] as any;\r\n for (let item of _data[\"recurrenceExcludedDates\"])\r\n this.recurrenceExcludedDates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckAvailabilityResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckAvailabilityResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isAvailable\"] = this.isAvailable;\r\n data[\"nextAvailableDate\"] = this.nextAvailableDate;\r\n if (Array.isArray(this.recurrenceExcludedDates)) {\r\n data[\"recurrenceExcludedDates\"] = [];\r\n for (let item of this.recurrenceExcludedDates)\r\n data[\"recurrenceExcludedDates\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckAvailabilityResponse {\r\n /** Null if date wasn't provided. \r\nBoolean value indicates if workspace is available for the requested date */\r\n isAvailable: boolean | undefined;\r\n /** Null if there's no available date in a year\r\nFirst available date from the requested date (or from now if date wasn't provided) */\r\n nextAvailableDate: string | undefined;\r\n /** Dates that are not available for given recurrence pattern. Empty when no pattern is provided */\r\n recurrenceExcludedDates: string[];\r\n}\r\n\r\nexport class CheckAvailabilityRequest implements ICheckAvailabilityRequest {\r\n reservationDetails!: ReservationDetails | undefined;\r\n reservationId!: string | undefined;\r\n occurrenceDate!: string | undefined;\r\n\r\n constructor(data?: ICheckAvailabilityRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationDetails = _data[\"reservationDetails\"] ? ReservationDetails.fromJS(_data[\"reservationDetails\"]) : undefined;\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckAvailabilityRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckAvailabilityRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationDetails\"] = this.reservationDetails ? this.reservationDetails.toJSON() : undefined;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckAvailabilityRequest {\r\n reservationDetails: ReservationDetails | undefined;\r\n reservationId: string | undefined;\r\n occurrenceDate: string | undefined;\r\n}\r\n\r\nexport class CheckRegusAvailabilityResponse implements ICheckRegusAvailabilityResponse {\r\n /** Boolean value indicates if workspace is available for the requested date in Regus\r\n */\r\n isAvailable!: boolean;\r\n /** Null if workspace isn't available in Regus\r\nReference to the first (best matching?) available workspace in Regus */\r\n spaceReferenceToken!: string | undefined;\r\n\r\n constructor(data?: ICheckRegusAvailabilityResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isAvailable = _data[\"isAvailable\"];\r\n this.spaceReferenceToken = _data[\"spaceReferenceToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckRegusAvailabilityResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckRegusAvailabilityResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isAvailable\"] = this.isAvailable;\r\n data[\"spaceReferenceToken\"] = this.spaceReferenceToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckRegusAvailabilityResponse {\r\n /** Boolean value indicates if workspace is available for the requested date in Regus\r\n */\r\n isAvailable: boolean;\r\n /** Null if workspace isn't available in Regus\r\nReference to the first (best matching?) available workspace in Regus */\r\n spaceReferenceToken: string | undefined;\r\n}\r\n\r\nexport class UserInfoViewModel implements IUserInfoViewModel {\r\n isAuthenticated!: boolean;\r\n isSuperUser!: boolean;\r\n isSystemAdmin!: boolean;\r\n isVenueAdmin!: boolean;\r\n isCalendarAdmin!: boolean;\r\n isMemberGroupAdmin!: boolean;\r\n isOrganizationAdmin!: boolean;\r\n isSalesRep!: boolean;\r\n isAffiliate!: boolean;\r\n isEnterpriseAccountAdmin!: boolean;\r\n id!: string;\r\n fullName!: string | undefined;\r\n email!: string | undefined;\r\n encryptedEmail!: string | undefined;\r\n imageUrl!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n role!: string | undefined;\r\n manageVenueMode!: ManageVenueMode;\r\n isVenueAdminMode!: boolean;\r\n memberType!: string | undefined;\r\n hasCompletedPortalGuide!: boolean;\r\n\r\n constructor(data?: IUserInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isAuthenticated = _data[\"isAuthenticated\"];\r\n this.isSuperUser = _data[\"isSuperUser\"];\r\n this.isSystemAdmin = _data[\"isSystemAdmin\"];\r\n this.isVenueAdmin = _data[\"isVenueAdmin\"];\r\n this.isCalendarAdmin = _data[\"isCalendarAdmin\"];\r\n this.isMemberGroupAdmin = _data[\"isMemberGroupAdmin\"];\r\n this.isOrganizationAdmin = _data[\"isOrganizationAdmin\"];\r\n this.isSalesRep = _data[\"isSalesRep\"];\r\n this.isAffiliate = _data[\"isAffiliate\"];\r\n this.isEnterpriseAccountAdmin = _data[\"isEnterpriseAccountAdmin\"];\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.encryptedEmail = _data[\"encryptedEmail\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.role = _data[\"role\"];\r\n this.manageVenueMode = _data[\"manageVenueMode\"];\r\n this.isVenueAdminMode = _data[\"isVenueAdminMode\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.hasCompletedPortalGuide = _data[\"hasCompletedPortalGuide\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isAuthenticated\"] = this.isAuthenticated;\r\n data[\"isSuperUser\"] = this.isSuperUser;\r\n data[\"isSystemAdmin\"] = this.isSystemAdmin;\r\n data[\"isVenueAdmin\"] = this.isVenueAdmin;\r\n data[\"isCalendarAdmin\"] = this.isCalendarAdmin;\r\n data[\"isMemberGroupAdmin\"] = this.isMemberGroupAdmin;\r\n data[\"isOrganizationAdmin\"] = this.isOrganizationAdmin;\r\n data[\"isSalesRep\"] = this.isSalesRep;\r\n data[\"isAffiliate\"] = this.isAffiliate;\r\n data[\"isEnterpriseAccountAdmin\"] = this.isEnterpriseAccountAdmin;\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"encryptedEmail\"] = this.encryptedEmail;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"role\"] = this.role;\r\n data[\"manageVenueMode\"] = this.manageVenueMode;\r\n data[\"isVenueAdminMode\"] = this.isVenueAdminMode;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"hasCompletedPortalGuide\"] = this.hasCompletedPortalGuide;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoViewModel {\r\n isAuthenticated: boolean;\r\n isSuperUser: boolean;\r\n isSystemAdmin: boolean;\r\n isVenueAdmin: boolean;\r\n isCalendarAdmin: boolean;\r\n isMemberGroupAdmin: boolean;\r\n isOrganizationAdmin: boolean;\r\n isSalesRep: boolean;\r\n isAffiliate: boolean;\r\n isEnterpriseAccountAdmin: boolean;\r\n id: string;\r\n fullName: string | undefined;\r\n email: string | undefined;\r\n encryptedEmail: string | undefined;\r\n imageUrl: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n role: string | undefined;\r\n manageVenueMode: ManageVenueMode;\r\n isVenueAdminMode: boolean;\r\n memberType: string | undefined;\r\n hasCompletedPortalGuide: boolean;\r\n}\r\n\r\n/** 0 = Admin 1 = Guest 2 = EnterpriseAccountAdmin */\r\nexport enum ManageVenueMode {\r\n Admin = 0,\r\n Guest = 1,\r\n EnterpriseAccountAdmin = 2,\r\n}\r\n\r\nexport class UserInfoEnterpriseAccountResponse implements IUserInfoEnterpriseAccountResponse {\r\n userInfoEnterpriseAccountViewModel!: UserInfoEnterpriseAccountViewModel | undefined;\r\n\r\n constructor(data?: IUserInfoEnterpriseAccountResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userInfoEnterpriseAccountViewModel = _data[\"userInfoEnterpriseAccountViewModel\"] ? UserInfoEnterpriseAccountViewModel.fromJS(_data[\"userInfoEnterpriseAccountViewModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoEnterpriseAccountResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoEnterpriseAccountResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userInfoEnterpriseAccountViewModel\"] = this.userInfoEnterpriseAccountViewModel ? this.userInfoEnterpriseAccountViewModel.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoEnterpriseAccountResponse {\r\n userInfoEnterpriseAccountViewModel: UserInfoEnterpriseAccountViewModel | undefined;\r\n}\r\n\r\nexport class UserInfoEnterpriseAccountViewModel implements IUserInfoEnterpriseAccountViewModel {\r\n /** Enterprise Account Id */\r\n id!: string;\r\n /** Enterprise account name */\r\n accountName!: string;\r\n /** Team Id */\r\n teamId!: string;\r\n /** Team Name */\r\n teamName!: string;\r\n\r\n constructor(data?: IUserInfoEnterpriseAccountViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.accountName = _data[\"accountName\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoEnterpriseAccountViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoEnterpriseAccountViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"accountName\"] = this.accountName;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoEnterpriseAccountViewModel {\r\n /** Enterprise Account Id */\r\n id: string;\r\n /** Enterprise account name */\r\n accountName: string;\r\n /** Team Id */\r\n teamId: string;\r\n /** Team Name */\r\n teamName: string;\r\n}\r\n\r\nexport class HeaderMenuCountersViewModel implements IHeaderMenuCountersViewModel {\r\n moreVenuesTotalMessagesCount!: number;\r\n upcomingReservationsCount!: number;\r\n newMessagesCount!: number;\r\n newMessagesForVenues!: { [key: string]: number; };\r\n\r\n constructor(data?: IHeaderMenuCountersViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.moreVenuesTotalMessagesCount = _data[\"moreVenuesTotalMessagesCount\"];\r\n this.upcomingReservationsCount = _data[\"upcomingReservationsCount\"];\r\n this.newMessagesCount = _data[\"newMessagesCount\"];\r\n if (_data[\"newMessagesForVenues\"]) {\r\n this.newMessagesForVenues = {} as any;\r\n for (let key in _data[\"newMessagesForVenues\"]) {\r\n if (_data[\"newMessagesForVenues\"].hasOwnProperty(key))\r\n (this.newMessagesForVenues)![key] = _data[\"newMessagesForVenues\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeaderMenuCountersViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeaderMenuCountersViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"moreVenuesTotalMessagesCount\"] = this.moreVenuesTotalMessagesCount;\r\n data[\"upcomingReservationsCount\"] = this.upcomingReservationsCount;\r\n data[\"newMessagesCount\"] = this.newMessagesCount;\r\n if (this.newMessagesForVenues) {\r\n data[\"newMessagesForVenues\"] = {};\r\n for (let key in this.newMessagesForVenues) {\r\n if (this.newMessagesForVenues.hasOwnProperty(key))\r\n (data[\"newMessagesForVenues\"])[key] = (this.newMessagesForVenues)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeaderMenuCountersViewModel {\r\n moreVenuesTotalMessagesCount: number;\r\n upcomingReservationsCount: number;\r\n newMessagesCount: number;\r\n newMessagesForVenues: { [key: string]: number; };\r\n}\r\n\r\nexport class MyVenueViewModel implements IMyVenueViewModel {\r\n venueId!: string;\r\n venueName!: string;\r\n\r\n constructor(data?: IMyVenueViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MyVenueViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MyVenueViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMyVenueViewModel {\r\n venueId: string;\r\n venueName: string;\r\n}\r\n\r\n/** Represents saved search request */\r\nexport class SavedSearchRequest implements ISavedSearchRequest {\r\n request!: BaseSearchRequest;\r\n metadata!: SavedSearchRequestMetadata;\r\n\r\n constructor(data?: ISavedSearchRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.request = _data[\"request\"] ? BaseSearchRequest.fromJS(_data[\"request\"]) : undefined;\r\n this.metadata = _data[\"metadata\"] ? SavedSearchRequestMetadata.fromJS(_data[\"metadata\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\r\n data[\"metadata\"] = this.metadata ? this.metadata.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\n/** Represents saved search request */\r\nexport interface ISavedSearchRequest {\r\n request: BaseSearchRequest;\r\n metadata: SavedSearchRequestMetadata;\r\n}\r\n\r\nexport class SavedSearchRequestWithId extends SavedSearchRequest implements ISavedSearchRequestWithId {\r\n id!: string;\r\n\r\n constructor(data?: ISavedSearchRequestWithId) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequestWithId {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequestWithId();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchRequestWithId extends ISavedSearchRequest {\r\n id: string;\r\n}\r\n\r\nexport abstract class CommonSearchRequest implements ICommonSearchRequest {\r\n /** Search Type. */\r\n reservationMethod!: ReservationMethod;\r\n /** Reservation start time. */\r\n startTime!: string | undefined;\r\n /** Optional reservation length parameter. Must be a multiple of 15 minutes. */\r\n reservationLengthMinutes!: number | undefined;\r\n /** Space Type */\r\n spaceTypes!: SpaceType;\r\n /** Optional Min Price constraint. */\r\n minPrice!: number | undefined;\r\n /** Optional Max Price constraint. */\r\n maxPrice!: number | undefined;\r\n /** Optional minimum workspace capacity constraint. */\r\n minCapacity!: number | undefined;\r\n /** Optional requested amenities list. */\r\n amenityIds!: string[] | undefined;\r\n\r\n constructor(data?: ICommonSearchRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.reservationLengthMinutes = _data[\"reservationLengthMinutes\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n if (Array.isArray(_data[\"amenityIds\"])) {\r\n this.amenityIds = [] as any;\r\n for (let item of _data[\"amenityIds\"])\r\n this.amenityIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommonSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'CommonSearchRequest' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"reservationLengthMinutes\"] = this.reservationLengthMinutes;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n if (Array.isArray(this.amenityIds)) {\r\n data[\"amenityIds\"] = [];\r\n for (let item of this.amenityIds)\r\n data[\"amenityIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommonSearchRequest {\r\n /** Search Type. */\r\n reservationMethod: ReservationMethod;\r\n /** Reservation start time. */\r\n startTime: string | undefined;\r\n /** Optional reservation length parameter. Must be a multiple of 15 minutes. */\r\n reservationLengthMinutes: number | undefined;\r\n /** Space Type */\r\n spaceTypes: SpaceType;\r\n /** Optional Min Price constraint. */\r\n minPrice: number | undefined;\r\n /** Optional Max Price constraint. */\r\n maxPrice: number | undefined;\r\n /** Optional minimum workspace capacity constraint. */\r\n minCapacity: number | undefined;\r\n /** Optional requested amenities list. */\r\n amenityIds: string[] | undefined;\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport abstract class BaseSearchRequest extends CommonSearchRequest implements IBaseSearchRequest {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBaseSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BaseSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): BaseSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"GeoSearchRequest\") {\r\n let result = new GeoSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"CurrentLocationSearchRequest\") {\r\n let result = new CurrentLocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"FullTextSearchRequest\") {\r\n let result = new FullTextSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueSearchRequest\") {\r\n let result = new VenueSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueGroupSearchRequest\") {\r\n let result = new VenueGroupSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"LocationSearchRequest\") {\r\n let result = new LocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'BaseSearchRequest' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport interface IBaseSearchRequest extends ICommonSearchRequest {\r\n}\r\n\r\n/** Search query by geocoded address */\r\nexport class GeoSearchRequest extends BaseSearchRequest implements IGeoSearchRequest {\r\n /** Address string to geocode */\r\n address!: string;\r\n\r\n constructor(data?: IGeoSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"GeoSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeoSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeoSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Search query by geocoded address */\r\nexport interface IGeoSearchRequest extends IBaseSearchRequest {\r\n /** Address string to geocode */\r\n address: string;\r\n}\r\n\r\n/** Server-side will use client IP-address to make location query. */\r\nexport class CurrentLocationSearchRequest extends BaseSearchRequest implements ICurrentLocationSearchRequest {\r\n\r\n constructor(data?: ICurrentLocationSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CurrentLocationSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): CurrentLocationSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CurrentLocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Server-side will use client IP-address to make location query. */\r\nexport interface ICurrentLocationSearchRequest extends IBaseSearchRequest {\r\n}\r\n\r\n/** Full-text search query */\r\nexport class FullTextSearchRequest extends BaseSearchRequest implements IFullTextSearchRequest {\r\n fullTextQuery!: string;\r\n\r\n constructor(data?: IFullTextSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"FullTextSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.fullTextQuery = _data[\"fullTextQuery\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FullTextSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FullTextSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullTextQuery\"] = this.fullTextQuery;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Full-text search query */\r\nexport interface IFullTextSearchRequest extends IBaseSearchRequest {\r\n fullTextQuery: string;\r\n}\r\n\r\n/** Request to query specific venue availability */\r\nexport class VenueSearchRequest extends BaseSearchRequest implements IVenueSearchRequest {\r\n /** Venue ID to search within. */\r\n venueId!: string;\r\n\r\n constructor(data?: IVenueSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Request to query specific venue availability */\r\nexport interface IVenueSearchRequest extends IBaseSearchRequest {\r\n /** Venue ID to search within. */\r\n venueId: string;\r\n}\r\n\r\n/** Request to query venues from spcifig Venue Group */\r\nexport class VenueGroupSearchRequest extends BaseSearchRequest implements IVenueGroupSearchRequest {\r\n /** Venue Group ID to search within. */\r\n venueGroupId!: string;\r\n\r\n constructor(data?: IVenueGroupSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueGroupSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Request to query venues from spcifig Venue Group */\r\nexport interface IVenueGroupSearchRequest extends IBaseSearchRequest {\r\n /** Venue Group ID to search within. */\r\n venueGroupId: string;\r\n}\r\n\r\n/** Search by latitude and longitude with optional radius */\r\nexport class LocationSearchRequest extends BaseSearchRequest implements ILocationSearchRequest {\r\n latitude!: number;\r\n longitude!: number;\r\n /** Search radius. Defaults to 20 miles (41667 meters) */\r\n radius!: number | undefined;\r\n\r\n constructor(data?: ILocationSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"LocationSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.radius = _data[\"radius\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"radius\"] = this.radius;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Search by latitude and longitude with optional radius */\r\nexport interface ILocationSearchRequest extends IBaseSearchRequest {\r\n latitude: number;\r\n longitude: number;\r\n /** Search radius. Defaults to 20 miles (41667 meters) */\r\n radius: number | undefined;\r\n}\r\n\r\nexport class SavedSearchRequestMetadata implements ISavedSearchRequestMetadata {\r\n prdefinedText!: string | undefined;\r\n sourceType!: SavedSearchSourceType;\r\n\r\n constructor(data?: ISavedSearchRequestMetadata) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.prdefinedText = _data[\"prdefinedText\"];\r\n this.sourceType = _data[\"sourceType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequestMetadata {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequestMetadata();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"prdefinedText\"] = this.prdefinedText;\r\n data[\"sourceType\"] = this.sourceType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchRequestMetadata {\r\n prdefinedText: string | undefined;\r\n sourceType: SavedSearchSourceType;\r\n}\r\n\r\nexport abstract class BaseSearchAutocomplete implements IBaseSearchAutocomplete {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBaseSearchAutocomplete) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BaseSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): BaseSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"GeoSearchAutocomplete\") {\r\n let result = new GeoSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueSearchAutocomplete\") {\r\n let result = new VenueSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"CollectionSearchAutocomplete\") {\r\n let result = new CollectionSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"SavedSearchRequestAutocomplete\") {\r\n let result = new SavedSearchRequestAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueGroupSearchAutocomplete\") {\r\n let result = new VenueGroupSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'BaseSearchAutocomplete' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseSearchAutocomplete {\r\n}\r\n\r\nexport class GeoSearchAutocomplete extends BaseSearchAutocomplete implements IGeoSearchAutocomplete {\r\n /** Location string */\r\n geoQuery!: string;\r\n\r\n constructor(data?: IGeoSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"GeoSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.geoQuery = _data[\"geoQuery\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeoSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeoSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"geoQuery\"] = this.geoQuery;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeoSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Location string */\r\n geoQuery: string;\r\n}\r\n\r\nexport class VenueSearchAutocomplete extends BaseSearchAutocomplete implements IVenueSearchAutocomplete {\r\n /** Venue Name */\r\n venueName!: string;\r\n /** Venue ID */\r\n venueId!: string;\r\n /** Is venue from preferred list */\r\n isPreferred!: boolean;\r\n\r\n constructor(data?: IVenueSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueName = _data[\"venueName\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.isPreferred = _data[\"isPreferred\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"isPreferred\"] = this.isPreferred;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Venue Name */\r\n venueName: string;\r\n /** Venue ID */\r\n venueId: string;\r\n /** Is venue from preferred list */\r\n isPreferred: boolean;\r\n}\r\n\r\nexport class CollectionSearchAutocomplete extends BaseSearchAutocomplete implements ICollectionSearchAutocomplete {\r\n /** Collection Name */\r\n collectionName!: string;\r\n /** Collection ID */\r\n collectionId!: string;\r\n /** Number of items in collection */\r\n favoritesCount!: number;\r\n\r\n constructor(data?: ICollectionSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CollectionSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.collectionName = _data[\"collectionName\"];\r\n this.collectionId = _data[\"collectionId\"];\r\n this.favoritesCount = _data[\"favoritesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CollectionSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CollectionSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"collectionName\"] = this.collectionName;\r\n data[\"collectionId\"] = this.collectionId;\r\n data[\"favoritesCount\"] = this.favoritesCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICollectionSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Collection Name */\r\n collectionName: string;\r\n /** Collection ID */\r\n collectionId: string;\r\n /** Number of items in collection */\r\n favoritesCount: number;\r\n}\r\n\r\nexport class SavedSearchRequestAutocomplete extends BaseSearchAutocomplete implements ISavedSearchRequestAutocomplete {\r\n predefinedText!: string | undefined;\r\n /** SavedSearch ID */\r\n savedSearchId!: string;\r\n\r\n constructor(data?: ISavedSearchRequestAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"SavedSearchRequestAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.predefinedText = _data[\"predefinedText\"];\r\n this.savedSearchId = _data[\"savedSearchId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequestAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequestAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"predefinedText\"] = this.predefinedText;\r\n data[\"savedSearchId\"] = this.savedSearchId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchRequestAutocomplete extends IBaseSearchAutocomplete {\r\n predefinedText: string | undefined;\r\n /** SavedSearch ID */\r\n savedSearchId: string;\r\n}\r\n\r\nexport class VenueGroupSearchAutocomplete extends BaseSearchAutocomplete implements IVenueGroupSearchAutocomplete {\r\n /** Venue Group Name */\r\n venueGroupName!: string;\r\n /** Venue Group ID */\r\n venueGroupId!: string;\r\n /** Is Venue Group from preferred list */\r\n isPreferred!: boolean;\r\n /** Venue Group icon URL */\r\n iconUrl!: string | undefined;\r\n /** Number of venues in group */\r\n venuesCount!: number;\r\n\r\n constructor(data?: IVenueGroupSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueGroupSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueGroupName = _data[\"venueGroupName\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.isPreferred = _data[\"isPreferred\"];\r\n this.iconUrl = _data[\"iconUrl\"];\r\n this.venuesCount = _data[\"venuesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueGroupName\"] = this.venueGroupName;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"isPreferred\"] = this.isPreferred;\r\n data[\"iconUrl\"] = this.iconUrl;\r\n data[\"venuesCount\"] = this.venuesCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Venue Group Name */\r\n venueGroupName: string;\r\n /** Venue Group ID */\r\n venueGroupId: string;\r\n /** Is Venue Group from preferred list */\r\n isPreferred: boolean;\r\n /** Venue Group icon URL */\r\n iconUrl: string | undefined;\r\n /** Number of venues in group */\r\n venuesCount: number;\r\n}\r\n\r\nexport class SearchQueryAutocomplete implements ISearchQueryAutocomplete {\r\n /** Search location string */\r\n location!: string | undefined;\r\n /** optional workspace Type constraint */\r\n spaceType!: SpaceType | undefined;\r\n /** Optional minimum workspace capacity constraint */\r\n minCapacity!: number | undefined;\r\n /** Optional reservation start date */\r\n startDate!: string | undefined;\r\n\r\n constructor(data?: ISearchQueryAutocomplete) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.location = _data[\"location\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n this.startDate = _data[\"startDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchQueryAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchQueryAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"location\"] = this.location;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n data[\"startDate\"] = this.startDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchQueryAutocomplete {\r\n /** Search location string */\r\n location: string | undefined;\r\n /** optional workspace Type constraint */\r\n spaceType: SpaceType | undefined;\r\n /** Optional minimum workspace capacity constraint */\r\n minCapacity: number | undefined;\r\n /** Optional reservation start date */\r\n startDate: string | undefined;\r\n}\r\n\r\nexport class VenuesSearchResult implements IVenuesSearchResult {\r\n geoLocation!: VenuesSearchResultGeoLocation | undefined;\r\n venues!: VenueSearchResult[];\r\n\r\n constructor(data?: IVenuesSearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.geoLocation = _data[\"geoLocation\"] ? VenuesSearchResultGeoLocation.fromJS(_data[\"geoLocation\"]) : undefined;\r\n if (Array.isArray(_data[\"venues\"])) {\r\n this.venues = [] as any;\r\n for (let item of _data[\"venues\"])\r\n this.venues!.push(VenueSearchResult.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuesSearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuesSearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"geoLocation\"] = this.geoLocation ? this.geoLocation.toJSON() : undefined;\r\n if (Array.isArray(this.venues)) {\r\n data[\"venues\"] = [];\r\n for (let item of this.venues)\r\n data[\"venues\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuesSearchResult {\r\n geoLocation: VenuesSearchResultGeoLocation | undefined;\r\n venues: VenueSearchResult[];\r\n}\r\n\r\nexport class VenuesSearchResultGeoLocation implements IVenuesSearchResultGeoLocation {\r\n latitude!: number;\r\n longitude!: number;\r\n\r\n constructor(data?: IVenuesSearchResultGeoLocation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuesSearchResultGeoLocation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuesSearchResultGeoLocation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuesSearchResultGeoLocation {\r\n latitude: number;\r\n longitude: number;\r\n}\r\n\r\n/** Geo or Current Location search request */\r\nexport class DefaultSearchRequest extends CommonSearchRequest implements IDefaultSearchRequest {\r\n /** Address string to geocode */\r\n address!: string | undefined;\r\n\r\n constructor(data?: IDefaultSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DefaultSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DefaultSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Geo or Current Location search request */\r\nexport interface IDefaultSearchRequest extends ICommonSearchRequest {\r\n /** Address string to geocode */\r\n address: string | undefined;\r\n}\r\n\r\n/** Provides necessary metadata to properly display search UI for current user */\r\nexport class SearchConfig implements ISearchConfig {\r\n /** Immutable search options (usually configured by account admin) */\r\n immutableOptions!: ExtendedSearchOptionsConfigModel | undefined;\r\n /** Search geofences */\r\n geofences!: SearchGeofence[];\r\n /** LIst of approved member groups */\r\n approvedMemberGroups!: ApprovedMemberGroup[];\r\n /** Searchable amenities */\r\n amenities!: AmenityModel[];\r\n\r\n constructor(data?: ISearchConfig) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.immutableOptions = _data[\"immutableOptions\"] ? ExtendedSearchOptionsConfigModel.fromJS(_data[\"immutableOptions\"]) : undefined;\r\n if (Array.isArray(_data[\"geofences\"])) {\r\n this.geofences = [] as any;\r\n for (let item of _data[\"geofences\"])\r\n this.geofences!.push(SearchGeofence.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"approvedMemberGroups\"])) {\r\n this.approvedMemberGroups = [] as any;\r\n for (let item of _data[\"approvedMemberGroups\"])\r\n this.approvedMemberGroups!.push(ApprovedMemberGroup.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"amenities\"])) {\r\n this.amenities = [] as any;\r\n for (let item of _data[\"amenities\"])\r\n this.amenities!.push(AmenityModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchConfig {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchConfig();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"immutableOptions\"] = this.immutableOptions ? this.immutableOptions.toJSON() : undefined;\r\n if (Array.isArray(this.geofences)) {\r\n data[\"geofences\"] = [];\r\n for (let item of this.geofences)\r\n data[\"geofences\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.approvedMemberGroups)) {\r\n data[\"approvedMemberGroups\"] = [];\r\n for (let item of this.approvedMemberGroups)\r\n data[\"approvedMemberGroups\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.amenities)) {\r\n data[\"amenities\"] = [];\r\n for (let item of this.amenities)\r\n data[\"amenities\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\n/** Provides necessary metadata to properly display search UI for current user */\r\nexport interface ISearchConfig {\r\n /** Immutable search options (usually configured by account admin) */\r\n immutableOptions: ExtendedSearchOptionsConfigModel | undefined;\r\n /** Search geofences */\r\n geofences: SearchGeofence[];\r\n /** LIst of approved member groups */\r\n approvedMemberGroups: ApprovedMemberGroup[];\r\n /** Searchable amenities */\r\n amenities: AmenityModel[];\r\n}\r\n\r\nexport class ExtendedSearchOptionsConfigModel implements IExtendedSearchOptionsConfigModel {\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n spaceTypes!: SpaceType;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n liquidSpacePro!: boolean;\r\n immutableOptions!: ForceableExtendedSearchOptionsProperties[];\r\n\r\n constructor(data?: IExtendedSearchOptionsConfigModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.liquidSpacePro = _data[\"liquidSpacePro\"];\r\n if (Array.isArray(_data[\"immutableOptions\"])) {\r\n this.immutableOptions = [] as any;\r\n for (let item of _data[\"immutableOptions\"])\r\n this.immutableOptions!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtendedSearchOptionsConfigModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtendedSearchOptionsConfigModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"liquidSpacePro\"] = this.liquidSpacePro;\r\n if (Array.isArray(this.immutableOptions)) {\r\n data[\"immutableOptions\"] = [];\r\n for (let item of this.immutableOptions)\r\n data[\"immutableOptions\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtendedSearchOptionsConfigModel {\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n spaceTypes: SpaceType;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n liquidSpacePro: boolean;\r\n immutableOptions: ForceableExtendedSearchOptionsProperties[];\r\n}\r\n\r\nexport class SearchGeofence implements ISearchGeofence {\r\n latitude!: number;\r\n longitude!: number;\r\n radiusMeters!: number;\r\n message!: string;\r\n venueName!: string;\r\n venueAddress!: string;\r\n venueUrl!: string;\r\n imageUrl!: string;\r\n venueId!: string;\r\n customCTA!: SearchGeofenceCustomCTA | undefined;\r\n\r\n constructor(data?: ISearchGeofence) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.radiusMeters = _data[\"radiusMeters\"];\r\n this.message = _data[\"message\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n this.venueUrl = _data[\"venueUrl\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.customCTA = _data[\"customCTA\"] ? SearchGeofenceCustomCTA.fromJS(_data[\"customCTA\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchGeofence {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchGeofence();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"radiusMeters\"] = this.radiusMeters;\r\n data[\"message\"] = this.message;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n data[\"venueUrl\"] = this.venueUrl;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"customCTA\"] = this.customCTA ? this.customCTA.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchGeofence {\r\n latitude: number;\r\n longitude: number;\r\n radiusMeters: number;\r\n message: string;\r\n venueName: string;\r\n venueAddress: string;\r\n venueUrl: string;\r\n imageUrl: string;\r\n venueId: string;\r\n customCTA: SearchGeofenceCustomCTA | undefined;\r\n}\r\n\r\nexport class SearchGeofenceCustomCTA implements ISearchGeofenceCustomCTA {\r\n text!: string;\r\n url!: string;\r\n\r\n constructor(data?: ISearchGeofenceCustomCTA) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchGeofenceCustomCTA {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchGeofenceCustomCTA();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchGeofenceCustomCTA {\r\n text: string;\r\n url: string;\r\n}\r\n\r\nexport class ApprovedMemberGroup implements IApprovedMemberGroup {\r\n name!: string | undefined;\r\n isImmutable!: boolean;\r\n displayPreferred!: boolean;\r\n id!: string;\r\n\r\n constructor(data?: IApprovedMemberGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.isImmutable = _data[\"isImmutable\"];\r\n this.displayPreferred = _data[\"displayPreferred\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApprovedMemberGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApprovedMemberGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"isImmutable\"] = this.isImmutable;\r\n data[\"displayPreferred\"] = this.displayPreferred;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IApprovedMemberGroup {\r\n name: string | undefined;\r\n isImmutable: boolean;\r\n displayPreferred: boolean;\r\n id: string;\r\n}\r\n\r\nexport class AmenityModel implements IAmenityModel {\r\n id!: string;\r\n name!: string | undefined;\r\n hourlyMonthly!: HourlyMonthly;\r\n\r\n constructor(data?: IAmenityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.hourlyMonthly = _data[\"hourlyMonthly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AmenityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AmenityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"hourlyMonthly\"] = this.hourlyMonthly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAmenityModel {\r\n id: string;\r\n name: string | undefined;\r\n hourlyMonthly: HourlyMonthly;\r\n}\r\n\r\nexport class InviteGuestsViewModel implements IInviteGuestsViewModel {\r\n reservationId!: string;\r\n sendInvites!: boolean;\r\n meetingTitle!: string | undefined;\r\n securityCode!: string | undefined;\r\n guests!: Guest[];\r\n\r\n constructor(data?: IInviteGuestsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n this.sendInvites = _data[\"sendInvites\"];\r\n this.meetingTitle = _data[\"meetingTitle\"];\r\n this.securityCode = _data[\"securityCode\"];\r\n if (Array.isArray(_data[\"guests\"])) {\r\n this.guests = [] as any;\r\n for (let item of _data[\"guests\"])\r\n this.guests!.push(Guest.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InviteGuestsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InviteGuestsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"sendInvites\"] = this.sendInvites;\r\n data[\"meetingTitle\"] = this.meetingTitle;\r\n data[\"securityCode\"] = this.securityCode;\r\n if (Array.isArray(this.guests)) {\r\n data[\"guests\"] = [];\r\n for (let item of this.guests)\r\n data[\"guests\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInviteGuestsViewModel {\r\n reservationId: string;\r\n sendInvites: boolean;\r\n meetingTitle: string | undefined;\r\n securityCode: string | undefined;\r\n guests: Guest[];\r\n}\r\n\r\nexport class Guest implements IGuest {\r\n fullName!: string;\r\n email!: string;\r\n\r\n constructor(data?: IGuest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Guest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Guest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGuest {\r\n fullName: string;\r\n email: string;\r\n}\r\n\r\nexport class ReservationPager implements IReservationPager {\r\n /** Total reservations count */\r\n total!: number;\r\n /** List of page tokens */\r\n data!: string[];\r\n\r\n constructor(data?: IReservationPager) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.total = _data[\"total\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationPager {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationPager();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"total\"] = this.total;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationPager {\r\n /** Total reservations count */\r\n total: number;\r\n /** List of page tokens */\r\n data: string[];\r\n}\r\n\r\nexport class ReservationPagerRequest implements IReservationPagerRequest {\r\n /** Type of reservations: All, Future, Past */\r\n reservationTimeType!: ReservationTimeType;\r\n /** Member that actually created reservation. Suitable when quering Book-on-bahalf reservations */\r\n reservationsOwnerId!: string | undefined;\r\n /** End date */\r\n reservationEndTimeFilter!: string | undefined;\r\n /** Start date */\r\n reservationStartTimeFilter!: string | undefined;\r\n /** Reservation per page */\r\n countOnPage!: number;\r\n\r\n constructor(data?: IReservationPagerRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationTimeType = _data[\"reservationTimeType\"];\r\n this.reservationsOwnerId = _data[\"reservationsOwnerId\"];\r\n this.reservationEndTimeFilter = _data[\"reservationEndTimeFilter\"];\r\n this.reservationStartTimeFilter = _data[\"reservationStartTimeFilter\"];\r\n this.countOnPage = _data[\"countOnPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationPagerRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationPagerRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationTimeType\"] = this.reservationTimeType;\r\n data[\"reservationsOwnerId\"] = this.reservationsOwnerId;\r\n data[\"reservationEndTimeFilter\"] = this.reservationEndTimeFilter;\r\n data[\"reservationStartTimeFilter\"] = this.reservationStartTimeFilter;\r\n data[\"countOnPage\"] = this.countOnPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationPagerRequest {\r\n /** Type of reservations: All, Future, Past */\r\n reservationTimeType: ReservationTimeType;\r\n /** Member that actually created reservation. Suitable when quering Book-on-bahalf reservations */\r\n reservationsOwnerId: string | undefined;\r\n /** End date */\r\n reservationEndTimeFilter: string | undefined;\r\n /** Start date */\r\n reservationStartTimeFilter: string | undefined;\r\n /** Reservation per page */\r\n countOnPage: number;\r\n}\r\n\r\nexport class EditReservationResponse implements IEditReservationResponse {\r\n id!: string;\r\n occurrenceDate!: string | undefined;\r\n\r\n constructor(data?: IEditReservationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditReservationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditReservationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditReservationResponse {\r\n id: string;\r\n occurrenceDate: string | undefined;\r\n}\r\n\r\nexport class EditReservationRequest implements IEditReservationRequest {\r\n patch!: Operation[];\r\n deviceData!: string | undefined;\r\n totalPrice!: number | undefined;\r\n terminateWhenTotalPriceMismatch!: boolean | undefined;\r\n changeWorkspaceRequest!: ChangeWorkspaceRequest | undefined;\r\n reservationSourcePage!: string | undefined;\r\n\r\n constructor(data?: IEditReservationRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"patch\"])) {\r\n this.patch = [] as any;\r\n for (let item of _data[\"patch\"])\r\n this.patch!.push(Operation.fromJS(item));\r\n }\r\n this.deviceData = _data[\"deviceData\"];\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.terminateWhenTotalPriceMismatch = _data[\"terminateWhenTotalPriceMismatch\"];\r\n this.changeWorkspaceRequest = _data[\"changeWorkspaceRequest\"] ? ChangeWorkspaceRequest.fromJS(_data[\"changeWorkspaceRequest\"]) : undefined;\r\n this.reservationSourcePage = _data[\"reservationSourcePage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.patch)) {\r\n data[\"patch\"] = [];\r\n for (let item of this.patch)\r\n data[\"patch\"].push(item.toJSON());\r\n }\r\n data[\"deviceData\"] = this.deviceData;\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"terminateWhenTotalPriceMismatch\"] = this.terminateWhenTotalPriceMismatch;\r\n data[\"changeWorkspaceRequest\"] = this.changeWorkspaceRequest ? this.changeWorkspaceRequest.toJSON() : undefined;\r\n data[\"reservationSourcePage\"] = this.reservationSourcePage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditReservationRequest {\r\n patch: Operation[];\r\n deviceData: string | undefined;\r\n totalPrice: number | undefined;\r\n terminateWhenTotalPriceMismatch: boolean | undefined;\r\n changeWorkspaceRequest: ChangeWorkspaceRequest | undefined;\r\n reservationSourcePage: string | undefined;\r\n}\r\n\r\nexport class ReservationRaw implements IReservationRaw {\r\n id!: string;\r\n ownerId!: string;\r\n venueId!: string;\r\n workspaceId!: string;\r\n startTime!: string;\r\n\r\n constructor(data?: IReservationRaw) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.startTime = _data[\"startTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationRaw {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationRaw();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"startTime\"] = this.startTime;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRaw {\r\n id: string;\r\n ownerId: string;\r\n venueId: string;\r\n workspaceId: string;\r\n startTime: string;\r\n}\r\n\r\nexport abstract class ReservationRequest implements IReservationRequest {\r\n venueId!: string;\r\n workspaceId!: string;\r\n name!: string | undefined;\r\n /** Admin or SU notes */\r\n notes!: string | undefined;\r\n organizer!: ReservationOrganizer;\r\n amenities!: string[];\r\n paymentMethod!: PaymentMethodDescriptor | undefined;\r\n reservationSourcePage!: string | undefined;\r\n campaignTrackingDetails!: { [key: string]: string; } | undefined;\r\n totalPrice!: number | undefined;\r\n terminateWhenTotalPriceMismatch!: boolean | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences!: ReservationIntegrationReferences | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.name = _data[\"name\"];\r\n this.notes = _data[\"notes\"];\r\n this.organizer = _data[\"organizer\"] ? ReservationOrganizer.fromJS(_data[\"organizer\"]) : undefined;\r\n if (Array.isArray(_data[\"amenities\"])) {\r\n this.amenities = [] as any;\r\n for (let item of _data[\"amenities\"])\r\n this.amenities!.push(item);\r\n }\r\n this.paymentMethod = _data[\"paymentMethod\"] ? PaymentMethodDescriptor.fromJS(_data[\"paymentMethod\"]) : undefined;\r\n this.reservationSourcePage = _data[\"reservationSourcePage\"];\r\n if (_data[\"campaignTrackingDetails\"]) {\r\n this.campaignTrackingDetails = {} as any;\r\n for (let key in _data[\"campaignTrackingDetails\"]) {\r\n if (_data[\"campaignTrackingDetails\"].hasOwnProperty(key))\r\n (this.campaignTrackingDetails)![key] = _data[\"campaignTrackingDetails\"][key];\r\n }\r\n }\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.terminateWhenTotalPriceMismatch = _data[\"terminateWhenTotalPriceMismatch\"];\r\n this.integrationReferences = _data[\"integrationReferences\"] ? ReservationIntegrationReferences.fromJS(_data[\"integrationReferences\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"HourlyReservationRequest\") {\r\n let result = new HourlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DaypassReservationRequest\") {\r\n let result = new DaypassReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"MonthlyReservationRequest\") {\r\n let result = new MonthlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationRequest' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"name\"] = this.name;\r\n data[\"notes\"] = this.notes;\r\n data[\"organizer\"] = this.organizer ? this.organizer.toJSON() : undefined;\r\n if (Array.isArray(this.amenities)) {\r\n data[\"amenities\"] = [];\r\n for (let item of this.amenities)\r\n data[\"amenities\"].push(item);\r\n }\r\n data[\"paymentMethod\"] = this.paymentMethod ? this.paymentMethod.toJSON() : undefined;\r\n data[\"reservationSourcePage\"] = this.reservationSourcePage;\r\n if (this.campaignTrackingDetails) {\r\n data[\"campaignTrackingDetails\"] = {};\r\n for (let key in this.campaignTrackingDetails) {\r\n if (this.campaignTrackingDetails.hasOwnProperty(key))\r\n (data[\"campaignTrackingDetails\"])[key] = (this.campaignTrackingDetails)[key];\r\n }\r\n }\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"terminateWhenTotalPriceMismatch\"] = this.terminateWhenTotalPriceMismatch;\r\n data[\"integrationReferences\"] = this.integrationReferences ? this.integrationReferences.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRequest {\r\n venueId: string;\r\n workspaceId: string;\r\n name: string | undefined;\r\n /** Admin or SU notes */\r\n notes: string | undefined;\r\n organizer: ReservationOrganizer;\r\n amenities: string[];\r\n paymentMethod: PaymentMethodDescriptor | undefined;\r\n reservationSourcePage: string | undefined;\r\n campaignTrackingDetails: { [key: string]: string; } | undefined;\r\n totalPrice: number | undefined;\r\n terminateWhenTotalPriceMismatch: boolean | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences: ReservationIntegrationReferences | undefined;\r\n}\r\n\r\nexport abstract class ReservationOrganizer implements IReservationOrganizer {\r\n fullName!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n company!: string | undefined;\r\n address!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n postalCode!: string | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationOrganizer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationOrganizer\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.company = _data[\"company\"];\r\n this.address = _data[\"address\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationOrganizer {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"AnonymousReservationOrganizer\") {\r\n let result = new AnonymousReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"AuthenticatedReservationOrganizer\") {\r\n let result = new AuthenticatedReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationOrganizer' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"company\"] = this.company;\r\n data[\"address\"] = this.address;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n data[\"postalCode\"] = this.postalCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationOrganizer {\r\n fullName: string | undefined;\r\n phoneNumber: string | undefined;\r\n company: string | undefined;\r\n address: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n postalCode: string | undefined;\r\n}\r\n\r\nexport class AnonymousReservationOrganizer extends ReservationOrganizer implements IAnonymousReservationOrganizer {\r\n email!: string;\r\n\r\n constructor(data?: IAnonymousReservationOrganizer) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"AnonymousReservationOrganizer\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnonymousReservationOrganizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnonymousReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnonymousReservationOrganizer extends IReservationOrganizer {\r\n email: string;\r\n}\r\n\r\nexport class AuthenticatedReservationOrganizer extends ReservationOrganizer implements IAuthenticatedReservationOrganizer {\r\n id!: string;\r\n\r\n constructor(data?: IAuthenticatedReservationOrganizer) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"AuthenticatedReservationOrganizer\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticatedReservationOrganizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticatedReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAuthenticatedReservationOrganizer extends IReservationOrganizer {\r\n id: string;\r\n}\r\n\r\nexport class HourlyReservationRequest extends ReservationRequest implements IHourlyReservationRequest {\r\n details!: HourlyReservationDetails;\r\n promotion!: ReservationPromotion | undefined;\r\n\r\n constructor(data?: IHourlyReservationRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"HourlyReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.details = _data[\"details\"] ? HourlyReservationDetails.fromJS(_data[\"details\"]) : undefined;\r\n this.promotion = _data[\"promotion\"] ? ReservationPromotion.fromJS(_data[\"promotion\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n data[\"promotion\"] = this.promotion ? this.promotion.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyReservationRequest extends IReservationRequest {\r\n details: HourlyReservationDetails;\r\n promotion: ReservationPromotion | undefined;\r\n}\r\n\r\nexport class DaypassReservationRequest extends ReservationRequest implements IDaypassReservationRequest {\r\n details!: DaypassReservationDetails;\r\n promotion!: ReservationPromotion | undefined;\r\n\r\n constructor(data?: IDaypassReservationRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"DaypassReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.details = _data[\"details\"] ? DaypassReservationDetails.fromJS(_data[\"details\"]) : undefined;\r\n this.promotion = _data[\"promotion\"] ? ReservationPromotion.fromJS(_data[\"promotion\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DaypassReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DaypassReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n data[\"promotion\"] = this.promotion ? this.promotion.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDaypassReservationRequest extends IReservationRequest {\r\n details: DaypassReservationDetails;\r\n promotion: ReservationPromotion | undefined;\r\n}\r\n\r\nexport class MonthlyReservationRequest extends ReservationRequest implements IMonthlyReservationRequest {\r\n details!: MonthlyReservationDetails;\r\n\r\n constructor(data?: IMonthlyReservationRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"MonthlyReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.details = _data[\"details\"] ? MonthlyReservationDetails.fromJS(_data[\"details\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MonthlyReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MonthlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMonthlyReservationRequest extends IReservationRequest {\r\n details: MonthlyReservationDetails;\r\n}\r\n\r\nexport class CreateReservationResponse implements ICreateReservationResponse {\r\n id!: string;\r\n securityCode!: string;\r\n\r\n constructor(data?: ICreateReservationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.securityCode = _data[\"securityCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateReservationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateReservationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"securityCode\"] = this.securityCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateReservationResponse {\r\n id: string;\r\n securityCode: string;\r\n}\r\n\r\nexport class VenueConfirmationViewModel implements IVenueConfirmationViewModel {\r\n status!: VenueConfirmationStatus;\r\n date!: string | undefined;\r\n authorFullName!: string | undefined;\r\n urgency!: HourlyReservationUrgencyStatus;\r\n\r\n constructor(data?: IVenueConfirmationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.status = _data[\"status\"];\r\n this.date = _data[\"date\"];\r\n this.authorFullName = _data[\"authorFullName\"];\r\n this.urgency = _data[\"urgency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueConfirmationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueConfirmationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"status\"] = this.status;\r\n data[\"date\"] = this.date;\r\n data[\"authorFullName\"] = this.authorFullName;\r\n data[\"urgency\"] = this.urgency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueConfirmationViewModel {\r\n status: VenueConfirmationStatus;\r\n date: string | undefined;\r\n authorFullName: string | undefined;\r\n urgency: HourlyReservationUrgencyStatus;\r\n}\r\n\r\nexport class PromotionListItemViewModel implements IPromotionListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n code!: string;\r\n redemptionsCount!: number;\r\n activeDate!: string;\r\n expirationDate!: string;\r\n\r\n constructor(data?: IPromotionListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.code = _data[\"code\"];\r\n this.redemptionsCount = _data[\"redemptionsCount\"];\r\n this.activeDate = _data[\"activeDate\"];\r\n this.expirationDate = _data[\"expirationDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"code\"] = this.code;\r\n data[\"redemptionsCount\"] = this.redemptionsCount;\r\n data[\"activeDate\"] = this.activeDate;\r\n data[\"expirationDate\"] = this.expirationDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionListItemViewModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n code: string;\r\n redemptionsCount: number;\r\n activeDate: string;\r\n expirationDate: string;\r\n}\r\n\r\nexport class PromotionSettingsViewModel implements IPromotionSettingsViewModel {\r\n name!: string;\r\n code!: string;\r\n promotionPageLink!: string | undefined;\r\n description!: string | undefined;\r\n legalDescription!: string | undefined;\r\n searchDescription!: string | undefined;\r\n discountType!: PromotionDiscountType;\r\n discountAmount!: number;\r\n isPaidByLiquidspace!: boolean;\r\n maximumSavings!: number;\r\n activeDate!: string;\r\n expirationDate!: string;\r\n reservationWindowStartTime!: string | undefined;\r\n reservationWindowEndTime!: string | undefined;\r\n /** Coupon Cookie Expiration (days) */\r\n couponCookieExpiration!: number | undefined;\r\n maxNumberRedemptionsTotal!: number;\r\n maxNumberRedemptionsPerUser!: number;\r\n firstTimeUserOnly!: boolean;\r\n nonOriginatedVenueOnly!: boolean;\r\n firstTimeVisitNonOriginatedVenue!: boolean;\r\n creditCardOnly!: boolean;\r\n creditCardTypes!: CreditCardTypeType[];\r\n memberInvitedOnly!: boolean;\r\n /** Valid after member create date (days) */\r\n daysValidAfterMemberCreation!: number;\r\n mobileOnly!: boolean;\r\n membershipPromotionType!: MembershipPromotionType;\r\n additionalInfoRequired!: boolean;\r\n additionalInfoPlaceholderText!: string | undefined;\r\n workspaceScenarioIds!: string[];\r\n\r\n constructor(data?: IPromotionSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.promotionPageLink = _data[\"promotionPageLink\"];\r\n this.description = _data[\"description\"];\r\n this.legalDescription = _data[\"legalDescription\"];\r\n this.searchDescription = _data[\"searchDescription\"];\r\n this.discountType = _data[\"discountType\"];\r\n this.discountAmount = _data[\"discountAmount\"];\r\n this.isPaidByLiquidspace = _data[\"isPaidByLiquidspace\"];\r\n this.maximumSavings = _data[\"maximumSavings\"];\r\n this.activeDate = _data[\"activeDate\"];\r\n this.expirationDate = _data[\"expirationDate\"];\r\n this.reservationWindowStartTime = _data[\"reservationWindowStartTime\"];\r\n this.reservationWindowEndTime = _data[\"reservationWindowEndTime\"];\r\n this.couponCookieExpiration = _data[\"couponCookieExpiration\"];\r\n this.maxNumberRedemptionsTotal = _data[\"maxNumberRedemptionsTotal\"];\r\n this.maxNumberRedemptionsPerUser = _data[\"maxNumberRedemptionsPerUser\"];\r\n this.firstTimeUserOnly = _data[\"firstTimeUserOnly\"];\r\n this.nonOriginatedVenueOnly = _data[\"nonOriginatedVenueOnly\"];\r\n this.firstTimeVisitNonOriginatedVenue = _data[\"firstTimeVisitNonOriginatedVenue\"];\r\n this.creditCardOnly = _data[\"creditCardOnly\"];\r\n if (Array.isArray(_data[\"creditCardTypes\"])) {\r\n this.creditCardTypes = [] as any;\r\n for (let item of _data[\"creditCardTypes\"])\r\n this.creditCardTypes!.push(item);\r\n }\r\n this.memberInvitedOnly = _data[\"memberInvitedOnly\"];\r\n this.daysValidAfterMemberCreation = _data[\"daysValidAfterMemberCreation\"];\r\n this.mobileOnly = _data[\"mobileOnly\"];\r\n this.membershipPromotionType = _data[\"membershipPromotionType\"];\r\n this.additionalInfoRequired = _data[\"additionalInfoRequired\"];\r\n this.additionalInfoPlaceholderText = _data[\"additionalInfoPlaceholderText\"];\r\n if (Array.isArray(_data[\"workspaceScenarioIds\"])) {\r\n this.workspaceScenarioIds = [] as any;\r\n for (let item of _data[\"workspaceScenarioIds\"])\r\n this.workspaceScenarioIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"promotionPageLink\"] = this.promotionPageLink;\r\n data[\"description\"] = this.description;\r\n data[\"legalDescription\"] = this.legalDescription;\r\n data[\"searchDescription\"] = this.searchDescription;\r\n data[\"discountType\"] = this.discountType;\r\n data[\"discountAmount\"] = this.discountAmount;\r\n data[\"isPaidByLiquidspace\"] = this.isPaidByLiquidspace;\r\n data[\"maximumSavings\"] = this.maximumSavings;\r\n data[\"activeDate\"] = this.activeDate;\r\n data[\"expirationDate\"] = this.expirationDate;\r\n data[\"reservationWindowStartTime\"] = this.reservationWindowStartTime;\r\n data[\"reservationWindowEndTime\"] = this.reservationWindowEndTime;\r\n data[\"couponCookieExpiration\"] = this.couponCookieExpiration;\r\n data[\"maxNumberRedemptionsTotal\"] = this.maxNumberRedemptionsTotal;\r\n data[\"maxNumberRedemptionsPerUser\"] = this.maxNumberRedemptionsPerUser;\r\n data[\"firstTimeUserOnly\"] = this.firstTimeUserOnly;\r\n data[\"nonOriginatedVenueOnly\"] = this.nonOriginatedVenueOnly;\r\n data[\"firstTimeVisitNonOriginatedVenue\"] = this.firstTimeVisitNonOriginatedVenue;\r\n data[\"creditCardOnly\"] = this.creditCardOnly;\r\n if (Array.isArray(this.creditCardTypes)) {\r\n data[\"creditCardTypes\"] = [];\r\n for (let item of this.creditCardTypes)\r\n data[\"creditCardTypes\"].push(item);\r\n }\r\n data[\"memberInvitedOnly\"] = this.memberInvitedOnly;\r\n data[\"daysValidAfterMemberCreation\"] = this.daysValidAfterMemberCreation;\r\n data[\"mobileOnly\"] = this.mobileOnly;\r\n data[\"membershipPromotionType\"] = this.membershipPromotionType;\r\n data[\"additionalInfoRequired\"] = this.additionalInfoRequired;\r\n data[\"additionalInfoPlaceholderText\"] = this.additionalInfoPlaceholderText;\r\n if (Array.isArray(this.workspaceScenarioIds)) {\r\n data[\"workspaceScenarioIds\"] = [];\r\n for (let item of this.workspaceScenarioIds)\r\n data[\"workspaceScenarioIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionSettingsViewModel {\r\n name: string;\r\n code: string;\r\n promotionPageLink: string | undefined;\r\n description: string | undefined;\r\n legalDescription: string | undefined;\r\n searchDescription: string | undefined;\r\n discountType: PromotionDiscountType;\r\n discountAmount: number;\r\n isPaidByLiquidspace: boolean;\r\n maximumSavings: number;\r\n activeDate: string;\r\n expirationDate: string;\r\n reservationWindowStartTime: string | undefined;\r\n reservationWindowEndTime: string | undefined;\r\n /** Coupon Cookie Expiration (days) */\r\n couponCookieExpiration: number | undefined;\r\n maxNumberRedemptionsTotal: number;\r\n maxNumberRedemptionsPerUser: number;\r\n firstTimeUserOnly: boolean;\r\n nonOriginatedVenueOnly: boolean;\r\n firstTimeVisitNonOriginatedVenue: boolean;\r\n creditCardOnly: boolean;\r\n creditCardTypes: CreditCardTypeType[];\r\n memberInvitedOnly: boolean;\r\n /** Valid after member create date (days) */\r\n daysValidAfterMemberCreation: number;\r\n mobileOnly: boolean;\r\n membershipPromotionType: MembershipPromotionType;\r\n additionalInfoRequired: boolean;\r\n additionalInfoPlaceholderText: string | undefined;\r\n workspaceScenarioIds: string[];\r\n}\r\n\r\n/** 0 = FixedAmount 1 = Percentage */\r\nexport enum PromotionDiscountType {\r\n FixedAmount = 0,\r\n Percentage = 1,\r\n}\r\n\r\n/** 0 = None 1 = HomeVenue 2 = Reciprocal 3 = LiquidSpace */\r\nexport enum MembershipPromotionType {\r\n None = 0,\r\n HomeVenue = 1,\r\n Reciprocal = 2,\r\n LiquidSpace = 3,\r\n}\r\n\r\nexport class PromotionRedemptionListItemViewModel implements IPromotionRedemptionListItemViewModel {\r\n redemptionId!: string;\r\n redemptionDate!: string;\r\n userGuid!: string;\r\n reservationId!: string;\r\n occurrenceDate!: string | undefined;\r\n\r\n constructor(data?: IPromotionRedemptionListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.redemptionId = _data[\"redemptionId\"];\r\n this.redemptionDate = _data[\"redemptionDate\"];\r\n this.userGuid = _data[\"userGuid\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionRedemptionListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionRedemptionListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"redemptionId\"] = this.redemptionId;\r\n data[\"redemptionDate\"] = this.redemptionDate;\r\n data[\"userGuid\"] = this.userGuid;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionRedemptionListItemViewModel {\r\n redemptionId: string;\r\n redemptionDate: string;\r\n userGuid: string;\r\n reservationId: string;\r\n occurrenceDate: string | undefined;\r\n}\r\n\r\nexport class PromotionValidationResultViewModel implements IPromotionValidationResultViewModel {\r\n code!: string | undefined;\r\n isValid!: boolean;\r\n errorMessage!: string | undefined;\r\n additionalInfoRequired!: boolean;\r\n additionalInfoPlaceholderText!: string | undefined;\r\n\r\n constructor(data?: IPromotionValidationResultViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.isValid = _data[\"isValid\"];\r\n this.errorMessage = _data[\"errorMessage\"];\r\n this.additionalInfoRequired = _data[\"additionalInfoRequired\"];\r\n this.additionalInfoPlaceholderText = _data[\"additionalInfoPlaceholderText\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionValidationResultViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionValidationResultViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"isValid\"] = this.isValid;\r\n data[\"errorMessage\"] = this.errorMessage;\r\n data[\"additionalInfoRequired\"] = this.additionalInfoRequired;\r\n data[\"additionalInfoPlaceholderText\"] = this.additionalInfoPlaceholderText;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionValidationResultViewModel {\r\n code: string | undefined;\r\n isValid: boolean;\r\n errorMessage: string | undefined;\r\n additionalInfoRequired: boolean;\r\n additionalInfoPlaceholderText: string | undefined;\r\n}\r\n\r\nexport class PromotionMemberGroupListItemViewModel implements IPromotionMemberGroupListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IPromotionMemberGroupListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionMemberGroupListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionMemberGroupListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionMemberGroupListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class PromotionVenueGroupListItemViewModel implements IPromotionVenueGroupListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IPromotionVenueGroupListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionVenueGroupListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionVenueGroupListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionVenueGroupListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class PromotionVenueListItemViewModel implements IPromotionVenueListItemViewModel {\r\n id!: string;\r\n fullName!: string;\r\n address!: string;\r\n\r\n constructor(data?: IPromotionVenueListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionVenueListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionVenueListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionVenueListItemViewModel {\r\n id: string;\r\n fullName: string;\r\n address: string;\r\n}\r\n\r\nexport class SendMessageResponse implements ISendMessageResponse {\r\n message!: MessageViewModel | undefined;\r\n chain!: MessageChain | undefined;\r\n\r\n constructor(data?: ISendMessageResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"] ? MessageViewModel.fromJS(_data[\"message\"]) : undefined;\r\n this.chain = _data[\"chain\"] ? MessageChain.fromJS(_data[\"chain\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendMessageResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendMessageResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message ? this.message.toJSON() : undefined;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISendMessageResponse {\r\n message: MessageViewModel | undefined;\r\n chain: MessageChain | undefined;\r\n}\r\n\r\nexport class MessageViewModel implements IMessageViewModel {\r\n id!: string;\r\n deleted!: boolean;\r\n createTime!: string;\r\n ownerId!: string;\r\n targetId!: string;\r\n chainId!: string | undefined;\r\n text!: string | undefined;\r\n read!: boolean;\r\n subject!: string | undefined;\r\n venueId!: string | undefined;\r\n fromVenue!: boolean;\r\n workspaceId!: string | undefined;\r\n omitStripSensitiveData!: boolean;\r\n isMonthly!: boolean;\r\n messageSource!: MessageSource;\r\n searchRequestId!: string | undefined;\r\n hasProposal!: boolean;\r\n workflowId!: string | undefined;\r\n attachments!: MessageAttachmentViewModel[] | undefined;\r\n isModerated!: boolean;\r\n ownerName!: string | undefined;\r\n ownerFirstName!: string | undefined;\r\n ownerImage!: string | undefined;\r\n isOwn!: boolean;\r\n displayVenueLink!: boolean;\r\n hasHiddenText!: boolean;\r\n isSpaceExpert!: boolean;\r\n score!: number | undefined;\r\n cbvScore!: number | undefined;\r\n\r\n constructor(data?: IMessageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.createTime = _data[\"createTime\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.targetId = _data[\"targetId\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.text = _data[\"text\"];\r\n this.read = _data[\"read\"];\r\n this.subject = _data[\"subject\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.fromVenue = _data[\"fromVenue\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.omitStripSensitiveData = _data[\"omitStripSensitiveData\"];\r\n this.isMonthly = _data[\"isMonthly\"];\r\n this.messageSource = _data[\"messageSource\"];\r\n this.searchRequestId = _data[\"searchRequestId\"];\r\n this.hasProposal = _data[\"hasProposal\"];\r\n this.workflowId = _data[\"workflowId\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(MessageAttachmentViewModel.fromJS(item));\r\n }\r\n this.isModerated = _data[\"isModerated\"];\r\n this.ownerName = _data[\"ownerName\"];\r\n this.ownerFirstName = _data[\"ownerFirstName\"];\r\n this.ownerImage = _data[\"ownerImage\"];\r\n this.isOwn = _data[\"isOwn\"];\r\n this.displayVenueLink = _data[\"displayVenueLink\"];\r\n this.hasHiddenText = _data[\"hasHiddenText\"];\r\n this.isSpaceExpert = _data[\"isSpaceExpert\"];\r\n this.score = _data[\"score\"];\r\n this.cbvScore = _data[\"cbvScore\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"createTime\"] = this.createTime;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"targetId\"] = this.targetId;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"text\"] = this.text;\r\n data[\"read\"] = this.read;\r\n data[\"subject\"] = this.subject;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"fromVenue\"] = this.fromVenue;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"omitStripSensitiveData\"] = this.omitStripSensitiveData;\r\n data[\"isMonthly\"] = this.isMonthly;\r\n data[\"messageSource\"] = this.messageSource;\r\n data[\"searchRequestId\"] = this.searchRequestId;\r\n data[\"hasProposal\"] = this.hasProposal;\r\n data[\"workflowId\"] = this.workflowId;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n data[\"isModerated\"] = this.isModerated;\r\n data[\"ownerName\"] = this.ownerName;\r\n data[\"ownerFirstName\"] = this.ownerFirstName;\r\n data[\"ownerImage\"] = this.ownerImage;\r\n data[\"isOwn\"] = this.isOwn;\r\n data[\"displayVenueLink\"] = this.displayVenueLink;\r\n data[\"hasHiddenText\"] = this.hasHiddenText;\r\n data[\"isSpaceExpert\"] = this.isSpaceExpert;\r\n data[\"score\"] = this.score;\r\n data[\"cbvScore\"] = this.cbvScore;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageViewModel {\r\n id: string;\r\n deleted: boolean;\r\n createTime: string;\r\n ownerId: string;\r\n targetId: string;\r\n chainId: string | undefined;\r\n text: string | undefined;\r\n read: boolean;\r\n subject: string | undefined;\r\n venueId: string | undefined;\r\n fromVenue: boolean;\r\n workspaceId: string | undefined;\r\n omitStripSensitiveData: boolean;\r\n isMonthly: boolean;\r\n messageSource: MessageSource;\r\n searchRequestId: string | undefined;\r\n hasProposal: boolean;\r\n workflowId: string | undefined;\r\n attachments: MessageAttachmentViewModel[] | undefined;\r\n isModerated: boolean;\r\n ownerName: string | undefined;\r\n ownerFirstName: string | undefined;\r\n ownerImage: string | undefined;\r\n isOwn: boolean;\r\n displayVenueLink: boolean;\r\n hasHiddenText: boolean;\r\n isSpaceExpert: boolean;\r\n score: number | undefined;\r\n cbvScore: number | undefined;\r\n}\r\n\r\n/** 0 = NotSpecified 1 = Messenger 2 = XPP 3 = WLP 4 = FurnitureRequest 5 = ShareProfile 6 = UpsertSharedCollection 7 = UpsertProposal 8 = UpsertSearchRequest 9 = InquiryRequest 10 = TourRequest 11 = BookRequest 12 = UpsertTour 13 = UpsertMemberVisaState 14 = MessengerEmailEvent 15 = VenueSubmittedForApproval 16 = SUMobileUsersMessage 17 = CheckAvailability 18 = DeclineProposal 19 = ApproveToBook 20 = VenueSubmittedForLiquidspacePro */\r\nexport enum MessageSource {\r\n NotSpecified = 0,\r\n Messenger = 1,\r\n XPP = 2,\r\n WLP = 3,\r\n FurnitureRequest = 4,\r\n ShareProfile = 5,\r\n UpsertSharedCollection = 6,\r\n UpsertProposal = 7,\r\n UpsertSearchRequest = 8,\r\n InquiryRequest = 9,\r\n TourRequest = 10,\r\n BookRequest = 11,\r\n UpsertTour = 12,\r\n UpsertMemberVisaState = 13,\r\n MessengerEmailEvent = 14,\r\n VenueSubmittedForApproval = 15,\r\n SUMobileUsersMessage = 16,\r\n CheckAvailability = 17,\r\n DeclineProposal = 18,\r\n ApproveToBook = 19,\r\n VenueSubmittedForLiquidspacePro = 20,\r\n}\r\n\r\nexport class MessageAttachmentViewModel implements IMessageAttachmentViewModel {\r\n id!: string;\r\n fileName!: string | undefined;\r\n contentType!: string | undefined;\r\n previewUrl!: string | undefined;\r\n\r\n constructor(data?: IMessageAttachmentViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.contentType = _data[\"contentType\"];\r\n this.previewUrl = _data[\"previewUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageAttachmentViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageAttachmentViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"contentType\"] = this.contentType;\r\n data[\"previewUrl\"] = this.previewUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageAttachmentViewModel {\r\n id: string;\r\n fileName: string | undefined;\r\n contentType: string | undefined;\r\n previewUrl: string | undefined;\r\n}\r\n\r\nexport class MessageChain implements IMessageChain {\r\n chainId!: string;\r\n memberId!: string;\r\n memberPhoneNumber!: string | undefined;\r\n memberCompany!: string | undefined;\r\n memberEnterpriseAccountName!: string | undefined;\r\n subject!: string;\r\n messages!: MessageViewModel[];\r\n messageStatus!: MessageStatus;\r\n additionalStatus!: string;\r\n isArchived!: boolean;\r\n messageRules!: { [key: string]: string; };\r\n isVenueMode!: boolean;\r\n senderId!: string;\r\n senderName!: string;\r\n senderFirstName!: string;\r\n senderImage!: string | undefined;\r\n senderDeleted!: boolean;\r\n senderIsSpaceExpert!: boolean;\r\n venueId!: string | undefined;\r\n venueUrl!: string | undefined;\r\n venueName!: string | undefined;\r\n venueToday!: string | undefined;\r\n monthlyVisaId!: string | undefined;\r\n xppUrl!: string | undefined;\r\n workspaceId!: string | undefined;\r\n workspaceName!: string | undefined;\r\n workspaceLandingPageUrl!: string | undefined;\r\n isPeriodWorkspace!: boolean;\r\n isRequestToBookWorkspace!: boolean;\r\n isWorkspaceInquire!: boolean;\r\n workflowId!: string | undefined;\r\n monthlyMemberVisaState!: VisaState | undefined;\r\n tour!: TourViewModel | undefined;\r\n visaRequest!: VisaRequestViewModel | undefined;\r\n savedSearchDashboardViewModel!: SavedSearchDashboardViewModel | undefined;\r\n proposalWorkspace!: ProposalWorkspaceViewModel | undefined;\r\n lastMessageDate!: string | undefined;\r\n lastMessageDateVTZ!: string | undefined;\r\n workspaces!: WorkspaceOptionViewModel[];\r\n readyToBookStep!: number;\r\n showProposalActions!: boolean;\r\n requestToBookUrl!: string | undefined;\r\n scheduleTourUrl!: string | undefined;\r\n activeVenueTourId!: string | undefined;\r\n hasMemberEngagedWithVenue!: boolean;\r\n\r\n constructor(data?: IMessageChain) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.chainId = _data[\"chainId\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberPhoneNumber = _data[\"memberPhoneNumber\"];\r\n this.memberCompany = _data[\"memberCompany\"];\r\n this.memberEnterpriseAccountName = _data[\"memberEnterpriseAccountName\"];\r\n this.subject = _data[\"subject\"];\r\n if (Array.isArray(_data[\"messages\"])) {\r\n this.messages = [] as any;\r\n for (let item of _data[\"messages\"])\r\n this.messages!.push(MessageViewModel.fromJS(item));\r\n }\r\n this.messageStatus = _data[\"messageStatus\"];\r\n this.additionalStatus = _data[\"additionalStatus\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n if (_data[\"messageRules\"]) {\r\n this.messageRules = {} as any;\r\n for (let key in _data[\"messageRules\"]) {\r\n if (_data[\"messageRules\"].hasOwnProperty(key))\r\n (this.messageRules)![key] = _data[\"messageRules\"][key];\r\n }\r\n }\r\n this.isVenueMode = _data[\"isVenueMode\"];\r\n this.senderId = _data[\"senderId\"];\r\n this.senderName = _data[\"senderName\"];\r\n this.senderFirstName = _data[\"senderFirstName\"];\r\n this.senderImage = _data[\"senderImage\"];\r\n this.senderDeleted = _data[\"senderDeleted\"];\r\n this.senderIsSpaceExpert = _data[\"senderIsSpaceExpert\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueUrl = _data[\"venueUrl\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueToday = _data[\"venueToday\"];\r\n this.monthlyVisaId = _data[\"monthlyVisaId\"];\r\n this.xppUrl = _data[\"xppUrl\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.workspaceLandingPageUrl = _data[\"workspaceLandingPageUrl\"];\r\n this.isPeriodWorkspace = _data[\"isPeriodWorkspace\"];\r\n this.isRequestToBookWorkspace = _data[\"isRequestToBookWorkspace\"];\r\n this.isWorkspaceInquire = _data[\"isWorkspaceInquire\"];\r\n this.workflowId = _data[\"workflowId\"];\r\n this.monthlyMemberVisaState = _data[\"monthlyMemberVisaState\"];\r\n this.tour = _data[\"tour\"] ? TourViewModel.fromJS(_data[\"tour\"]) : undefined;\r\n this.visaRequest = _data[\"visaRequest\"] ? VisaRequestViewModel.fromJS(_data[\"visaRequest\"]) : undefined;\r\n this.savedSearchDashboardViewModel = _data[\"savedSearchDashboardViewModel\"] ? SavedSearchDashboardViewModel.fromJS(_data[\"savedSearchDashboardViewModel\"]) : undefined;\r\n this.proposalWorkspace = _data[\"proposalWorkspace\"] ? ProposalWorkspaceViewModel.fromJS(_data[\"proposalWorkspace\"]) : undefined;\r\n this.lastMessageDate = _data[\"lastMessageDate\"];\r\n this.lastMessageDateVTZ = _data[\"lastMessageDateVTZ\"];\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(WorkspaceOptionViewModel.fromJS(item));\r\n }\r\n this.readyToBookStep = _data[\"readyToBookStep\"];\r\n this.showProposalActions = _data[\"showProposalActions\"];\r\n this.requestToBookUrl = _data[\"requestToBookUrl\"];\r\n this.scheduleTourUrl = _data[\"scheduleTourUrl\"];\r\n this.activeVenueTourId = _data[\"activeVenueTourId\"];\r\n this.hasMemberEngagedWithVenue = _data[\"hasMemberEngagedWithVenue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageChain {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageChain();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chainId\"] = this.chainId;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberPhoneNumber\"] = this.memberPhoneNumber;\r\n data[\"memberCompany\"] = this.memberCompany;\r\n data[\"memberEnterpriseAccountName\"] = this.memberEnterpriseAccountName;\r\n data[\"subject\"] = this.subject;\r\n if (Array.isArray(this.messages)) {\r\n data[\"messages\"] = [];\r\n for (let item of this.messages)\r\n data[\"messages\"].push(item.toJSON());\r\n }\r\n data[\"messageStatus\"] = this.messageStatus;\r\n data[\"additionalStatus\"] = this.additionalStatus;\r\n data[\"isArchived\"] = this.isArchived;\r\n if (this.messageRules) {\r\n data[\"messageRules\"] = {};\r\n for (let key in this.messageRules) {\r\n if (this.messageRules.hasOwnProperty(key))\r\n (data[\"messageRules\"])[key] = (this.messageRules)[key];\r\n }\r\n }\r\n data[\"isVenueMode\"] = this.isVenueMode;\r\n data[\"senderId\"] = this.senderId;\r\n data[\"senderName\"] = this.senderName;\r\n data[\"senderFirstName\"] = this.senderFirstName;\r\n data[\"senderImage\"] = this.senderImage;\r\n data[\"senderDeleted\"] = this.senderDeleted;\r\n data[\"senderIsSpaceExpert\"] = this.senderIsSpaceExpert;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueUrl\"] = this.venueUrl;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueToday\"] = this.venueToday;\r\n data[\"monthlyVisaId\"] = this.monthlyVisaId;\r\n data[\"xppUrl\"] = this.xppUrl;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"workspaceLandingPageUrl\"] = this.workspaceLandingPageUrl;\r\n data[\"isPeriodWorkspace\"] = this.isPeriodWorkspace;\r\n data[\"isRequestToBookWorkspace\"] = this.isRequestToBookWorkspace;\r\n data[\"isWorkspaceInquire\"] = this.isWorkspaceInquire;\r\n data[\"workflowId\"] = this.workflowId;\r\n data[\"monthlyMemberVisaState\"] = this.monthlyMemberVisaState;\r\n data[\"tour\"] = this.tour ? this.tour.toJSON() : undefined;\r\n data[\"visaRequest\"] = this.visaRequest ? this.visaRequest.toJSON() : undefined;\r\n data[\"savedSearchDashboardViewModel\"] = this.savedSearchDashboardViewModel ? this.savedSearchDashboardViewModel.toJSON() : undefined;\r\n data[\"proposalWorkspace\"] = this.proposalWorkspace ? this.proposalWorkspace.toJSON() : undefined;\r\n data[\"lastMessageDate\"] = this.lastMessageDate;\r\n data[\"lastMessageDateVTZ\"] = this.lastMessageDateVTZ;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n data[\"readyToBookStep\"] = this.readyToBookStep;\r\n data[\"showProposalActions\"] = this.showProposalActions;\r\n data[\"requestToBookUrl\"] = this.requestToBookUrl;\r\n data[\"scheduleTourUrl\"] = this.scheduleTourUrl;\r\n data[\"activeVenueTourId\"] = this.activeVenueTourId;\r\n data[\"hasMemberEngagedWithVenue\"] = this.hasMemberEngagedWithVenue;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageChain {\r\n chainId: string;\r\n memberId: string;\r\n memberPhoneNumber: string | undefined;\r\n memberCompany: string | undefined;\r\n memberEnterpriseAccountName: string | undefined;\r\n subject: string;\r\n messages: MessageViewModel[];\r\n messageStatus: MessageStatus;\r\n additionalStatus: string;\r\n isArchived: boolean;\r\n messageRules: { [key: string]: string; };\r\n isVenueMode: boolean;\r\n senderId: string;\r\n senderName: string;\r\n senderFirstName: string;\r\n senderImage: string | undefined;\r\n senderDeleted: boolean;\r\n senderIsSpaceExpert: boolean;\r\n venueId: string | undefined;\r\n venueUrl: string | undefined;\r\n venueName: string | undefined;\r\n venueToday: string | undefined;\r\n monthlyVisaId: string | undefined;\r\n xppUrl: string | undefined;\r\n workspaceId: string | undefined;\r\n workspaceName: string | undefined;\r\n workspaceLandingPageUrl: string | undefined;\r\n isPeriodWorkspace: boolean;\r\n isRequestToBookWorkspace: boolean;\r\n isWorkspaceInquire: boolean;\r\n workflowId: string | undefined;\r\n monthlyMemberVisaState: VisaState | undefined;\r\n tour: TourViewModel | undefined;\r\n visaRequest: VisaRequestViewModel | undefined;\r\n savedSearchDashboardViewModel: SavedSearchDashboardViewModel | undefined;\r\n proposalWorkspace: ProposalWorkspaceViewModel | undefined;\r\n lastMessageDate: string | undefined;\r\n lastMessageDateVTZ: string | undefined;\r\n workspaces: WorkspaceOptionViewModel[];\r\n readyToBookStep: number;\r\n showProposalActions: boolean;\r\n requestToBookUrl: string | undefined;\r\n scheduleTourUrl: string | undefined;\r\n activeVenueTourId: string | undefined;\r\n hasMemberEngagedWithVenue: boolean;\r\n}\r\n\r\n/** 0 = Default 1 = New 2 = BookingApproved 4 = BookingDeclined 8 = Reserved */\r\nexport enum MessageStatus {\r\n Default = 0,\r\n New = 1,\r\n BookingApproved = 2,\r\n BookingDeclined = 4,\r\n Reserved = 8,\r\n}\r\n\r\nexport class Tour implements ITour {\r\n id!: string;\r\n memberId!: string;\r\n venueId!: string;\r\n workspaceId!: string;\r\n tourStatus!: TourStatus;\r\n dateTime!: string;\r\n messengerChainId!: string;\r\n userInteractionStateWorkflowId!: string | undefined;\r\n tourCancelReason!: TourCancelReason;\r\n tourPostCompleteStatus!: TourPostCompleteStatus;\r\n plannedDesksCountToBook!: number;\r\n created!: string | undefined;\r\n\r\n constructor(data?: ITour) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.tourStatus = _data[\"tourStatus\"];\r\n this.dateTime = _data[\"dateTime\"];\r\n this.messengerChainId = _data[\"messengerChainId\"];\r\n this.userInteractionStateWorkflowId = _data[\"userInteractionStateWorkflowId\"];\r\n this.tourCancelReason = _data[\"tourCancelReason\"];\r\n this.tourPostCompleteStatus = _data[\"tourPostCompleteStatus\"];\r\n this.plannedDesksCountToBook = _data[\"plannedDesksCountToBook\"];\r\n this.created = _data[\"created\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Tour {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Tour();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"tourStatus\"] = this.tourStatus;\r\n data[\"dateTime\"] = this.dateTime;\r\n data[\"messengerChainId\"] = this.messengerChainId;\r\n data[\"userInteractionStateWorkflowId\"] = this.userInteractionStateWorkflowId;\r\n data[\"tourCancelReason\"] = this.tourCancelReason;\r\n data[\"tourPostCompleteStatus\"] = this.tourPostCompleteStatus;\r\n data[\"plannedDesksCountToBook\"] = this.plannedDesksCountToBook;\r\n data[\"created\"] = this.created;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITour {\r\n id: string;\r\n memberId: string;\r\n venueId: string;\r\n workspaceId: string;\r\n tourStatus: TourStatus;\r\n dateTime: string;\r\n messengerChainId: string;\r\n userInteractionStateWorkflowId: string | undefined;\r\n tourCancelReason: TourCancelReason;\r\n tourPostCompleteStatus: TourPostCompleteStatus;\r\n plannedDesksCountToBook: number;\r\n created: string | undefined;\r\n}\r\n\r\nexport class TourViewModel extends Tour implements ITourViewModel {\r\n dateTimeUtc!: string;\r\n requestToBookUrl!: string | undefined;\r\n workspaceImage!: string | undefined;\r\n timeZoneAbbreviation!: string | undefined;\r\n venueMapUrl!: string | undefined;\r\n workspaceUrl!: string | undefined;\r\n visaState!: VisaState | undefined;\r\n bookItUrl!: string | undefined;\r\n dateTimeVenueTime!: string;\r\n minDate!: string;\r\n memberFirstName!: string | undefined;\r\n workspaceName!: string | undefined;\r\n venueName!: string | undefined;\r\n venueAddress!: string | undefined;\r\n workspaceStatus!: WorkspaceStatus;\r\n\r\n constructor(data?: ITourViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.dateTimeUtc = _data[\"dateTimeUtc\"];\r\n this.requestToBookUrl = _data[\"requestToBookUrl\"];\r\n this.workspaceImage = _data[\"workspaceImage\"];\r\n this.timeZoneAbbreviation = _data[\"timeZoneAbbreviation\"];\r\n this.venueMapUrl = _data[\"venueMapUrl\"];\r\n this.workspaceUrl = _data[\"workspaceUrl\"];\r\n this.visaState = _data[\"visaState\"];\r\n this.bookItUrl = _data[\"bookItUrl\"];\r\n this.dateTimeVenueTime = _data[\"dateTimeVenueTime\"];\r\n this.minDate = _data[\"minDate\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n this.workspaceStatus = _data[\"workspaceStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TourViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TourViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dateTimeUtc\"] = this.dateTimeUtc;\r\n data[\"requestToBookUrl\"] = this.requestToBookUrl;\r\n data[\"workspaceImage\"] = this.workspaceImage;\r\n data[\"timeZoneAbbreviation\"] = this.timeZoneAbbreviation;\r\n data[\"venueMapUrl\"] = this.venueMapUrl;\r\n data[\"workspaceUrl\"] = this.workspaceUrl;\r\n data[\"visaState\"] = this.visaState;\r\n data[\"bookItUrl\"] = this.bookItUrl;\r\n data[\"dateTimeVenueTime\"] = this.dateTimeVenueTime;\r\n data[\"minDate\"] = this.minDate;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n data[\"workspaceStatus\"] = this.workspaceStatus;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITourViewModel extends ITour {\r\n dateTimeUtc: string;\r\n requestToBookUrl: string | undefined;\r\n workspaceImage: string | undefined;\r\n timeZoneAbbreviation: string | undefined;\r\n venueMapUrl: string | undefined;\r\n workspaceUrl: string | undefined;\r\n visaState: VisaState | undefined;\r\n bookItUrl: string | undefined;\r\n dateTimeVenueTime: string;\r\n minDate: string;\r\n memberFirstName: string | undefined;\r\n workspaceName: string | undefined;\r\n venueName: string | undefined;\r\n venueAddress: string | undefined;\r\n workspaceStatus: WorkspaceStatus;\r\n}\r\n\r\n/** 0 = Requested 1 = ChangedByGuest 2 = ChangedByVenue 3 = Confirmed 4 = CanceledByVenue 5 = CanceledByGuest 6 = Complete 7 = Expired 8 = Suggested */\r\nexport enum TourStatus {\r\n Requested = 0,\r\n ChangedByGuest = 1,\r\n ChangedByVenue = 2,\r\n Confirmed = 3,\r\n CanceledByVenue = 4,\r\n CanceledByGuest = 5,\r\n Complete = 6,\r\n Expired = 7,\r\n Suggested = 8,\r\n}\r\n\r\n/** 0 = None 1 = ReadyToBook 2 = StillThinking 3 = HostUnresponsive 4 = NotReadyRightNow 5 = BookedAlternate 6 = SpaceNotFit 7 = MyReasonIsNotListed 8 = AlreadyBooked */\r\nexport enum TourPostCompleteStatus {\r\n None = 0,\r\n ReadyToBook = 1,\r\n StillThinking = 2,\r\n HostUnresponsive = 3,\r\n NotReadyRightNow = 4,\r\n BookedAlternate = 5,\r\n SpaceNotFit = 6,\r\n MyReasonIsNotListed = 7,\r\n AlreadyBooked = 8,\r\n}\r\n\r\nexport class VisaRequestViewModel implements IVisaRequestViewModel {\r\n memberId!: string;\r\n bookingStartDate!: string | undefined;\r\n\r\n constructor(data?: IVisaRequestViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.bookingStartDate = _data[\"bookingStartDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VisaRequestViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VisaRequestViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"bookingStartDate\"] = this.bookingStartDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVisaRequestViewModel {\r\n memberId: string;\r\n bookingStartDate: string | undefined;\r\n}\r\n\r\nexport class SavedSearchDashboardViewModel implements ISavedSearchDashboardViewModel {\r\n id!: string;\r\n memberId!: string;\r\n memberFirstNameInitial!: string | undefined;\r\n memberFirstName!: string | undefined;\r\n memberLastName!: string | undefined;\r\n memberCompany!: string | undefined;\r\n memberPictureUrl!: string | undefined;\r\n spaceType!: string | undefined;\r\n spaceTypeWithCapacity!: string | undefined;\r\n capacity!: number | undefined;\r\n startDateString!: string | undefined;\r\n stringRepresentation!: string | undefined;\r\n isDeskSearch!: boolean;\r\n chainId!: string | undefined;\r\n messageDateString!: string | undefined;\r\n messageStatus!: string | undefined;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n neighborhoods!: string[] | undefined;\r\n createdDateRelative!: string | undefined;\r\n listingsViewed!: number;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n ownedListingsViewed!: SavedSearchListingInfo[] | undefined;\r\n lastSearchTag!: string | undefined;\r\n city!: string | undefined;\r\n isRFP!: boolean;\r\n rfpCompany!: string | undefined;\r\n specialRequests!: string | undefined;\r\n createdDate!: string | undefined;\r\n neighborhoodIds!: string[] | undefined;\r\n zipcodes!: string[] | undefined;\r\n\r\n constructor(data?: ISavedSearchDashboardViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFirstNameInitial = _data[\"memberFirstNameInitial\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.memberLastName = _data[\"memberLastName\"];\r\n this.memberCompany = _data[\"memberCompany\"];\r\n this.memberPictureUrl = _data[\"memberPictureUrl\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeWithCapacity = _data[\"spaceTypeWithCapacity\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.startDateString = _data[\"startDateString\"];\r\n this.stringRepresentation = _data[\"stringRepresentation\"];\r\n this.isDeskSearch = _data[\"isDeskSearch\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.messageDateString = _data[\"messageDateString\"];\r\n this.messageStatus = _data[\"messageStatus\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n if (Array.isArray(_data[\"neighborhoods\"])) {\r\n this.neighborhoods = [] as any;\r\n for (let item of _data[\"neighborhoods\"])\r\n this.neighborhoods!.push(item);\r\n }\r\n this.createdDateRelative = _data[\"createdDateRelative\"];\r\n this.listingsViewed = _data[\"listingsViewed\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n if (Array.isArray(_data[\"ownedListingsViewed\"])) {\r\n this.ownedListingsViewed = [] as any;\r\n for (let item of _data[\"ownedListingsViewed\"])\r\n this.ownedListingsViewed!.push(SavedSearchListingInfo.fromJS(item));\r\n }\r\n this.lastSearchTag = _data[\"lastSearchTag\"];\r\n this.city = _data[\"city\"];\r\n this.isRFP = _data[\"isRFP\"];\r\n this.rfpCompany = _data[\"rfpCompany\"];\r\n this.specialRequests = _data[\"specialRequests\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n if (Array.isArray(_data[\"neighborhoodIds\"])) {\r\n this.neighborhoodIds = [] as any;\r\n for (let item of _data[\"neighborhoodIds\"])\r\n this.neighborhoodIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"zipcodes\"])) {\r\n this.zipcodes = [] as any;\r\n for (let item of _data[\"zipcodes\"])\r\n this.zipcodes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchDashboardViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchDashboardViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFirstNameInitial\"] = this.memberFirstNameInitial;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"memberLastName\"] = this.memberLastName;\r\n data[\"memberCompany\"] = this.memberCompany;\r\n data[\"memberPictureUrl\"] = this.memberPictureUrl;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeWithCapacity\"] = this.spaceTypeWithCapacity;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"startDateString\"] = this.startDateString;\r\n data[\"stringRepresentation\"] = this.stringRepresentation;\r\n data[\"isDeskSearch\"] = this.isDeskSearch;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"messageDateString\"] = this.messageDateString;\r\n data[\"messageStatus\"] = this.messageStatus;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n if (Array.isArray(this.neighborhoods)) {\r\n data[\"neighborhoods\"] = [];\r\n for (let item of this.neighborhoods)\r\n data[\"neighborhoods\"].push(item);\r\n }\r\n data[\"createdDateRelative\"] = this.createdDateRelative;\r\n data[\"listingsViewed\"] = this.listingsViewed;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n if (Array.isArray(this.ownedListingsViewed)) {\r\n data[\"ownedListingsViewed\"] = [];\r\n for (let item of this.ownedListingsViewed)\r\n data[\"ownedListingsViewed\"].push(item.toJSON());\r\n }\r\n data[\"lastSearchTag\"] = this.lastSearchTag;\r\n data[\"city\"] = this.city;\r\n data[\"isRFP\"] = this.isRFP;\r\n data[\"rfpCompany\"] = this.rfpCompany;\r\n data[\"specialRequests\"] = this.specialRequests;\r\n data[\"createdDate\"] = this.createdDate;\r\n if (Array.isArray(this.neighborhoodIds)) {\r\n data[\"neighborhoodIds\"] = [];\r\n for (let item of this.neighborhoodIds)\r\n data[\"neighborhoodIds\"].push(item);\r\n }\r\n if (Array.isArray(this.zipcodes)) {\r\n data[\"zipcodes\"] = [];\r\n for (let item of this.zipcodes)\r\n data[\"zipcodes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchDashboardViewModel {\r\n id: string;\r\n memberId: string;\r\n memberFirstNameInitial: string | undefined;\r\n memberFirstName: string | undefined;\r\n memberLastName: string | undefined;\r\n memberCompany: string | undefined;\r\n memberPictureUrl: string | undefined;\r\n spaceType: string | undefined;\r\n spaceTypeWithCapacity: string | undefined;\r\n capacity: number | undefined;\r\n startDateString: string | undefined;\r\n stringRepresentation: string | undefined;\r\n isDeskSearch: boolean;\r\n chainId: string | undefined;\r\n messageDateString: string | undefined;\r\n messageStatus: string | undefined;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n neighborhoods: string[] | undefined;\r\n createdDateRelative: string | undefined;\r\n listingsViewed: number;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n ownedListingsViewed: SavedSearchListingInfo[] | undefined;\r\n lastSearchTag: string | undefined;\r\n city: string | undefined;\r\n isRFP: boolean;\r\n rfpCompany: string | undefined;\r\n specialRequests: string | undefined;\r\n createdDate: string | undefined;\r\n neighborhoodIds: string[] | undefined;\r\n zipcodes: string[] | undefined;\r\n}\r\n\r\nexport class SavedSearchListingInfo implements ISavedSearchListingInfo {\r\n id!: string;\r\n name!: string | undefined;\r\n url!: string | undefined;\r\n\r\n constructor(data?: ISavedSearchListingInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchListingInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchListingInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchListingInfo {\r\n id: string;\r\n name: string | undefined;\r\n url: string | undefined;\r\n}\r\n\r\nexport class WorkspaceOptionViewModel implements IWorkspaceOptionViewModel {\r\n workspaceId!: string;\r\n scenario!: string | undefined;\r\n name!: string | undefined;\r\n venueName!: string | undefined;\r\n imageUrl!: string | undefined;\r\n capacity!: number;\r\n workspaceType!: string | undefined;\r\n priceDisplay!: string | undefined;\r\n wlpUrl!: string | undefined;\r\n workspaceStatus!: string | undefined;\r\n desksAvailabilityStatusForProposals!: string | undefined;\r\n isMultipleDeskBookingAllowedForWorkspace!: boolean;\r\n depositMode!: DepositMode | undefined;\r\n setupFee!: number;\r\n isBooked!: boolean | undefined;\r\n cancellationPolicy!: CancellationPolicy;\r\n monthlyPrice!: number | undefined;\r\n\r\n constructor(data?: IWorkspaceOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.scenario = _data[\"scenario\"];\r\n this.name = _data[\"name\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.workspaceType = _data[\"workspaceType\"];\r\n this.priceDisplay = _data[\"priceDisplay\"];\r\n this.wlpUrl = _data[\"wlpUrl\"];\r\n this.workspaceStatus = _data[\"workspaceStatus\"];\r\n this.desksAvailabilityStatusForProposals = _data[\"desksAvailabilityStatusForProposals\"];\r\n this.isMultipleDeskBookingAllowedForWorkspace = _data[\"isMultipleDeskBookingAllowedForWorkspace\"];\r\n this.depositMode = _data[\"depositMode\"];\r\n this.setupFee = _data[\"setupFee\"];\r\n this.isBooked = _data[\"isBooked\"];\r\n this.cancellationPolicy = _data[\"cancellationPolicy\"];\r\n this.monthlyPrice = _data[\"monthlyPrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"scenario\"] = this.scenario;\r\n data[\"name\"] = this.name;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"workspaceType\"] = this.workspaceType;\r\n data[\"priceDisplay\"] = this.priceDisplay;\r\n data[\"wlpUrl\"] = this.wlpUrl;\r\n data[\"workspaceStatus\"] = this.workspaceStatus;\r\n data[\"desksAvailabilityStatusForProposals\"] = this.desksAvailabilityStatusForProposals;\r\n data[\"isMultipleDeskBookingAllowedForWorkspace\"] = this.isMultipleDeskBookingAllowedForWorkspace;\r\n data[\"depositMode\"] = this.depositMode;\r\n data[\"setupFee\"] = this.setupFee;\r\n data[\"isBooked\"] = this.isBooked;\r\n data[\"cancellationPolicy\"] = this.cancellationPolicy;\r\n data[\"monthlyPrice\"] = this.monthlyPrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceOptionViewModel {\r\n workspaceId: string;\r\n scenario: string | undefined;\r\n name: string | undefined;\r\n venueName: string | undefined;\r\n imageUrl: string | undefined;\r\n capacity: number;\r\n workspaceType: string | undefined;\r\n priceDisplay: string | undefined;\r\n wlpUrl: string | undefined;\r\n workspaceStatus: string | undefined;\r\n desksAvailabilityStatusForProposals: string | undefined;\r\n isMultipleDeskBookingAllowedForWorkspace: boolean;\r\n depositMode: DepositMode | undefined;\r\n setupFee: number;\r\n isBooked: boolean | undefined;\r\n cancellationPolicy: CancellationPolicy;\r\n monthlyPrice: number | undefined;\r\n}\r\n\r\nexport class ProposalWorkspaceViewModel extends WorkspaceOptionViewModel implements IProposalWorkspaceViewModel {\r\n proposalId!: string;\r\n proposalStatus!: ProposalStatus;\r\n proposalCreated!: string;\r\n\r\n constructor(data?: IProposalWorkspaceViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.proposalId = _data[\"proposalId\"];\r\n this.proposalStatus = _data[\"proposalStatus\"];\r\n this.proposalCreated = _data[\"proposalCreated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProposalWorkspaceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProposalWorkspaceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"proposalId\"] = this.proposalId;\r\n data[\"proposalStatus\"] = this.proposalStatus;\r\n data[\"proposalCreated\"] = this.proposalCreated;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProposalWorkspaceViewModel extends IWorkspaceOptionViewModel {\r\n proposalId: string;\r\n proposalStatus: ProposalStatus;\r\n proposalCreated: string;\r\n}\r\n\r\n/** 0 = Created 1 = Declined 2 = Expired 3 = Replied 4 = Accepted 5 = Signed 6 = Changed */\r\nexport enum ProposalStatus {\r\n Created = 0,\r\n Declined = 1,\r\n Expired = 2,\r\n Replied = 3,\r\n Accepted = 4,\r\n Signed = 5,\r\n Changed = 6,\r\n}\r\n\r\n/** 0 = NoDeposit 1 = Month 2 = TwoMonths */\r\nexport enum DepositMode {\r\n NoDeposit = 0,\r\n Month = 1,\r\n TwoMonths = 2,\r\n}\r\n\r\nexport class MessengerBaseViewModel implements IMessengerBaseViewModel {\r\n ownerId!: string;\r\n ownerName!: string | undefined;\r\n ownerFirstName!: string | undefined;\r\n ownerImage!: string | undefined;\r\n ownerDisplay!: boolean;\r\n\r\n constructor(data?: IMessengerBaseViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ownerId = _data[\"ownerId\"];\r\n this.ownerName = _data[\"ownerName\"];\r\n this.ownerFirstName = _data[\"ownerFirstName\"];\r\n this.ownerImage = _data[\"ownerImage\"];\r\n this.ownerDisplay = _data[\"ownerDisplay\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessengerBaseViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessengerBaseViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"ownerName\"] = this.ownerName;\r\n data[\"ownerFirstName\"] = this.ownerFirstName;\r\n data[\"ownerImage\"] = this.ownerImage;\r\n data[\"ownerDisplay\"] = this.ownerDisplay;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessengerBaseViewModel {\r\n ownerId: string;\r\n ownerName: string | undefined;\r\n ownerFirstName: string | undefined;\r\n ownerImage: string | undefined;\r\n ownerDisplay: boolean;\r\n}\r\n\r\nexport class MemberMessagesModel extends MessengerBaseViewModel implements IMemberMessagesModel {\r\n messageChains!: MessageChain[] | undefined;\r\n messageTargets!: MessageTargetViewModel[] | undefined;\r\n messageTargetsCount!: number;\r\n newMessagesCount!: number;\r\n unrespondedMessagesCount!: number;\r\n selectedChainId!: string | undefined;\r\n venueId!: string | undefined;\r\n composeTargetId!: string;\r\n composeTargetName!: string | undefined;\r\n composeTargetVenueId!: string | undefined;\r\n composeSubject!: string | undefined;\r\n composeBody!: string | undefined;\r\n isAdmin!: boolean;\r\n canFollow!: boolean;\r\n hasSavedSearch!: boolean;\r\n shareProfileLink!: string | undefined;\r\n preferedSearchUrl!: string | undefined;\r\n messagesFilter!: MessagesFilter | undefined;\r\n isHourlyOnlyVenue!: boolean;\r\n showVenueResponseRate!: boolean;\r\n hasMessageChains!: boolean;\r\n pendingVisaRequestCount!: number;\r\n unconfirmedToursCount!: number;\r\n avgLeadResponseMinutes!: number;\r\n avgLeadResponseRate!: number;\r\n leadRequestTotal!: number;\r\n responsivenessDisplayAfterAmount!: number;\r\n isSuperUser!: boolean;\r\n messengerAction!: MessengerAction;\r\n\r\n constructor(data?: IMemberMessagesModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"messageChains\"])) {\r\n this.messageChains = [] as any;\r\n for (let item of _data[\"messageChains\"])\r\n this.messageChains!.push(MessageChain.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"messageTargets\"])) {\r\n this.messageTargets = [] as any;\r\n for (let item of _data[\"messageTargets\"])\r\n this.messageTargets!.push(MessageTargetViewModel.fromJS(item));\r\n }\r\n this.messageTargetsCount = _data[\"messageTargetsCount\"];\r\n this.newMessagesCount = _data[\"newMessagesCount\"];\r\n this.unrespondedMessagesCount = _data[\"unrespondedMessagesCount\"];\r\n this.selectedChainId = _data[\"selectedChainId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.composeTargetId = _data[\"composeTargetId\"];\r\n this.composeTargetName = _data[\"composeTargetName\"];\r\n this.composeTargetVenueId = _data[\"composeTargetVenueId\"];\r\n this.composeSubject = _data[\"composeSubject\"];\r\n this.composeBody = _data[\"composeBody\"];\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.canFollow = _data[\"canFollow\"];\r\n this.hasSavedSearch = _data[\"hasSavedSearch\"];\r\n this.shareProfileLink = _data[\"shareProfileLink\"];\r\n this.preferedSearchUrl = _data[\"preferedSearchUrl\"];\r\n this.messagesFilter = _data[\"messagesFilter\"] ? MessagesFilter.fromJS(_data[\"messagesFilter\"]) : undefined;\r\n this.isHourlyOnlyVenue = _data[\"isHourlyOnlyVenue\"];\r\n this.showVenueResponseRate = _data[\"showVenueResponseRate\"];\r\n this.hasMessageChains = _data[\"hasMessageChains\"];\r\n this.pendingVisaRequestCount = _data[\"pendingVisaRequestCount\"];\r\n this.unconfirmedToursCount = _data[\"unconfirmedToursCount\"];\r\n this.avgLeadResponseMinutes = _data[\"avgLeadResponseMinutes\"];\r\n this.avgLeadResponseRate = _data[\"avgLeadResponseRate\"];\r\n this.leadRequestTotal = _data[\"leadRequestTotal\"];\r\n this.responsivenessDisplayAfterAmount = _data[\"responsivenessDisplayAfterAmount\"];\r\n this.isSuperUser = _data[\"isSuperUser\"];\r\n this.messengerAction = _data[\"messengerAction\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberMessagesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberMessagesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.messageChains)) {\r\n data[\"messageChains\"] = [];\r\n for (let item of this.messageChains)\r\n data[\"messageChains\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.messageTargets)) {\r\n data[\"messageTargets\"] = [];\r\n for (let item of this.messageTargets)\r\n data[\"messageTargets\"].push(item.toJSON());\r\n }\r\n data[\"messageTargetsCount\"] = this.messageTargetsCount;\r\n data[\"newMessagesCount\"] = this.newMessagesCount;\r\n data[\"unrespondedMessagesCount\"] = this.unrespondedMessagesCount;\r\n data[\"selectedChainId\"] = this.selectedChainId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"composeTargetId\"] = this.composeTargetId;\r\n data[\"composeTargetName\"] = this.composeTargetName;\r\n data[\"composeTargetVenueId\"] = this.composeTargetVenueId;\r\n data[\"composeSubject\"] = this.composeSubject;\r\n data[\"composeBody\"] = this.composeBody;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"canFollow\"] = this.canFollow;\r\n data[\"hasSavedSearch\"] = this.hasSavedSearch;\r\n data[\"shareProfileLink\"] = this.shareProfileLink;\r\n data[\"preferedSearchUrl\"] = this.preferedSearchUrl;\r\n data[\"messagesFilter\"] = this.messagesFilter ? this.messagesFilter.toJSON() : undefined;\r\n data[\"isHourlyOnlyVenue\"] = this.isHourlyOnlyVenue;\r\n data[\"showVenueResponseRate\"] = this.showVenueResponseRate;\r\n data[\"hasMessageChains\"] = this.hasMessageChains;\r\n data[\"pendingVisaRequestCount\"] = this.pendingVisaRequestCount;\r\n data[\"unconfirmedToursCount\"] = this.unconfirmedToursCount;\r\n data[\"avgLeadResponseMinutes\"] = this.avgLeadResponseMinutes;\r\n data[\"avgLeadResponseRate\"] = this.avgLeadResponseRate;\r\n data[\"leadRequestTotal\"] = this.leadRequestTotal;\r\n data[\"responsivenessDisplayAfterAmount\"] = this.responsivenessDisplayAfterAmount;\r\n data[\"isSuperUser\"] = this.isSuperUser;\r\n data[\"messengerAction\"] = this.messengerAction;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberMessagesModel extends IMessengerBaseViewModel {\r\n messageChains: MessageChain[] | undefined;\r\n messageTargets: MessageTargetViewModel[] | undefined;\r\n messageTargetsCount: number;\r\n newMessagesCount: number;\r\n unrespondedMessagesCount: number;\r\n selectedChainId: string | undefined;\r\n venueId: string | undefined;\r\n composeTargetId: string;\r\n composeTargetName: string | undefined;\r\n composeTargetVenueId: string | undefined;\r\n composeSubject: string | undefined;\r\n composeBody: string | undefined;\r\n isAdmin: boolean;\r\n canFollow: boolean;\r\n hasSavedSearch: boolean;\r\n shareProfileLink: string | undefined;\r\n preferedSearchUrl: string | undefined;\r\n messagesFilter: MessagesFilter | undefined;\r\n isHourlyOnlyVenue: boolean;\r\n showVenueResponseRate: boolean;\r\n hasMessageChains: boolean;\r\n pendingVisaRequestCount: number;\r\n unconfirmedToursCount: number;\r\n avgLeadResponseMinutes: number;\r\n avgLeadResponseRate: number;\r\n leadRequestTotal: number;\r\n responsivenessDisplayAfterAmount: number;\r\n isSuperUser: boolean;\r\n messengerAction: MessengerAction;\r\n}\r\n\r\nexport class MessageTargetViewModel implements IMessageTargetViewModel {\r\n imageUrl!: string | undefined;\r\n imageDefaults!: string | undefined;\r\n displayName!: string | undefined;\r\n displayLink!: string | undefined;\r\n composeTargetId!: string;\r\n reasonHtml!: string | undefined;\r\n address!: string | undefined;\r\n ctaText!: string | undefined;\r\n venueId!: string | undefined;\r\n isSpaceExpert!: boolean;\r\n\r\n constructor(data?: IMessageTargetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.imageDefaults = _data[\"imageDefaults\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.displayLink = _data[\"displayLink\"];\r\n this.composeTargetId = _data[\"composeTargetId\"];\r\n this.reasonHtml = _data[\"reasonHtml\"];\r\n this.address = _data[\"address\"];\r\n this.ctaText = _data[\"ctaText\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.isSpaceExpert = _data[\"isSpaceExpert\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageTargetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageTargetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"imageDefaults\"] = this.imageDefaults;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"displayLink\"] = this.displayLink;\r\n data[\"composeTargetId\"] = this.composeTargetId;\r\n data[\"reasonHtml\"] = this.reasonHtml;\r\n data[\"address\"] = this.address;\r\n data[\"ctaText\"] = this.ctaText;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"isSpaceExpert\"] = this.isSpaceExpert;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageTargetViewModel {\r\n imageUrl: string | undefined;\r\n imageDefaults: string | undefined;\r\n displayName: string | undefined;\r\n displayLink: string | undefined;\r\n composeTargetId: string;\r\n reasonHtml: string | undefined;\r\n address: string | undefined;\r\n ctaText: string | undefined;\r\n venueId: string | undefined;\r\n isSpaceExpert: boolean;\r\n}\r\n\r\nexport class MessagesFilter implements IMessagesFilter {\r\n filter!: MessagesFilterEnum;\r\n\r\n constructor(data?: IMessagesFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.filter = _data[\"filter\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessagesFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessagesFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"filter\"] = this.filter;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessagesFilter {\r\n filter: MessagesFilterEnum;\r\n}\r\n\r\n/** 0 = AllMessages 1 = Unread 2 = Unresponded 3 = Tours 4 = VisaPending 5 = VisaGranted 6 = Proposals 7 = Archived */\r\nexport enum MessagesFilterEnum {\r\n AllMessages = 0,\r\n Unread = 1,\r\n Unresponded = 2,\r\n Tours = 3,\r\n VisaPending = 4,\r\n VisaGranted = 5,\r\n Proposals = 6,\r\n Archived = 7,\r\n}\r\n\r\n/** 0 = None 1 = ConfirmTour 2 = CancelTour 3 = ChangeTour 4 = AfterTourNotInterested 5 = AfterTourStillThinking 6 = AfterTourReadyToBook 7 = ApproveBooking 8 = DeclineBooking 9 = ScheduleTour 10 = ProposalNotInterested 11 = CreateProposal 12 = NoSpaceToPropose 13 = AfterTourAlreadyBooked 14 = SuggestTour 15 = RequestToBook 16 = BookIt 17 = AfterTourRequestToBook 18 = AfterTourCompleteBooking 19 = TourFeedbackApproveToBook 20 = TourFeedbackReschedule 21 = TourFeedbackDecline */\r\nexport enum MessengerAction {\r\n None = 0,\r\n ConfirmTour = 1,\r\n CancelTour = 2,\r\n ChangeTour = 3,\r\n AfterTourNotInterested = 4,\r\n AfterTourStillThinking = 5,\r\n AfterTourReadyToBook = 6,\r\n ApproveBooking = 7,\r\n DeclineBooking = 8,\r\n ScheduleTour = 9,\r\n ProposalNotInterested = 10,\r\n CreateProposal = 11,\r\n NoSpaceToPropose = 12,\r\n AfterTourAlreadyBooked = 13,\r\n SuggestTour = 14,\r\n RequestToBook = 15,\r\n BookIt = 16,\r\n AfterTourRequestToBook = 17,\r\n AfterTourCompleteBooking = 18,\r\n TourFeedbackApproveToBook = 19,\r\n TourFeedbackReschedule = 20,\r\n TourFeedbackDecline = 21,\r\n}\r\n\r\n/** 1 = Member 2 = Venue 4 = MemberGroup 8 = VenueGroup */\r\nexport enum EntityType {\r\n Member = 1,\r\n Venue = 2,\r\n MemberGroup = 4,\r\n VenueGroup = 8,\r\n}\r\n\r\nexport class MemberGroupViewModel implements IMemberGroupViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n phoneContact!: string | undefined;\r\n emailContact!: string | undefined;\r\n website!: string | undefined;\r\n twitterHandler!: string | undefined;\r\n headquarters!: MemberGroupHeadquarterViewModel[];\r\n notificationEmails!: string | undefined;\r\n ownerEmail!: string | undefined;\r\n ownerId!: string;\r\n admins!: MemberListItemViewModel[];\r\n enterpriseAccountId!: string | undefined;\r\n bookingDelegates!: MemberListItemViewModel[];\r\n userType!: MemberGroupUserType;\r\n enableLiquidSpaceDesks!: boolean;\r\n enableLiquidSpacePro!: boolean;\r\n memberGroupType!: MemberGroupType;\r\n defaultCollectionIds!: string | undefined;\r\n suppressPromotionalEmails!: boolean;\r\n suppressInviteEmails!: boolean;\r\n emailDomains!: string | undefined;\r\n searchSettings!: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n extendedSearchOptions!: ExtendedSearchOptionsModel;\r\n requireApprovalBeforeFollow!: boolean;\r\n requirePrivateCalendarVisibility!: boolean;\r\n disableCCEntry!: boolean;\r\n defaultPromotionId!: string | undefined;\r\n promotions!: MemberGroupPromotionViewModel[];\r\n description!: string | undefined;\r\n brandedLogo!: PictureURLViewModel | undefined;\r\n crosssiteBrandingType!: CrosssiteBrandingType;\r\n disableRecurringReservations!: boolean;\r\n maxDailyBudget!: number | undefined;\r\n maxMonthlyBudget!: number | undefined;\r\n maxMonthlyMemberBudget!: number | undefined;\r\n headerMenuOptionsVisibility!: HeaderMenuOptions;\r\n leadTrackingMemberGroupId!: string | undefined;\r\n customCss!: string | undefined;\r\n portalOptions!: BrandedPortalOptionsModel;\r\n emailOptions!: BrandedEmailOptionsModel;\r\n brandedEmailLogo!: PictureURLViewModel | undefined;\r\n\r\n constructor(data?: IMemberGroupViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.phoneContact = _data[\"phoneContact\"];\r\n this.emailContact = _data[\"emailContact\"];\r\n this.website = _data[\"website\"];\r\n this.twitterHandler = _data[\"twitterHandler\"];\r\n if (Array.isArray(_data[\"headquarters\"])) {\r\n this.headquarters = [] as any;\r\n for (let item of _data[\"headquarters\"])\r\n this.headquarters!.push(MemberGroupHeadquarterViewModel.fromJS(item));\r\n }\r\n this.notificationEmails = _data[\"notificationEmails\"];\r\n this.ownerEmail = _data[\"ownerEmail\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n if (Array.isArray(_data[\"admins\"])) {\r\n this.admins = [] as any;\r\n for (let item of _data[\"admins\"])\r\n this.admins!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n if (Array.isArray(_data[\"bookingDelegates\"])) {\r\n this.bookingDelegates = [] as any;\r\n for (let item of _data[\"bookingDelegates\"])\r\n this.bookingDelegates!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n this.userType = _data[\"userType\"];\r\n this.enableLiquidSpaceDesks = _data[\"enableLiquidSpaceDesks\"];\r\n this.enableLiquidSpacePro = _data[\"enableLiquidSpacePro\"];\r\n this.memberGroupType = _data[\"memberGroupType\"];\r\n this.defaultCollectionIds = _data[\"defaultCollectionIds\"];\r\n this.suppressPromotionalEmails = _data[\"suppressPromotionalEmails\"];\r\n this.suppressInviteEmails = _data[\"suppressInviteEmails\"];\r\n this.emailDomains = _data[\"emailDomains\"];\r\n if (_data[\"searchSettings\"]) {\r\n this.searchSettings = {} as any;\r\n for (let key in _data[\"searchSettings\"]) {\r\n if (_data[\"searchSettings\"].hasOwnProperty(key))\r\n (this.searchSettings)![key] = _data[\"searchSettings\"][key];\r\n }\r\n }\r\n this.extendedSearchOptions = _data[\"extendedSearchOptions\"] ? ExtendedSearchOptionsModel.fromJS(_data[\"extendedSearchOptions\"]) : undefined;\r\n this.requireApprovalBeforeFollow = _data[\"requireApprovalBeforeFollow\"];\r\n this.requirePrivateCalendarVisibility = _data[\"requirePrivateCalendarVisibility\"];\r\n this.disableCCEntry = _data[\"disableCCEntry\"];\r\n this.defaultPromotionId = _data[\"defaultPromotionId\"];\r\n if (Array.isArray(_data[\"promotions\"])) {\r\n this.promotions = [] as any;\r\n for (let item of _data[\"promotions\"])\r\n this.promotions!.push(MemberGroupPromotionViewModel.fromJS(item));\r\n }\r\n this.description = _data[\"description\"];\r\n this.brandedLogo = _data[\"brandedLogo\"] ? PictureURLViewModel.fromJS(_data[\"brandedLogo\"]) : undefined;\r\n this.crosssiteBrandingType = _data[\"crosssiteBrandingType\"];\r\n this.disableRecurringReservations = _data[\"disableRecurringReservations\"];\r\n this.maxDailyBudget = _data[\"maxDailyBudget\"];\r\n this.maxMonthlyBudget = _data[\"maxMonthlyBudget\"];\r\n this.maxMonthlyMemberBudget = _data[\"maxMonthlyMemberBudget\"];\r\n this.headerMenuOptionsVisibility = _data[\"headerMenuOptionsVisibility\"];\r\n this.leadTrackingMemberGroupId = _data[\"leadTrackingMemberGroupId\"];\r\n this.customCss = _data[\"customCss\"];\r\n this.portalOptions = _data[\"portalOptions\"] ? BrandedPortalOptionsModel.fromJS(_data[\"portalOptions\"]) : undefined;\r\n this.emailOptions = _data[\"emailOptions\"] ? BrandedEmailOptionsModel.fromJS(_data[\"emailOptions\"]) : undefined;\r\n this.brandedEmailLogo = _data[\"brandedEmailLogo\"] ? PictureURLViewModel.fromJS(_data[\"brandedEmailLogo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"phoneContact\"] = this.phoneContact;\r\n data[\"emailContact\"] = this.emailContact;\r\n data[\"website\"] = this.website;\r\n data[\"twitterHandler\"] = this.twitterHandler;\r\n if (Array.isArray(this.headquarters)) {\r\n data[\"headquarters\"] = [];\r\n for (let item of this.headquarters)\r\n data[\"headquarters\"].push(item.toJSON());\r\n }\r\n data[\"notificationEmails\"] = this.notificationEmails;\r\n data[\"ownerEmail\"] = this.ownerEmail;\r\n data[\"ownerId\"] = this.ownerId;\r\n if (Array.isArray(this.admins)) {\r\n data[\"admins\"] = [];\r\n for (let item of this.admins)\r\n data[\"admins\"].push(item.toJSON());\r\n }\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n if (Array.isArray(this.bookingDelegates)) {\r\n data[\"bookingDelegates\"] = [];\r\n for (let item of this.bookingDelegates)\r\n data[\"bookingDelegates\"].push(item.toJSON());\r\n }\r\n data[\"userType\"] = this.userType;\r\n data[\"enableLiquidSpaceDesks\"] = this.enableLiquidSpaceDesks;\r\n data[\"enableLiquidSpacePro\"] = this.enableLiquidSpacePro;\r\n data[\"memberGroupType\"] = this.memberGroupType;\r\n data[\"defaultCollectionIds\"] = this.defaultCollectionIds;\r\n data[\"suppressPromotionalEmails\"] = this.suppressPromotionalEmails;\r\n data[\"suppressInviteEmails\"] = this.suppressInviteEmails;\r\n data[\"emailDomains\"] = this.emailDomains;\r\n if (this.searchSettings) {\r\n data[\"searchSettings\"] = {};\r\n for (let key in this.searchSettings) {\r\n if (this.searchSettings.hasOwnProperty(key))\r\n (data[\"searchSettings\"])[key] = (this.searchSettings)[key];\r\n }\r\n }\r\n data[\"extendedSearchOptions\"] = this.extendedSearchOptions ? this.extendedSearchOptions.toJSON() : undefined;\r\n data[\"requireApprovalBeforeFollow\"] = this.requireApprovalBeforeFollow;\r\n data[\"requirePrivateCalendarVisibility\"] = this.requirePrivateCalendarVisibility;\r\n data[\"disableCCEntry\"] = this.disableCCEntry;\r\n data[\"defaultPromotionId\"] = this.defaultPromotionId;\r\n if (Array.isArray(this.promotions)) {\r\n data[\"promotions\"] = [];\r\n for (let item of this.promotions)\r\n data[\"promotions\"].push(item.toJSON());\r\n }\r\n data[\"description\"] = this.description;\r\n data[\"brandedLogo\"] = this.brandedLogo ? this.brandedLogo.toJSON() : undefined;\r\n data[\"crosssiteBrandingType\"] = this.crosssiteBrandingType;\r\n data[\"disableRecurringReservations\"] = this.disableRecurringReservations;\r\n data[\"maxDailyBudget\"] = this.maxDailyBudget;\r\n data[\"maxMonthlyBudget\"] = this.maxMonthlyBudget;\r\n data[\"maxMonthlyMemberBudget\"] = this.maxMonthlyMemberBudget;\r\n data[\"headerMenuOptionsVisibility\"] = this.headerMenuOptionsVisibility;\r\n data[\"leadTrackingMemberGroupId\"] = this.leadTrackingMemberGroupId;\r\n data[\"customCss\"] = this.customCss;\r\n data[\"portalOptions\"] = this.portalOptions ? this.portalOptions.toJSON() : undefined;\r\n data[\"emailOptions\"] = this.emailOptions ? this.emailOptions.toJSON() : undefined;\r\n data[\"brandedEmailLogo\"] = this.brandedEmailLogo ? this.brandedEmailLogo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupViewModel {\r\n id: string;\r\n name: string | undefined;\r\n phoneContact: string | undefined;\r\n emailContact: string | undefined;\r\n website: string | undefined;\r\n twitterHandler: string | undefined;\r\n headquarters: MemberGroupHeadquarterViewModel[];\r\n notificationEmails: string | undefined;\r\n ownerEmail: string | undefined;\r\n ownerId: string;\r\n admins: MemberListItemViewModel[];\r\n enterpriseAccountId: string | undefined;\r\n bookingDelegates: MemberListItemViewModel[];\r\n userType: MemberGroupUserType;\r\n enableLiquidSpaceDesks: boolean;\r\n enableLiquidSpacePro: boolean;\r\n memberGroupType: MemberGroupType;\r\n defaultCollectionIds: string | undefined;\r\n suppressPromotionalEmails: boolean;\r\n suppressInviteEmails: boolean;\r\n emailDomains: string | undefined;\r\n searchSettings: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n extendedSearchOptions: ExtendedSearchOptionsModel;\r\n requireApprovalBeforeFollow: boolean;\r\n requirePrivateCalendarVisibility: boolean;\r\n disableCCEntry: boolean;\r\n defaultPromotionId: string | undefined;\r\n promotions: MemberGroupPromotionViewModel[];\r\n description: string | undefined;\r\n brandedLogo: PictureURLViewModel | undefined;\r\n crosssiteBrandingType: CrosssiteBrandingType;\r\n disableRecurringReservations: boolean;\r\n maxDailyBudget: number | undefined;\r\n maxMonthlyBudget: number | undefined;\r\n maxMonthlyMemberBudget: number | undefined;\r\n headerMenuOptionsVisibility: HeaderMenuOptions;\r\n leadTrackingMemberGroupId: string | undefined;\r\n customCss: string | undefined;\r\n portalOptions: BrandedPortalOptionsModel;\r\n emailOptions: BrandedEmailOptionsModel;\r\n brandedEmailLogo: PictureURLViewModel | undefined;\r\n}\r\n\r\nexport class MemberGroupHeadquarterViewModel implements IMemberGroupHeadquarterViewModel {\r\n id!: string;\r\n memberGroupId!: string;\r\n venueId!: string;\r\n venueGroupId!: string;\r\n address!: string | undefined;\r\n title!: string | undefined;\r\n venueName!: string | undefined;\r\n venueGroupName!: string | undefined;\r\n\r\n constructor(data?: IMemberGroupHeadquarterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.memberGroupId = _data[\"memberGroupId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.address = _data[\"address\"];\r\n this.title = _data[\"title\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueGroupName = _data[\"venueGroupName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupHeadquarterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupHeadquarterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"memberGroupId\"] = this.memberGroupId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"address\"] = this.address;\r\n data[\"title\"] = this.title;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueGroupName\"] = this.venueGroupName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupHeadquarterViewModel {\r\n id: string;\r\n memberGroupId: string;\r\n venueId: string;\r\n venueGroupId: string;\r\n address: string | undefined;\r\n title: string | undefined;\r\n venueName: string | undefined;\r\n venueGroupName: string | undefined;\r\n}\r\n\r\n/** 0 = Guest 1 = AffiliateUser */\r\nexport enum MemberGroupUserType {\r\n Guest = 0,\r\n AffiliateUser = 1,\r\n}\r\n\r\n/** 0 = Corporate 1 = Promotion 2 = Venue 3 = Event 4 = Mobility */\r\nexport enum MemberGroupType {\r\n Corporate = 0,\r\n Promotion = 1,\r\n Venue = 2,\r\n Event = 3,\r\n Mobility = 4,\r\n}\r\n\r\nexport class MemberGroupPromotionViewModel implements IMemberGroupPromotionViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n discountTypeString!: string | undefined;\r\n discountAmount!: number;\r\n\r\n constructor(data?: IMemberGroupPromotionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.discountTypeString = _data[\"discountTypeString\"];\r\n this.discountAmount = _data[\"discountAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupPromotionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupPromotionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"discountTypeString\"] = this.discountTypeString;\r\n data[\"discountAmount\"] = this.discountAmount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupPromotionViewModel {\r\n id: string;\r\n name: string | undefined;\r\n discountTypeString: string | undefined;\r\n discountAmount: number;\r\n}\r\n\r\n/** 0 = None 1 = Sessional 2 = OnLogin */\r\nexport enum CrosssiteBrandingType {\r\n None = 0,\r\n Sessional = 1,\r\n OnLogin = 2,\r\n}\r\n\r\n/** 0 = None 1 = FindSpace 2 = ListSpace 4 = Enterprise 8 = Help 16 = Join 268435455 = All */\r\nexport enum HeaderMenuOptions {\r\n None = 0,\r\n FindSpace = 1,\r\n ListSpace = 2,\r\n Enterprise = 4,\r\n Help = 8,\r\n Join = 16,\r\n All = 268435455,\r\n}\r\n\r\nexport class MemberGroupListViewModel implements IMemberGroupListViewModel {\r\n id!: string;\r\n name!: string;\r\n enterpriseAccountId!: string | undefined;\r\n enterpriseAccountName!: string | undefined;\r\n isEnterpriseAccountDeleted!: boolean | undefined;\r\n memberCount!: number;\r\n\r\n constructor(data?: IMemberGroupListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n this.enterpriseAccountName = _data[\"enterpriseAccountName\"];\r\n this.isEnterpriseAccountDeleted = _data[\"isEnterpriseAccountDeleted\"];\r\n this.memberCount = _data[\"memberCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n data[\"enterpriseAccountName\"] = this.enterpriseAccountName;\r\n data[\"isEnterpriseAccountDeleted\"] = this.isEnterpriseAccountDeleted;\r\n data[\"memberCount\"] = this.memberCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupListViewModel {\r\n id: string;\r\n name: string;\r\n enterpriseAccountId: string | undefined;\r\n enterpriseAccountName: string | undefined;\r\n isEnterpriseAccountDeleted: boolean | undefined;\r\n memberCount: number;\r\n}\r\n\r\nexport class ManageMemberGroupInvitationPreviewEmailViewModel implements IManageMemberGroupInvitationPreviewEmailViewModel {\r\n message!: string | undefined;\r\n fName!: string | undefined;\r\n lName!: string | undefined;\r\n\r\n constructor(data?: IManageMemberGroupInvitationPreviewEmailViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.fName = _data[\"fName\"];\r\n this.lName = _data[\"lName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ManageMemberGroupInvitationPreviewEmailViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ManageMemberGroupInvitationPreviewEmailViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"fName\"] = this.fName;\r\n data[\"lName\"] = this.lName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IManageMemberGroupInvitationPreviewEmailViewModel {\r\n message: string | undefined;\r\n fName: string | undefined;\r\n lName: string | undefined;\r\n}\r\n\r\nexport class MarketplaceAccount implements IMarketplaceAccount {\r\n payableKey!: PayableKey;\r\n name!: string;\r\n paymentTerm!: PaymentTerm;\r\n invoiceStatus!: InvoiceGenerationStatus;\r\n targetBalance!: number;\r\n debit!: number;\r\n credit!: number;\r\n nextInvoiceDate!: string | undefined;\r\n\r\n constructor(data?: IMarketplaceAccount) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.paymentTerm = _data[\"paymentTerm\"];\r\n this.invoiceStatus = _data[\"invoiceStatus\"];\r\n this.targetBalance = _data[\"targetBalance\"];\r\n this.debit = _data[\"debit\"];\r\n this.credit = _data[\"credit\"];\r\n this.nextInvoiceDate = _data[\"nextInvoiceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceAccount {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceAccount();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"paymentTerm\"] = this.paymentTerm;\r\n data[\"invoiceStatus\"] = this.invoiceStatus;\r\n data[\"targetBalance\"] = this.targetBalance;\r\n data[\"debit\"] = this.debit;\r\n data[\"credit\"] = this.credit;\r\n data[\"nextInvoiceDate\"] = this.nextInvoiceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceAccount {\r\n payableKey: PayableKey;\r\n name: string;\r\n paymentTerm: PaymentTerm;\r\n invoiceStatus: InvoiceGenerationStatus;\r\n targetBalance: number;\r\n debit: number;\r\n credit: number;\r\n nextInvoiceDate: string | undefined;\r\n}\r\n\r\nexport class MarketplaceTransaction implements IMarketplaceTransaction {\r\n id!: string;\r\n customerProfileId!: string;\r\n paymentProfileId!: string;\r\n createDate!: string;\r\n parentId!: string | undefined;\r\n reservationId!: string | undefined;\r\n amountInfo!: CostInfo;\r\n isCredit!: boolean;\r\n\r\n constructor(data?: IMarketplaceTransaction) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.customerProfileId = _data[\"customerProfileId\"];\r\n this.paymentProfileId = _data[\"paymentProfileId\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.parentId = _data[\"parentId\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.amountInfo = _data[\"amountInfo\"] ? CostInfo.fromJS(_data[\"amountInfo\"]) : undefined;\r\n this.isCredit = _data[\"isCredit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceTransaction {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceTransaction();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"customerProfileId\"] = this.customerProfileId;\r\n data[\"paymentProfileId\"] = this.paymentProfileId;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"parentId\"] = this.parentId;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"amountInfo\"] = this.amountInfo ? this.amountInfo.toJSON() : undefined;\r\n data[\"isCredit\"] = this.isCredit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceTransaction {\r\n id: string;\r\n customerProfileId: string;\r\n paymentProfileId: string;\r\n createDate: string;\r\n parentId: string | undefined;\r\n reservationId: string | undefined;\r\n amountInfo: CostInfo;\r\n isCredit: boolean;\r\n}\r\n\r\nexport class MarketplaceTransactionWithStartDate implements IMarketplaceTransactionWithStartDate {\r\n transaction!: MarketplaceTransaction;\r\n /** Reservation start date in Venue Time Zone */\r\n startDate!: string | undefined;\r\n\r\n constructor(data?: IMarketplaceTransactionWithStartDate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.transaction = _data[\"transaction\"] ? MarketplaceTransaction.fromJS(_data[\"transaction\"]) : undefined;\r\n this.startDate = _data[\"startDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceTransactionWithStartDate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceTransactionWithStartDate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"transaction\"] = this.transaction ? this.transaction.toJSON() : undefined;\r\n data[\"startDate\"] = this.startDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceTransactionWithStartDate {\r\n transaction: MarketplaceTransaction;\r\n /** Reservation start date in Venue Time Zone */\r\n startDate: string | undefined;\r\n}\r\n\r\nexport class MarketplaceInvoice implements IMarketplaceInvoice {\r\n id!: string;\r\n invoiceNumber!: string | undefined;\r\n sendDate!: string | undefined;\r\n dueDate!: string | undefined;\r\n billingDate!: string;\r\n status!: InvoiceStatus;\r\n amount!: number;\r\n items!: MarketplaceInvoiceItem[];\r\n invoiceUrl!: string | undefined;\r\n autoGenerated!: boolean;\r\n\r\n constructor(data?: IMarketplaceInvoice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.invoiceNumber = _data[\"invoiceNumber\"];\r\n this.sendDate = _data[\"sendDate\"];\r\n this.dueDate = _data[\"dueDate\"];\r\n this.billingDate = _data[\"billingDate\"];\r\n this.status = _data[\"status\"];\r\n this.amount = _data[\"amount\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(MarketplaceInvoiceItem.fromJS(item));\r\n }\r\n this.invoiceUrl = _data[\"invoiceUrl\"];\r\n this.autoGenerated = _data[\"autoGenerated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceInvoice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceInvoice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"invoiceNumber\"] = this.invoiceNumber;\r\n data[\"sendDate\"] = this.sendDate;\r\n data[\"dueDate\"] = this.dueDate;\r\n data[\"billingDate\"] = this.billingDate;\r\n data[\"status\"] = this.status;\r\n data[\"amount\"] = this.amount;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"invoiceUrl\"] = this.invoiceUrl;\r\n data[\"autoGenerated\"] = this.autoGenerated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceInvoice {\r\n id: string;\r\n invoiceNumber: string | undefined;\r\n sendDate: string | undefined;\r\n dueDate: string | undefined;\r\n billingDate: string;\r\n status: InvoiceStatus;\r\n amount: number;\r\n items: MarketplaceInvoiceItem[];\r\n invoiceUrl: string | undefined;\r\n autoGenerated: boolean;\r\n}\r\n\r\n/** 0 = Unknown 1 = Scheduled 2 = Draft 3 = Open 4 = Overdue 5 = Paid 6 = Void 7 = ProcessingError */\r\nexport enum InvoiceStatus {\r\n Unknown = 0,\r\n Scheduled = 1,\r\n Draft = 2,\r\n Open = 3,\r\n Overdue = 4,\r\n Paid = 5,\r\n Void = 6,\r\n ProcessingError = 7,\r\n}\r\n\r\nexport class MarketplaceInvoiceItem implements IMarketplaceInvoiceItem {\r\n description!: string | undefined;\r\n amount!: number;\r\n\r\n constructor(data?: IMarketplaceInvoiceItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.amount = _data[\"amount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceInvoiceItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceInvoiceItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"amount\"] = this.amount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceInvoiceItem {\r\n description: string | undefined;\r\n amount: number;\r\n}\r\n\r\nexport class AddMarketplaceInvoiceRequest implements IAddMarketplaceInvoiceRequest {\r\n invoiceId!: string;\r\n periodDate!: string;\r\n\r\n constructor(data?: IAddMarketplaceInvoiceRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.periodDate = _data[\"periodDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddMarketplaceInvoiceRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddMarketplaceInvoiceRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"periodDate\"] = this.periodDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddMarketplaceInvoiceRequest {\r\n invoiceId: string;\r\n periodDate: string;\r\n}\r\n\r\nexport class VenueSelectorListItem implements IVenueSelectorListItem {\r\n id!: string;\r\n name!: string;\r\n status!: VenueStatusNew;\r\n openStatus!: VenueOpenStatus;\r\n icon!: string | undefined;\r\n imageUrl!: string | undefined;\r\n vlpUrl!: string;\r\n address!: string;\r\n\r\n constructor(data?: IVenueSelectorListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.status = _data[\"status\"];\r\n this.openStatus = _data[\"openStatus\"];\r\n this.icon = _data[\"icon\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.vlpUrl = _data[\"vlpUrl\"];\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSelectorListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSelectorListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"status\"] = this.status;\r\n data[\"openStatus\"] = this.openStatus;\r\n data[\"icon\"] = this.icon;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"vlpUrl\"] = this.vlpUrl;\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSelectorListItem {\r\n id: string;\r\n name: string;\r\n status: VenueStatusNew;\r\n openStatus: VenueOpenStatus;\r\n icon: string | undefined;\r\n imageUrl: string | undefined;\r\n vlpUrl: string;\r\n address: string;\r\n}\r\n\r\n/** 0 = Unconfirmed 1 = Open 2 = Limited 3 = Closed */\r\nexport enum VenueOpenStatus {\r\n Unconfirmed = 0,\r\n Open = 1,\r\n Limited = 2,\r\n Closed = 3,\r\n}\r\n\r\nexport class VenueBrief extends VenueSelectorListItem implements IVenueBrief {\r\n isVenueBrief!: boolean;\r\n workspaces!: WorkspaceBrief[];\r\n userIsCalendarAdmin!: boolean;\r\n userIsAdminOrOwner!: boolean;\r\n enableWorkspaceAnalytics!: boolean;\r\n hasVenueReservations!: boolean;\r\n isSettingsDisabled!: boolean;\r\n isReferralDisabled!: boolean;\r\n liquidSpaceProStatus!: LiquidSpaceProStatus;\r\n venueBasicListingCompleted!: boolean;\r\n workspaceBasicListingCompleted!: boolean;\r\n integrationOption!: string;\r\n hasIntegration!: boolean;\r\n hasRegusIntegration!: boolean;\r\n hasDeskimoIntegration!: boolean;\r\n isOnlinePaymentSupported!: boolean;\r\n isInternational!: boolean;\r\n availableWorkspaceStatuses!: WorkspaceStatus[];\r\n licenseVersion!: LicenseVersion;\r\n\r\n constructor(data?: IVenueBrief) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.isVenueBrief = _data[\"isVenueBrief\"];\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(WorkspaceBrief.fromJS(item));\r\n }\r\n this.userIsCalendarAdmin = _data[\"userIsCalendarAdmin\"];\r\n this.userIsAdminOrOwner = _data[\"userIsAdminOrOwner\"];\r\n this.enableWorkspaceAnalytics = _data[\"enableWorkspaceAnalytics\"];\r\n this.hasVenueReservations = _data[\"hasVenueReservations\"];\r\n this.isSettingsDisabled = _data[\"isSettingsDisabled\"];\r\n this.isReferralDisabled = _data[\"isReferralDisabled\"];\r\n this.liquidSpaceProStatus = _data[\"liquidSpaceProStatus\"];\r\n this.venueBasicListingCompleted = _data[\"venueBasicListingCompleted\"];\r\n this.workspaceBasicListingCompleted = _data[\"workspaceBasicListingCompleted\"];\r\n this.integrationOption = _data[\"integrationOption\"];\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.hasRegusIntegration = _data[\"hasRegusIntegration\"];\r\n this.hasDeskimoIntegration = _data[\"hasDeskimoIntegration\"];\r\n this.isOnlinePaymentSupported = _data[\"isOnlinePaymentSupported\"];\r\n this.isInternational = _data[\"isInternational\"];\r\n if (Array.isArray(_data[\"availableWorkspaceStatuses\"])) {\r\n this.availableWorkspaceStatuses = [] as any;\r\n for (let item of _data[\"availableWorkspaceStatuses\"])\r\n this.availableWorkspaceStatuses!.push(item);\r\n }\r\n this.licenseVersion = _data[\"licenseVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueBrief {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueBrief();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isVenueBrief\"] = this.isVenueBrief;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n data[\"userIsCalendarAdmin\"] = this.userIsCalendarAdmin;\r\n data[\"userIsAdminOrOwner\"] = this.userIsAdminOrOwner;\r\n data[\"enableWorkspaceAnalytics\"] = this.enableWorkspaceAnalytics;\r\n data[\"hasVenueReservations\"] = this.hasVenueReservations;\r\n data[\"isSettingsDisabled\"] = this.isSettingsDisabled;\r\n data[\"isReferralDisabled\"] = this.isReferralDisabled;\r\n data[\"liquidSpaceProStatus\"] = this.liquidSpaceProStatus;\r\n data[\"venueBasicListingCompleted\"] = this.venueBasicListingCompleted;\r\n data[\"workspaceBasicListingCompleted\"] = this.workspaceBasicListingCompleted;\r\n data[\"integrationOption\"] = this.integrationOption;\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"hasRegusIntegration\"] = this.hasRegusIntegration;\r\n data[\"hasDeskimoIntegration\"] = this.hasDeskimoIntegration;\r\n data[\"isOnlinePaymentSupported\"] = this.isOnlinePaymentSupported;\r\n data[\"isInternational\"] = this.isInternational;\r\n if (Array.isArray(this.availableWorkspaceStatuses)) {\r\n data[\"availableWorkspaceStatuses\"] = [];\r\n for (let item of this.availableWorkspaceStatuses)\r\n data[\"availableWorkspaceStatuses\"].push(item);\r\n }\r\n data[\"licenseVersion\"] = this.licenseVersion;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueBrief extends IVenueSelectorListItem {\r\n isVenueBrief: boolean;\r\n workspaces: WorkspaceBrief[];\r\n userIsCalendarAdmin: boolean;\r\n userIsAdminOrOwner: boolean;\r\n enableWorkspaceAnalytics: boolean;\r\n hasVenueReservations: boolean;\r\n isSettingsDisabled: boolean;\r\n isReferralDisabled: boolean;\r\n liquidSpaceProStatus: LiquidSpaceProStatus;\r\n venueBasicListingCompleted: boolean;\r\n workspaceBasicListingCompleted: boolean;\r\n integrationOption: string;\r\n hasIntegration: boolean;\r\n hasRegusIntegration: boolean;\r\n hasDeskimoIntegration: boolean;\r\n isOnlinePaymentSupported: boolean;\r\n isInternational: boolean;\r\n availableWorkspaceStatuses: WorkspaceStatus[];\r\n licenseVersion: LicenseVersion;\r\n}\r\n\r\nexport class WorkspaceBrief implements IWorkspaceBrief {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IWorkspaceBrief) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceBrief {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceBrief();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceBrief {\r\n id: string;\r\n name: string;\r\n}\r\n\r\n/** 0 = None 1 = Invited 2 = Pending 3 = Enabled 4 = Disabled */\r\nexport enum LiquidSpaceProStatus {\r\n None = 0,\r\n Invited = 1,\r\n Pending = 2,\r\n Enabled = 3,\r\n Disabled = 4,\r\n}\r\n\r\n/** 0 = Dash1 1 = Dash2 */\r\nexport enum LicenseVersion {\r\n Dash1 = 0,\r\n Dash2 = 1,\r\n}\r\n\r\nexport class IntegrationOptionRequest implements IIntegrationOptionRequest {\r\n name!: string;\r\n isOtherOption!: boolean;\r\n supportArticleLink!: string | undefined;\r\n\r\n constructor(data?: IIntegrationOptionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.isOtherOption = _data[\"isOtherOption\"];\r\n this.supportArticleLink = _data[\"supportArticleLink\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IntegrationOptionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IntegrationOptionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"isOtherOption\"] = this.isOtherOption;\r\n data[\"supportArticleLink\"] = this.supportArticleLink;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIntegrationOptionRequest {\r\n name: string;\r\n isOtherOption: boolean;\r\n supportArticleLink: string | undefined;\r\n}\r\n\r\nexport class VenueSettingsModel implements IVenueSettingsModel {\r\n id!: string;\r\n fullName!: string;\r\n description!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n simpleAddress1!: string | undefined;\r\n simpleAddress2!: string | undefined;\r\n city!: string | undefined;\r\n zip!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n venueHostGuid!: string;\r\n streetViewParameters!: StreetViewModel;\r\n percentageTax!: number | undefined;\r\n fixedAmountTax!: number | undefined;\r\n taxApplyType!: VenueTaxApplyType;\r\n applyTaxToIncidentals!: boolean;\r\n billingContact!: BillingContactModel;\r\n hours!: HoursViewModel;\r\n statusNew!: VenueStatusNew;\r\n defaultBookingMethod!: BookingMethod;\r\n defaultBookingMethodHourly!: BookingMethod;\r\n timeZoneId!: string | undefined;\r\n licenseVersion!: LicenseVersion;\r\n enableElectronicSignatures!: boolean;\r\n seoTitle!: string | undefined;\r\n seoDescription!: string | undefined;\r\n inSetupDate!: string | undefined;\r\n launchedDate!: string | undefined;\r\n publishedDate!: string | undefined;\r\n claimSentDate!: string | undefined;\r\n claimSentFollowupDate!: string | undefined;\r\n retiredDate!: string | undefined;\r\n professionalPhotoRank!: PhotoRankEnum;\r\n professionalPhotoDate!: string | undefined;\r\n source!: VenueSource;\r\n classification!: VenueClassification;\r\n rank!: VenueRank;\r\n currency!: CurrencyType;\r\n venueNameSynonymsString!: string | undefined;\r\n vlpUrlSlug!: string | undefined;\r\n accountId!: string | undefined;\r\n enableHostReferral!: boolean;\r\n referralEmail!: string | undefined;\r\n proposalCreditsTotalAmount!: number;\r\n enableWorkspaceAnalytics!: boolean;\r\n liquidSpaceProStatus!: LiquidSpaceProStatus;\r\n enableMembership!: boolean;\r\n enableLeadXMLAttachments!: boolean;\r\n leadDadiAccountID!: string | undefined;\r\n externalPropertyId!: string | undefined;\r\n gCalEndpoint!: GCalEndpoint;\r\n exchangeUserName!: string | undefined;\r\n exchangeUserPass!: string | undefined;\r\n exchangeAddress!: string | undefined;\r\n exchangeEndpoint!: ExchangeEndpoint;\r\n ownerIdForExchangeSourcedReservations!: string;\r\n morningStarURL!: string | undefined;\r\n morningStarIntegrationUser!: string | undefined;\r\n morningStarIntegrationPassword!: string | undefined;\r\n morningStarClientId!: string | undefined;\r\n morningStarLocationId!: string | undefined;\r\n morningStarVisaId!: string | undefined;\r\n morningStarDontSendInvitationEmail!: boolean;\r\n rjMetisVenueId!: string | undefined;\r\n rjMetisReservationsOwnerId!: string;\r\n rjMetisVisaId!: string;\r\n rjMetisSyncTenants!: boolean;\r\n evoApiConnectionId!: string;\r\n ownerIdForIOSourcedReservations!: string;\r\n ioCenterId!: string | undefined;\r\n evoClientId!: string | undefined;\r\n enableMemberClientId!: boolean;\r\n officeRnDOrganizationId!: string;\r\n officeRnDOfficeId!: string | undefined;\r\n officeRnDWebhookSecret!: string | undefined;\r\n ownerIdForOfficeRnDSourcedReservations!: string;\r\n officeRnDTeamForLiquidspaceSourcedReservations!: string | undefined;\r\n officeRnDOwnerForLiquidspaceSourcedReservations!: string | undefined;\r\n ownerIdForMSGraphSourcedReservations!: string;\r\n msGraphId!: string | undefined;\r\n msGraphEmail!: string | undefined;\r\n deskimoMarketCode!: string | undefined;\r\n deskimoPropertyReference!: string | undefined;\r\n ownerIdForDeskimoSourcedReservations!: string | undefined;\r\n hasIntegration!: boolean;\r\n venueHasExchangeIntegration!: boolean;\r\n pictureURLs!: PictureURLViewModel[];\r\n amenities!: VenueAmenitiesModel;\r\n openStatus!: VenueOpenStatus;\r\n created!: string;\r\n claimProfileLink!: string;\r\n integrationOption!: string | undefined;\r\n vlpUrl!: string | undefined;\r\n customLicensePdfTemplate!: string | undefined;\r\n\r\n constructor(data?: IVenueSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.description = _data[\"description\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.simpleAddress1 = _data[\"simpleAddress1\"];\r\n this.simpleAddress2 = _data[\"simpleAddress2\"];\r\n this.city = _data[\"city\"];\r\n this.zip = _data[\"zip\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.venueHostGuid = _data[\"venueHostGuid\"];\r\n this.streetViewParameters = _data[\"streetViewParameters\"] ? StreetViewModel.fromJS(_data[\"streetViewParameters\"]) : undefined;\r\n this.percentageTax = _data[\"percentageTax\"];\r\n this.fixedAmountTax = _data[\"fixedAmountTax\"];\r\n this.taxApplyType = _data[\"taxApplyType\"];\r\n this.applyTaxToIncidentals = _data[\"applyTaxToIncidentals\"];\r\n this.billingContact = _data[\"billingContact\"] ? BillingContactModel.fromJS(_data[\"billingContact\"]) : undefined;\r\n this.hours = _data[\"hours\"] ? HoursViewModel.fromJS(_data[\"hours\"]) : undefined;\r\n this.statusNew = _data[\"statusNew\"];\r\n this.defaultBookingMethod = _data[\"defaultBookingMethod\"];\r\n this.defaultBookingMethodHourly = _data[\"defaultBookingMethodHourly\"];\r\n this.timeZoneId = _data[\"timeZoneId\"];\r\n this.licenseVersion = _data[\"licenseVersion\"];\r\n this.enableElectronicSignatures = _data[\"enableElectronicSignatures\"];\r\n this.seoTitle = _data[\"seoTitle\"];\r\n this.seoDescription = _data[\"seoDescription\"];\r\n this.inSetupDate = _data[\"inSetupDate\"];\r\n this.launchedDate = _data[\"launchedDate\"];\r\n this.publishedDate = _data[\"publishedDate\"];\r\n this.claimSentDate = _data[\"claimSentDate\"];\r\n this.claimSentFollowupDate = _data[\"claimSentFollowupDate\"];\r\n this.retiredDate = _data[\"retiredDate\"];\r\n this.professionalPhotoRank = _data[\"professionalPhotoRank\"];\r\n this.professionalPhotoDate = _data[\"professionalPhotoDate\"];\r\n this.source = _data[\"source\"];\r\n this.classification = _data[\"classification\"];\r\n this.rank = _data[\"rank\"];\r\n this.currency = _data[\"currency\"];\r\n this.venueNameSynonymsString = _data[\"venueNameSynonymsString\"];\r\n this.vlpUrlSlug = _data[\"vlpUrlSlug\"];\r\n this.accountId = _data[\"accountId\"];\r\n this.enableHostReferral = _data[\"enableHostReferral\"];\r\n this.referralEmail = _data[\"referralEmail\"];\r\n this.proposalCreditsTotalAmount = _data[\"proposalCreditsTotalAmount\"];\r\n this.enableWorkspaceAnalytics = _data[\"enableWorkspaceAnalytics\"];\r\n this.liquidSpaceProStatus = _data[\"liquidSpaceProStatus\"];\r\n this.enableMembership = _data[\"enableMembership\"];\r\n this.enableLeadXMLAttachments = _data[\"enableLeadXMLAttachments\"];\r\n this.leadDadiAccountID = _data[\"leadDadiAccountID\"];\r\n this.externalPropertyId = _data[\"externalPropertyId\"];\r\n this.gCalEndpoint = _data[\"gCalEndpoint\"];\r\n this.exchangeUserName = _data[\"exchangeUserName\"];\r\n this.exchangeUserPass = _data[\"exchangeUserPass\"];\r\n this.exchangeAddress = _data[\"exchangeAddress\"];\r\n this.exchangeEndpoint = _data[\"exchangeEndpoint\"];\r\n this.ownerIdForExchangeSourcedReservations = _data[\"ownerIdForExchangeSourcedReservations\"];\r\n this.morningStarURL = _data[\"morningStarURL\"];\r\n this.morningStarIntegrationUser = _data[\"morningStarIntegrationUser\"];\r\n this.morningStarIntegrationPassword = _data[\"morningStarIntegrationPassword\"];\r\n this.morningStarClientId = _data[\"morningStarClientId\"];\r\n this.morningStarLocationId = _data[\"morningStarLocationId\"];\r\n this.morningStarVisaId = _data[\"morningStarVisaId\"];\r\n this.morningStarDontSendInvitationEmail = _data[\"morningStarDontSendInvitationEmail\"];\r\n this.rjMetisVenueId = _data[\"rjMetisVenueId\"];\r\n this.rjMetisReservationsOwnerId = _data[\"rjMetisReservationsOwnerId\"];\r\n this.rjMetisVisaId = _data[\"rjMetisVisaId\"];\r\n this.rjMetisSyncTenants = _data[\"rjMetisSyncTenants\"];\r\n this.evoApiConnectionId = _data[\"evoApiConnectionId\"];\r\n this.ownerIdForIOSourcedReservations = _data[\"ownerIdForIOSourcedReservations\"];\r\n this.ioCenterId = _data[\"ioCenterId\"];\r\n this.evoClientId = _data[\"evoClientId\"];\r\n this.enableMemberClientId = _data[\"enableMemberClientId\"];\r\n this.officeRnDOrganizationId = _data[\"officeRnDOrganizationId\"];\r\n this.officeRnDOfficeId = _data[\"officeRnDOfficeId\"];\r\n this.officeRnDWebhookSecret = _data[\"officeRnDWebhookSecret\"];\r\n this.ownerIdForOfficeRnDSourcedReservations = _data[\"ownerIdForOfficeRnDSourcedReservations\"];\r\n this.officeRnDTeamForLiquidspaceSourcedReservations = _data[\"officeRnDTeamForLiquidspaceSourcedReservations\"];\r\n this.officeRnDOwnerForLiquidspaceSourcedReservations = _data[\"officeRnDOwnerForLiquidspaceSourcedReservations\"];\r\n this.ownerIdForMSGraphSourcedReservations = _data[\"ownerIdForMSGraphSourcedReservations\"];\r\n this.msGraphId = _data[\"msGraphId\"];\r\n this.msGraphEmail = _data[\"msGraphEmail\"];\r\n this.deskimoMarketCode = _data[\"deskimoMarketCode\"];\r\n this.deskimoPropertyReference = _data[\"deskimoPropertyReference\"];\r\n this.ownerIdForDeskimoSourcedReservations = _data[\"ownerIdForDeskimoSourcedReservations\"];\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.venueHasExchangeIntegration = _data[\"venueHasExchangeIntegration\"];\r\n if (Array.isArray(_data[\"pictureURLs\"])) {\r\n this.pictureURLs = [] as any;\r\n for (let item of _data[\"pictureURLs\"])\r\n this.pictureURLs!.push(PictureURLViewModel.fromJS(item));\r\n }\r\n this.amenities = _data[\"amenities\"] ? VenueAmenitiesModel.fromJS(_data[\"amenities\"]) : undefined;\r\n this.openStatus = _data[\"openStatus\"];\r\n this.created = _data[\"created\"];\r\n this.claimProfileLink = _data[\"claimProfileLink\"];\r\n this.integrationOption = _data[\"integrationOption\"];\r\n this.vlpUrl = _data[\"vlpUrl\"];\r\n this.customLicensePdfTemplate = _data[\"customLicensePdfTemplate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"description\"] = this.description;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"simpleAddress1\"] = this.simpleAddress1;\r\n data[\"simpleAddress2\"] = this.simpleAddress2;\r\n data[\"city\"] = this.city;\r\n data[\"zip\"] = this.zip;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"venueHostGuid\"] = this.venueHostGuid;\r\n data[\"streetViewParameters\"] = this.streetViewParameters ? this.streetViewParameters.toJSON() : undefined;\r\n data[\"percentageTax\"] = this.percentageTax;\r\n data[\"fixedAmountTax\"] = this.fixedAmountTax;\r\n data[\"taxApplyType\"] = this.taxApplyType;\r\n data[\"applyTaxToIncidentals\"] = this.applyTaxToIncidentals;\r\n data[\"billingContact\"] = this.billingContact ? this.billingContact.toJSON() : undefined;\r\n data[\"hours\"] = this.hours ? this.hours.toJSON() : undefined;\r\n data[\"statusNew\"] = this.statusNew;\r\n data[\"defaultBookingMethod\"] = this.defaultBookingMethod;\r\n data[\"defaultBookingMethodHourly\"] = this.defaultBookingMethodHourly;\r\n data[\"timeZoneId\"] = this.timeZoneId;\r\n data[\"licenseVersion\"] = this.licenseVersion;\r\n data[\"enableElectronicSignatures\"] = this.enableElectronicSignatures;\r\n data[\"seoTitle\"] = this.seoTitle;\r\n data[\"seoDescription\"] = this.seoDescription;\r\n data[\"inSetupDate\"] = this.inSetupDate;\r\n data[\"launchedDate\"] = this.launchedDate;\r\n data[\"publishedDate\"] = this.publishedDate;\r\n data[\"claimSentDate\"] = this.claimSentDate;\r\n data[\"claimSentFollowupDate\"] = this.claimSentFollowupDate;\r\n data[\"retiredDate\"] = this.retiredDate;\r\n data[\"professionalPhotoRank\"] = this.professionalPhotoRank;\r\n data[\"professionalPhotoDate\"] = this.professionalPhotoDate;\r\n data[\"source\"] = this.source;\r\n data[\"classification\"] = this.classification;\r\n data[\"rank\"] = this.rank;\r\n data[\"currency\"] = this.currency;\r\n data[\"venueNameSynonymsString\"] = this.venueNameSynonymsString;\r\n data[\"vlpUrlSlug\"] = this.vlpUrlSlug;\r\n data[\"accountId\"] = this.accountId;\r\n data[\"enableHostReferral\"] = this.enableHostReferral;\r\n data[\"referralEmail\"] = this.referralEmail;\r\n data[\"proposalCreditsTotalAmount\"] = this.proposalCreditsTotalAmount;\r\n data[\"enableWorkspaceAnalytics\"] = this.enableWorkspaceAnalytics;\r\n data[\"liquidSpaceProStatus\"] = this.liquidSpaceProStatus;\r\n data[\"enableMembership\"] = this.enableMembership;\r\n data[\"enableLeadXMLAttachments\"] = this.enableLeadXMLAttachments;\r\n data[\"leadDadiAccountID\"] = this.leadDadiAccountID;\r\n data[\"externalPropertyId\"] = this.externalPropertyId;\r\n data[\"gCalEndpoint\"] = this.gCalEndpoint;\r\n data[\"exchangeUserName\"] = this.exchangeUserName;\r\n data[\"exchangeUserPass\"] = this.exchangeUserPass;\r\n data[\"exchangeAddress\"] = this.exchangeAddress;\r\n data[\"exchangeEndpoint\"] = this.exchangeEndpoint;\r\n data[\"ownerIdForExchangeSourcedReservations\"] = this.ownerIdForExchangeSourcedReservations;\r\n data[\"morningStarURL\"] = this.morningStarURL;\r\n data[\"morningStarIntegrationUser\"] = this.morningStarIntegrationUser;\r\n data[\"morningStarIntegrationPassword\"] = this.morningStarIntegrationPassword;\r\n data[\"morningStarClientId\"] = this.morningStarClientId;\r\n data[\"morningStarLocationId\"] = this.morningStarLocationId;\r\n data[\"morningStarVisaId\"] = this.morningStarVisaId;\r\n data[\"morningStarDontSendInvitationEmail\"] = this.morningStarDontSendInvitationEmail;\r\n data[\"rjMetisVenueId\"] = this.rjMetisVenueId;\r\n data[\"rjMetisReservationsOwnerId\"] = this.rjMetisReservationsOwnerId;\r\n data[\"rjMetisVisaId\"] = this.rjMetisVisaId;\r\n data[\"rjMetisSyncTenants\"] = this.rjMetisSyncTenants;\r\n data[\"evoApiConnectionId\"] = this.evoApiConnectionId;\r\n data[\"ownerIdForIOSourcedReservations\"] = this.ownerIdForIOSourcedReservations;\r\n data[\"ioCenterId\"] = this.ioCenterId;\r\n data[\"evoClientId\"] = this.evoClientId;\r\n data[\"enableMemberClientId\"] = this.enableMemberClientId;\r\n data[\"officeRnDOrganizationId\"] = this.officeRnDOrganizationId;\r\n data[\"officeRnDOfficeId\"] = this.officeRnDOfficeId;\r\n data[\"officeRnDWebhookSecret\"] = this.officeRnDWebhookSecret;\r\n data[\"ownerIdForOfficeRnDSourcedReservations\"] = this.ownerIdForOfficeRnDSourcedReservations;\r\n data[\"officeRnDTeamForLiquidspaceSourcedReservations\"] = this.officeRnDTeamForLiquidspaceSourcedReservations;\r\n data[\"officeRnDOwnerForLiquidspaceSourcedReservations\"] = this.officeRnDOwnerForLiquidspaceSourcedReservations;\r\n data[\"ownerIdForMSGraphSourcedReservations\"] = this.ownerIdForMSGraphSourcedReservations;\r\n data[\"msGraphId\"] = this.msGraphId;\r\n data[\"msGraphEmail\"] = this.msGraphEmail;\r\n data[\"deskimoMarketCode\"] = this.deskimoMarketCode;\r\n data[\"deskimoPropertyReference\"] = this.deskimoPropertyReference;\r\n data[\"ownerIdForDeskimoSourcedReservations\"] = this.ownerIdForDeskimoSourcedReservations;\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"venueHasExchangeIntegration\"] = this.venueHasExchangeIntegration;\r\n if (Array.isArray(this.pictureURLs)) {\r\n data[\"pictureURLs\"] = [];\r\n for (let item of this.pictureURLs)\r\n data[\"pictureURLs\"].push(item.toJSON());\r\n }\r\n data[\"amenities\"] = this.amenities ? this.amenities.toJSON() : undefined;\r\n data[\"openStatus\"] = this.openStatus;\r\n data[\"created\"] = this.created;\r\n data[\"claimProfileLink\"] = this.claimProfileLink;\r\n data[\"integrationOption\"] = this.integrationOption;\r\n data[\"vlpUrl\"] = this.vlpUrl;\r\n data[\"customLicensePdfTemplate\"] = this.customLicensePdfTemplate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSettingsModel {\r\n id: string;\r\n fullName: string;\r\n description: string | undefined;\r\n phoneNumber: string | undefined;\r\n simpleAddress1: string | undefined;\r\n simpleAddress2: string | undefined;\r\n city: string | undefined;\r\n zip: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n venueHostGuid: string;\r\n streetViewParameters: StreetViewModel;\r\n percentageTax: number | undefined;\r\n fixedAmountTax: number | undefined;\r\n taxApplyType: VenueTaxApplyType;\r\n applyTaxToIncidentals: boolean;\r\n billingContact: BillingContactModel;\r\n hours: HoursViewModel;\r\n statusNew: VenueStatusNew;\r\n defaultBookingMethod: BookingMethod;\r\n defaultBookingMethodHourly: BookingMethod;\r\n timeZoneId: string | undefined;\r\n licenseVersion: LicenseVersion;\r\n enableElectronicSignatures: boolean;\r\n seoTitle: string | undefined;\r\n seoDescription: string | undefined;\r\n inSetupDate: string | undefined;\r\n launchedDate: string | undefined;\r\n publishedDate: string | undefined;\r\n claimSentDate: string | undefined;\r\n claimSentFollowupDate: string | undefined;\r\n retiredDate: string | undefined;\r\n professionalPhotoRank: PhotoRankEnum;\r\n professionalPhotoDate: string | undefined;\r\n source: VenueSource;\r\n classification: VenueClassification;\r\n rank: VenueRank;\r\n currency: CurrencyType;\r\n venueNameSynonymsString: string | undefined;\r\n vlpUrlSlug: string | undefined;\r\n accountId: string | undefined;\r\n enableHostReferral: boolean;\r\n referralEmail: string | undefined;\r\n proposalCreditsTotalAmount: number;\r\n enableWorkspaceAnalytics: boolean;\r\n liquidSpaceProStatus: LiquidSpaceProStatus;\r\n enableMembership: boolean;\r\n enableLeadXMLAttachments: boolean;\r\n leadDadiAccountID: string | undefined;\r\n externalPropertyId: string | undefined;\r\n gCalEndpoint: GCalEndpoint;\r\n exchangeUserName: string | undefined;\r\n exchangeUserPass: string | undefined;\r\n exchangeAddress: string | undefined;\r\n exchangeEndpoint: ExchangeEndpoint;\r\n ownerIdForExchangeSourcedReservations: string;\r\n morningStarURL: string | undefined;\r\n morningStarIntegrationUser: string | undefined;\r\n morningStarIntegrationPassword: string | undefined;\r\n morningStarClientId: string | undefined;\r\n morningStarLocationId: string | undefined;\r\n morningStarVisaId: string | undefined;\r\n morningStarDontSendInvitationEmail: boolean;\r\n rjMetisVenueId: string | undefined;\r\n rjMetisReservationsOwnerId: string;\r\n rjMetisVisaId: string;\r\n rjMetisSyncTenants: boolean;\r\n evoApiConnectionId: string;\r\n ownerIdForIOSourcedReservations: string;\r\n ioCenterId: string | undefined;\r\n evoClientId: string | undefined;\r\n enableMemberClientId: boolean;\r\n officeRnDOrganizationId: string;\r\n officeRnDOfficeId: string | undefined;\r\n officeRnDWebhookSecret: string | undefined;\r\n ownerIdForOfficeRnDSourcedReservations: string;\r\n officeRnDTeamForLiquidspaceSourcedReservations: string | undefined;\r\n officeRnDOwnerForLiquidspaceSourcedReservations: string | undefined;\r\n ownerIdForMSGraphSourcedReservations: string;\r\n msGraphId: string | undefined;\r\n msGraphEmail: string | undefined;\r\n deskimoMarketCode: string | undefined;\r\n deskimoPropertyReference: string | undefined;\r\n ownerIdForDeskimoSourcedReservations: string | undefined;\r\n hasIntegration: boolean;\r\n venueHasExchangeIntegration: boolean;\r\n pictureURLs: PictureURLViewModel[];\r\n amenities: VenueAmenitiesModel;\r\n openStatus: VenueOpenStatus;\r\n created: string;\r\n claimProfileLink: string;\r\n integrationOption: string | undefined;\r\n vlpUrl: string | undefined;\r\n customLicensePdfTemplate: string | undefined;\r\n}\r\n\r\nexport class StreetViewModel implements IStreetViewModel {\r\n displayStreetView!: boolean;\r\n position!: PositionModel;\r\n pointOfView!: PointOfViewModel;\r\n zoom!: number | undefined;\r\n\r\n constructor(data?: IStreetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.displayStreetView = _data[\"displayStreetView\"];\r\n this.position = _data[\"position\"] ? PositionModel.fromJS(_data[\"position\"]) : undefined;\r\n this.pointOfView = _data[\"pointOfView\"] ? PointOfViewModel.fromJS(_data[\"pointOfView\"]) : undefined;\r\n this.zoom = _data[\"zoom\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StreetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StreetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayStreetView\"] = this.displayStreetView;\r\n data[\"position\"] = this.position ? this.position.toJSON() : undefined;\r\n data[\"pointOfView\"] = this.pointOfView ? this.pointOfView.toJSON() : undefined;\r\n data[\"zoom\"] = this.zoom;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStreetViewModel {\r\n displayStreetView: boolean;\r\n position: PositionModel;\r\n pointOfView: PointOfViewModel;\r\n zoom: number | undefined;\r\n}\r\n\r\nexport class PositionModel implements IPositionModel {\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n\r\n constructor(data?: IPositionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PositionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PositionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPositionModel {\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n}\r\n\r\nexport class PointOfViewModel implements IPointOfViewModel {\r\n heading!: number | undefined;\r\n pitch!: number | undefined;\r\n\r\n constructor(data?: IPointOfViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.heading = _data[\"heading\"];\r\n this.pitch = _data[\"pitch\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PointOfViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PointOfViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"heading\"] = this.heading;\r\n data[\"pitch\"] = this.pitch;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPointOfViewModel {\r\n heading: number | undefined;\r\n pitch: number | undefined;\r\n}\r\n\r\n/** 0 = TaxApplyToDiscountedPrice 1 = TaxApplyToListPrice */\r\nexport enum VenueTaxApplyType {\r\n TaxApplyToDiscountedPrice = 0,\r\n TaxApplyToListPrice = 1,\r\n}\r\n\r\nexport class BillingContactModel implements IBillingContactModel {\r\n id!: string;\r\n name!: string | undefined;\r\n email!: string | undefined;\r\n phone!: string | undefined;\r\n addresLine1!: string | undefined;\r\n addresLine2!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n zip!: string | undefined;\r\n country!: string | undefined;\r\n contactType!: ContactTypeEnum;\r\n payeeName!: string | undefined;\r\n sameAddressAsVenue!: boolean;\r\n billingMethod!: BillingMethod | undefined;\r\n accountType!: ACHAccountType;\r\n accountName!: string | undefined;\r\n routingNumber!: string | undefined;\r\n bankAccount!: string | undefined;\r\n payPalEmailAddress!: string | undefined;\r\n bankName!: string | undefined;\r\n bankAndBranchNumber!: string | undefined;\r\n taxId!: string | undefined;\r\n\r\n constructor(data?: IBillingContactModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.addresLine1 = _data[\"addresLine1\"];\r\n this.addresLine2 = _data[\"addresLine2\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.country = _data[\"country\"];\r\n this.contactType = _data[\"contactType\"];\r\n this.payeeName = _data[\"payeeName\"];\r\n this.sameAddressAsVenue = _data[\"sameAddressAsVenue\"];\r\n this.billingMethod = _data[\"billingMethod\"];\r\n this.accountType = _data[\"accountType\"];\r\n this.accountName = _data[\"accountName\"];\r\n this.routingNumber = _data[\"routingNumber\"];\r\n this.bankAccount = _data[\"bankAccount\"];\r\n this.payPalEmailAddress = _data[\"payPalEmailAddress\"];\r\n this.bankName = _data[\"bankName\"];\r\n this.bankAndBranchNumber = _data[\"bankAndBranchNumber\"];\r\n this.taxId = _data[\"taxId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BillingContactModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BillingContactModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"addresLine1\"] = this.addresLine1;\r\n data[\"addresLine2\"] = this.addresLine2;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"country\"] = this.country;\r\n data[\"contactType\"] = this.contactType;\r\n data[\"payeeName\"] = this.payeeName;\r\n data[\"sameAddressAsVenue\"] = this.sameAddressAsVenue;\r\n data[\"billingMethod\"] = this.billingMethod;\r\n data[\"accountType\"] = this.accountType;\r\n data[\"accountName\"] = this.accountName;\r\n data[\"routingNumber\"] = this.routingNumber;\r\n data[\"bankAccount\"] = this.bankAccount;\r\n data[\"payPalEmailAddress\"] = this.payPalEmailAddress;\r\n data[\"bankName\"] = this.bankName;\r\n data[\"bankAndBranchNumber\"] = this.bankAndBranchNumber;\r\n data[\"taxId\"] = this.taxId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBillingContactModel {\r\n id: string;\r\n name: string | undefined;\r\n email: string | undefined;\r\n phone: string | undefined;\r\n addresLine1: string | undefined;\r\n addresLine2: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n country: string | undefined;\r\n contactType: ContactTypeEnum;\r\n payeeName: string | undefined;\r\n sameAddressAsVenue: boolean;\r\n billingMethod: BillingMethod | undefined;\r\n accountType: ACHAccountType;\r\n accountName: string | undefined;\r\n routingNumber: string | undefined;\r\n bankAccount: string | undefined;\r\n payPalEmailAddress: string | undefined;\r\n bankName: string | undefined;\r\n bankAndBranchNumber: string | undefined;\r\n taxId: string | undefined;\r\n}\r\n\r\n/** 0 = Billing */\r\nexport enum ContactTypeEnum {\r\n Billing = 0,\r\n}\r\n\r\n/** 0 = Check 1 = ACH 1 = BankAccount 2 = Paypal 3 = BankTransfer 4 = None */\r\nexport enum BillingMethod {\r\n Check = 0,\r\n ACH = 1,\r\n BankAccount = 1,\r\n Paypal = 2,\r\n BankTransfer = 3,\r\n None = 4,\r\n}\r\n\r\n/** 0 = Checking 1 = Savings */\r\nexport enum ACHAccountType {\r\n Checking = 0,\r\n Savings = 1,\r\n}\r\n\r\nexport class HoursViewModel implements IHoursViewModel {\r\n allHolidays!: HolidayViewModel[];\r\n forDayOfWeek!: HooRuleForDayOfWeekViewModel[];\r\n forHolidays!: HooRuleForHolidayViewModel[];\r\n\r\n constructor(data?: IHoursViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"allHolidays\"])) {\r\n this.allHolidays = [] as any;\r\n for (let item of _data[\"allHolidays\"])\r\n this.allHolidays!.push(HolidayViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"forDayOfWeek\"])) {\r\n this.forDayOfWeek = [] as any;\r\n for (let item of _data[\"forDayOfWeek\"])\r\n this.forDayOfWeek!.push(HooRuleForDayOfWeekViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"forHolidays\"])) {\r\n this.forHolidays = [] as any;\r\n for (let item of _data[\"forHolidays\"])\r\n this.forHolidays!.push(HooRuleForHolidayViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoursViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoursViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.allHolidays)) {\r\n data[\"allHolidays\"] = [];\r\n for (let item of this.allHolidays)\r\n data[\"allHolidays\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.forDayOfWeek)) {\r\n data[\"forDayOfWeek\"] = [];\r\n for (let item of this.forDayOfWeek)\r\n data[\"forDayOfWeek\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.forHolidays)) {\r\n data[\"forHolidays\"] = [];\r\n for (let item of this.forHolidays)\r\n data[\"forHolidays\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHoursViewModel {\r\n allHolidays: HolidayViewModel[];\r\n forDayOfWeek: HooRuleForDayOfWeekViewModel[];\r\n forHolidays: HooRuleForHolidayViewModel[];\r\n}\r\n\r\nexport class HolidayViewModel implements IHolidayViewModel {\r\n name!: string;\r\n countries!: string[];\r\n id!: string;\r\n dates!: string[];\r\n\r\n constructor(data?: IHolidayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(item);\r\n }\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"dates\"])) {\r\n this.dates = [] as any;\r\n for (let item of _data[\"dates\"])\r\n this.dates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HolidayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HolidayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item);\r\n }\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.dates)) {\r\n data[\"dates\"] = [];\r\n for (let item of this.dates)\r\n data[\"dates\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHolidayViewModel {\r\n name: string;\r\n countries: string[];\r\n id: string;\r\n dates: string[];\r\n}\r\n\r\nexport class HooRuleForDayOfWeekViewModel implements IHooRuleForDayOfWeekViewModel {\r\n dayOfWeek!: DayOfWeek;\r\n offsetToOpening!: string;\r\n offsetToClosing!: string;\r\n\r\n constructor(data?: IHooRuleForDayOfWeekViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dayOfWeek = _data[\"dayOfWeek\"];\r\n this.offsetToOpening = _data[\"offsetToOpening\"];\r\n this.offsetToClosing = _data[\"offsetToClosing\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForDayOfWeekViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForDayOfWeekViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dayOfWeek\"] = this.dayOfWeek;\r\n data[\"offsetToOpening\"] = this.offsetToOpening;\r\n data[\"offsetToClosing\"] = this.offsetToClosing;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForDayOfWeekViewModel {\r\n dayOfWeek: DayOfWeek;\r\n offsetToOpening: string;\r\n offsetToClosing: string;\r\n}\r\n\r\n/** 0 = Sunday 1 = Monday 2 = Tuesday 3 = Wednesday 4 = Thursday 5 = Friday 6 = Saturday */\r\nexport enum DayOfWeek {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6,\r\n}\r\n\r\nexport class HooRuleForHolidayViewModel implements IHooRuleForHolidayViewModel {\r\n holidayId!: string;\r\n\r\n constructor(data?: IHooRuleForHolidayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.holidayId = _data[\"holidayId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForHolidayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForHolidayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"holidayId\"] = this.holidayId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForHolidayViewModel {\r\n holidayId: string;\r\n}\r\n\r\n/** 0 = None 1 = ProfessionalVenueSourced 2 = ProfessionalLiquidSpaceSourced */\r\nexport enum PhotoRankEnum {\r\n None = 0,\r\n ProfessionalVenueSourced = 1,\r\n ProfessionalLiquidSpaceSourced = 2,\r\n}\r\n\r\n/** 0 = Unspecified 1 = BusinessCenter 2 = Coworking 3 = Hotel 4 = Library 5 = PrivateOffice 6 = Bank 7 = HighQualityCoworking 8 = HighQualityOBC 9 = OBCInternal 10 = CoworkingInternal 11 = EnterpriseInternal 12 = CommercialOfficeBuilding 13 = ConferenceCenters 14 = RestaurantCafe 15 = CourtReportingLegal 16 = TrainingCenters 17 = Incubator 18 = BusinessClub 19 = Studio 20 = GolfCourse 21 = AthleticClub 22 = CoffeeShop 23 = Museum 24 = MakerSpace 25 = Winery 26 = Government 27 = Church 28 = StrategicPortfolio 29 = Sublease 2147483647 = Other */\r\nexport enum VenueClassification {\r\n Unspecified = 0,\r\n BusinessCenter = 1,\r\n Coworking = 2,\r\n Hotel = 3,\r\n Library = 4,\r\n PrivateOffice = 5,\r\n Bank = 6,\r\n HighQualityCoworking = 7,\r\n HighQualityOBC = 8,\r\n OBCInternal = 9,\r\n CoworkingInternal = 10,\r\n EnterpriseInternal = 11,\r\n CommercialOfficeBuilding = 12,\r\n ConferenceCenters = 13,\r\n RestaurantCafe = 14,\r\n CourtReportingLegal = 15,\r\n TrainingCenters = 16,\r\n Incubator = 17,\r\n BusinessClub = 18,\r\n Studio = 19,\r\n GolfCourse = 20,\r\n AthleticClub = 21,\r\n CoffeeShop = 22,\r\n Museum = 23,\r\n MakerSpace = 24,\r\n Winery = 25,\r\n Government = 26,\r\n Church = 27,\r\n StrategicPortfolio = 28,\r\n Sublease = 29,\r\n Other = 2147483647,\r\n}\r\n\r\n/** 0 = LevelZero 1 = Bronze 2 = Gold 3 = Platinum 4 = Titanium */\r\nexport enum VenueRank {\r\n LevelZero = 0,\r\n Bronze = 1,\r\n Gold = 2,\r\n Platinum = 3,\r\n Titanium = 4,\r\n}\r\n\r\n/** 0 = None 1 = GoogleCalendar 2 = HappyDesk 3 = Cobot 4 = NexudusSpaces 5 = YourVirtualButler 6 = Deskworks 7 = Eventboard 8 = OffOps 9 = Robin 10 = Roomzilla 11 = RoomWizard 12 = Other */\r\nexport enum GCalEndpoint {\r\n None = 0,\r\n GoogleCalendar = 1,\r\n HappyDesk = 2,\r\n Cobot = 3,\r\n NexudusSpaces = 4,\r\n YourVirtualButler = 5,\r\n Deskworks = 6,\r\n Eventboard = 7,\r\n OffOps = 8,\r\n Robin = 9,\r\n Roomzilla = 10,\r\n RoomWizard = 11,\r\n Other = 12,\r\n}\r\n\r\n/** 0 = None 1 = Outlook 2 = RoomWizard 3 = Crestron 4 = Other */\r\nexport enum ExchangeEndpoint {\r\n None = 0,\r\n Outlook = 1,\r\n RoomWizard = 2,\r\n Crestron = 3,\r\n Other = 4,\r\n}\r\n\r\nexport class VenueAmenitiesModel implements IVenueAmenitiesModel {\r\n customGreeting!: string | undefined;\r\n entry!: string | undefined;\r\n healthAndSafetyPolicy!: string | undefined;\r\n parking!: VenueParkingAmenityModel;\r\n wiFi!: VenueWiFiAmenityModel;\r\n\r\n constructor(data?: IVenueAmenitiesModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.customGreeting = _data[\"customGreeting\"];\r\n this.entry = _data[\"entry\"];\r\n this.healthAndSafetyPolicy = _data[\"healthAndSafetyPolicy\"];\r\n this.parking = _data[\"parking\"] ? VenueParkingAmenityModel.fromJS(_data[\"parking\"]) : undefined;\r\n this.wiFi = _data[\"wiFi\"] ? VenueWiFiAmenityModel.fromJS(_data[\"wiFi\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueAmenitiesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueAmenitiesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"customGreeting\"] = this.customGreeting;\r\n data[\"entry\"] = this.entry;\r\n data[\"healthAndSafetyPolicy\"] = this.healthAndSafetyPolicy;\r\n data[\"parking\"] = this.parking ? this.parking.toJSON() : undefined;\r\n data[\"wiFi\"] = this.wiFi ? this.wiFi.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueAmenitiesModel {\r\n customGreeting: string | undefined;\r\n entry: string | undefined;\r\n healthAndSafetyPolicy: string | undefined;\r\n parking: VenueParkingAmenityModel;\r\n wiFi: VenueWiFiAmenityModel;\r\n}\r\n\r\nexport class VenueParkingAmenityModel implements IVenueParkingAmenityModel {\r\n instructions!: string | undefined;\r\n parkingType!: ParkingType;\r\n price!: string | undefined;\r\n\r\n constructor(data?: IVenueParkingAmenityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.instructions = _data[\"instructions\"];\r\n this.parkingType = _data[\"parkingType\"];\r\n this.price = _data[\"price\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueParkingAmenityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueParkingAmenityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"instructions\"] = this.instructions;\r\n data[\"parkingType\"] = this.parkingType;\r\n data[\"price\"] = this.price;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueParkingAmenityModel {\r\n instructions: string | undefined;\r\n parkingType: ParkingType;\r\n price: string | undefined;\r\n}\r\n\r\n/** 0 = Unknown 1 = FreeParkingOnsite 2 = PaidParkingOnsite 3 = FreeParkingOffsite 4 = PaidParkingOffsite */\r\nexport enum ParkingType {\r\n Unknown = 0,\r\n FreeParkingOnsite = 1,\r\n PaidParkingOnsite = 2,\r\n FreeParkingOffsite = 3,\r\n PaidParkingOffsite = 4,\r\n}\r\n\r\nexport class VenueWiFiAmenityModel implements IVenueWiFiAmenityModel {\r\n description!: string | undefined;\r\n networkName!: string | undefined;\r\n password!: string | undefined;\r\n\r\n constructor(data?: IVenueWiFiAmenityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.networkName = _data[\"networkName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueWiFiAmenityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueWiFiAmenityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"networkName\"] = this.networkName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueWiFiAmenityModel {\r\n description: string | undefined;\r\n networkName: string | undefined;\r\n password: string | undefined;\r\n}\r\n\r\nexport class VenueGroupMembershipModel implements IVenueGroupMembershipModel {\r\n name!: string;\r\n groupId!: string;\r\n visaId!: string;\r\n visaType!: VenueGroupVisaType;\r\n venueId!: string;\r\n hasPricingRateHourly!: boolean;\r\n hasPricingRateMonthly!: boolean;\r\n\r\n constructor(data?: IVenueGroupMembershipModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.groupId = _data[\"groupId\"];\r\n this.visaId = _data[\"visaId\"];\r\n this.visaType = _data[\"visaType\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.hasPricingRateHourly = _data[\"hasPricingRateHourly\"];\r\n this.hasPricingRateMonthly = _data[\"hasPricingRateMonthly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupMembershipModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupMembershipModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"groupId\"] = this.groupId;\r\n data[\"visaId\"] = this.visaId;\r\n data[\"visaType\"] = this.visaType;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"hasPricingRateHourly\"] = this.hasPricingRateHourly;\r\n data[\"hasPricingRateMonthly\"] = this.hasPricingRateMonthly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupMembershipModel {\r\n name: string;\r\n groupId: string;\r\n visaId: string;\r\n visaType: VenueGroupVisaType;\r\n venueId: string;\r\n hasPricingRateHourly: boolean;\r\n hasPricingRateMonthly: boolean;\r\n}\r\n\r\nexport class PriceRateCheckerResponse implements IPriceRateCheckerResponse {\r\n ratePercent!: number;\r\n pricingRateName!: string;\r\n\r\n constructor(data?: IPriceRateCheckerResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ratePercent = _data[\"ratePercent\"];\r\n this.pricingRateName = _data[\"pricingRateName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceRateCheckerResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceRateCheckerResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ratePercent\"] = this.ratePercent;\r\n data[\"pricingRateName\"] = this.pricingRateName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceRateCheckerResponse {\r\n ratePercent: number;\r\n pricingRateName: string;\r\n}\r\n\r\n/** 0 = Flat 1 = Tiered */\r\nexport enum PricingRateType {\r\n Flat = 0,\r\n Tiered = 1,\r\n}\r\n\r\nexport class VerifyVenueParmalinkResult implements IVerifyVenueParmalinkResult {\r\n success!: boolean;\r\n urlWithoutHost!: string | undefined;\r\n url!: string | undefined;\r\n proposals!: string[];\r\n permalinkNormalized!: string | undefined;\r\n\r\n constructor(data?: IVerifyVenueParmalinkResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.urlWithoutHost = _data[\"urlWithoutHost\"];\r\n this.url = _data[\"url\"];\r\n if (Array.isArray(_data[\"proposals\"])) {\r\n this.proposals = [] as any;\r\n for (let item of _data[\"proposals\"])\r\n this.proposals!.push(item);\r\n }\r\n this.permalinkNormalized = _data[\"permalinkNormalized\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VerifyVenueParmalinkResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VerifyVenueParmalinkResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"urlWithoutHost\"] = this.urlWithoutHost;\r\n data[\"url\"] = this.url;\r\n if (Array.isArray(this.proposals)) {\r\n data[\"proposals\"] = [];\r\n for (let item of this.proposals)\r\n data[\"proposals\"].push(item);\r\n }\r\n data[\"permalinkNormalized\"] = this.permalinkNormalized;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVerifyVenueParmalinkResult {\r\n success: boolean;\r\n urlWithoutHost: string | undefined;\r\n url: string | undefined;\r\n proposals: string[];\r\n permalinkNormalized: string | undefined;\r\n}\r\n\r\nexport class VenuePopulationPercentModel implements IVenuePopulationPercentModel {\r\n percentValues!: { [key in keyof typeof ManageVenueSectionEnum]?: number; } | undefined;\r\n percent!: number;\r\n sectionHasValues!: { [key in keyof typeof ManageVenueSectionEnum]?: boolean; } | undefined;\r\n sectionText!: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n sectionDescription!: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n completed!: boolean;\r\n\r\n constructor(data?: IVenuePopulationPercentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"percentValues\"]) {\r\n this.percentValues = {} as any;\r\n for (let key in _data[\"percentValues\"]) {\r\n if (_data[\"percentValues\"].hasOwnProperty(key))\r\n (this.percentValues)![key] = _data[\"percentValues\"][key];\r\n }\r\n }\r\n this.percent = _data[\"percent\"];\r\n if (_data[\"sectionHasValues\"]) {\r\n this.sectionHasValues = {} as any;\r\n for (let key in _data[\"sectionHasValues\"]) {\r\n if (_data[\"sectionHasValues\"].hasOwnProperty(key))\r\n (this.sectionHasValues)![key] = _data[\"sectionHasValues\"][key];\r\n }\r\n }\r\n if (_data[\"sectionText\"]) {\r\n this.sectionText = {} as any;\r\n for (let key in _data[\"sectionText\"]) {\r\n if (_data[\"sectionText\"].hasOwnProperty(key))\r\n (this.sectionText)![key] = _data[\"sectionText\"][key];\r\n }\r\n }\r\n if (_data[\"sectionDescription\"]) {\r\n this.sectionDescription = {} as any;\r\n for (let key in _data[\"sectionDescription\"]) {\r\n if (_data[\"sectionDescription\"].hasOwnProperty(key))\r\n (this.sectionDescription)![key] = _data[\"sectionDescription\"][key];\r\n }\r\n }\r\n this.completed = _data[\"completed\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuePopulationPercentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuePopulationPercentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.percentValues) {\r\n data[\"percentValues\"] = {};\r\n for (let key in this.percentValues) {\r\n if (this.percentValues.hasOwnProperty(key))\r\n (data[\"percentValues\"])[key] = (this.percentValues)[key];\r\n }\r\n }\r\n data[\"percent\"] = this.percent;\r\n if (this.sectionHasValues) {\r\n data[\"sectionHasValues\"] = {};\r\n for (let key in this.sectionHasValues) {\r\n if (this.sectionHasValues.hasOwnProperty(key))\r\n (data[\"sectionHasValues\"])[key] = (this.sectionHasValues)[key];\r\n }\r\n }\r\n if (this.sectionText) {\r\n data[\"sectionText\"] = {};\r\n for (let key in this.sectionText) {\r\n if (this.sectionText.hasOwnProperty(key))\r\n (data[\"sectionText\"])[key] = (this.sectionText)[key];\r\n }\r\n }\r\n if (this.sectionDescription) {\r\n data[\"sectionDescription\"] = {};\r\n for (let key in this.sectionDescription) {\r\n if (this.sectionDescription.hasOwnProperty(key))\r\n (data[\"sectionDescription\"])[key] = (this.sectionDescription)[key];\r\n }\r\n }\r\n data[\"completed\"] = this.completed;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuePopulationPercentModel {\r\n percentValues: { [key in keyof typeof ManageVenueSectionEnum]?: number; } | undefined;\r\n percent: number;\r\n sectionHasValues: { [key in keyof typeof ManageVenueSectionEnum]?: boolean; } | undefined;\r\n sectionText: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n sectionDescription: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n completed: boolean;\r\n}\r\n\r\n/** 0 = None 1 = Workspaces 2 = HostProfile 3 = Descriptions 4 = Photos 5 = Amenities 6 = Hours 7 = PaymentInfo 8 = Team 9 = SubmitForReview 10 = WelcomeInfo */\r\nexport enum ManageVenueSectionEnum {\r\n None = 0,\r\n Workspaces = 1,\r\n HostProfile = 2,\r\n Descriptions = 3,\r\n Photos = 4,\r\n Amenities = 5,\r\n Hours = 6,\r\n PaymentInfo = 7,\r\n Team = 8,\r\n SubmitForReview = 9,\r\n WelcomeInfo = 10,\r\n}\r\n\r\nexport class VenuePropertiesModel implements IVenuePropertiesModel {\r\n currentVenueScore!: VenueScoreModel;\r\n previousVenueScore!: VenueScoreModel;\r\n venueAdmins!: VenueAdminPropertiesModel[];\r\n lsPartnerSuccess!: string | undefined;\r\n classification!: VenueGroupClassification;\r\n\r\n constructor(data?: IVenuePropertiesModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentVenueScore = _data[\"currentVenueScore\"] ? VenueScoreModel.fromJS(_data[\"currentVenueScore\"]) : undefined;\r\n this.previousVenueScore = _data[\"previousVenueScore\"] ? VenueScoreModel.fromJS(_data[\"previousVenueScore\"]) : undefined;\r\n if (Array.isArray(_data[\"venueAdmins\"])) {\r\n this.venueAdmins = [] as any;\r\n for (let item of _data[\"venueAdmins\"])\r\n this.venueAdmins!.push(VenueAdminPropertiesModel.fromJS(item));\r\n }\r\n this.lsPartnerSuccess = _data[\"lsPartnerSuccess\"];\r\n this.classification = _data[\"classification\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuePropertiesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuePropertiesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentVenueScore\"] = this.currentVenueScore ? this.currentVenueScore.toJSON() : undefined;\r\n data[\"previousVenueScore\"] = this.previousVenueScore ? this.previousVenueScore.toJSON() : undefined;\r\n if (Array.isArray(this.venueAdmins)) {\r\n data[\"venueAdmins\"] = [];\r\n for (let item of this.venueAdmins)\r\n data[\"venueAdmins\"].push(item.toJSON());\r\n }\r\n data[\"lsPartnerSuccess\"] = this.lsPartnerSuccess;\r\n data[\"classification\"] = this.classification;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuePropertiesModel {\r\n currentVenueScore: VenueScoreModel;\r\n previousVenueScore: VenueScoreModel;\r\n venueAdmins: VenueAdminPropertiesModel[];\r\n lsPartnerSuccess: string | undefined;\r\n classification: VenueGroupClassification;\r\n}\r\n\r\nexport class VenueScoreModel implements IVenueScoreModel {\r\n freshness!: number;\r\n responsiveness!: number;\r\n conversion!: number;\r\n reviews!: number;\r\n total!: number;\r\n\r\n constructor(data?: IVenueScoreModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.freshness = _data[\"freshness\"];\r\n this.responsiveness = _data[\"responsiveness\"];\r\n this.conversion = _data[\"conversion\"];\r\n this.reviews = _data[\"reviews\"];\r\n this.total = _data[\"total\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueScoreModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueScoreModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"freshness\"] = this.freshness;\r\n data[\"responsiveness\"] = this.responsiveness;\r\n data[\"conversion\"] = this.conversion;\r\n data[\"reviews\"] = this.reviews;\r\n data[\"total\"] = this.total;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueScoreModel {\r\n freshness: number;\r\n responsiveness: number;\r\n conversion: number;\r\n reviews: number;\r\n total: number;\r\n}\r\n\r\nexport class VenueAdminPropertiesModel implements IVenueAdminPropertiesModel {\r\n memberId!: string;\r\n memberLastName!: string | undefined;\r\n memberFirstName!: string | undefined;\r\n memberName!: string;\r\n email!: string;\r\n role!: VenueRoleEnum;\r\n lastActivityDate!: string | undefined;\r\n\r\n constructor(data?: IVenueAdminPropertiesModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.memberLastName = _data[\"memberLastName\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.memberName = _data[\"memberName\"];\r\n this.email = _data[\"email\"];\r\n this.role = _data[\"role\"];\r\n this.lastActivityDate = _data[\"lastActivityDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueAdminPropertiesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueAdminPropertiesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberLastName\"] = this.memberLastName;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"email\"] = this.email;\r\n data[\"role\"] = this.role;\r\n data[\"lastActivityDate\"] = this.lastActivityDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueAdminPropertiesModel {\r\n memberId: string;\r\n memberLastName: string | undefined;\r\n memberFirstName: string | undefined;\r\n memberName: string;\r\n email: string;\r\n role: VenueRoleEnum;\r\n lastActivityDate: string | undefined;\r\n}\r\n\r\n/** 1 = PaymentInformation 2 = MeetingRoom 3 = Integration 4 = WelcomeInformation */\r\nexport enum ProfileChecklist {\r\n PaymentInformation = 1,\r\n MeetingRoom = 2,\r\n Integration = 3,\r\n WelcomeInformation = 4,\r\n}\r\n\r\nexport class VenueEventModel implements IVenueEventModel {\r\n eventId!: string;\r\n eventType!: VenueEventType;\r\n createdVenueTime!: string;\r\n createdTicks!: string;\r\n authorEmail!: string | undefined;\r\n message!: string;\r\n\r\n constructor(data?: IVenueEventModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.eventId = _data[\"eventId\"];\r\n this.eventType = _data[\"eventType\"];\r\n this.createdVenueTime = _data[\"createdVenueTime\"];\r\n this.createdTicks = _data[\"createdTicks\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueEventModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueEventModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"eventId\"] = this.eventId;\r\n data[\"eventType\"] = this.eventType;\r\n data[\"createdVenueTime\"] = this.createdVenueTime;\r\n data[\"createdTicks\"] = this.createdTicks;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueEventModel {\r\n eventId: string;\r\n eventType: VenueEventType;\r\n createdVenueTime: string;\r\n createdTicks: string;\r\n authorEmail: string | undefined;\r\n message: string;\r\n}\r\n\r\n/** 0 = Note 1 = StatusChange 2 = EventEdited 3 = EventDeleted 4 = MembershipStatusChange 5 = LiquidspaceProStatusChange 6 = Claimed */\r\nexport enum VenueEventType {\r\n Note = 0,\r\n StatusChange = 1,\r\n EventEdited = 2,\r\n EventDeleted = 3,\r\n MembershipStatusChange = 4,\r\n LiquidspaceProStatusChange = 5,\r\n Claimed = 6,\r\n}\r\n\r\nexport class HooRuleSplitViewModel implements IHooRuleSplitViewModel {\r\n hooId!: string;\r\n day!: string | undefined;\r\n hours!: string;\r\n workspace!: string;\r\n people!: string;\r\n venueId!: string;\r\n\r\n constructor(data?: IHooRuleSplitViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.day = _data[\"day\"];\r\n this.hours = _data[\"hours\"];\r\n this.workspace = _data[\"workspace\"];\r\n this.people = _data[\"people\"];\r\n this.venueId = _data[\"venueId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleSplitViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleSplitViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"day\"] = this.day;\r\n data[\"hours\"] = this.hours;\r\n data[\"workspace\"] = this.workspace;\r\n data[\"people\"] = this.people;\r\n data[\"venueId\"] = this.venueId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleSplitViewModel {\r\n hooId: string;\r\n day: string | undefined;\r\n hours: string;\r\n workspace: string;\r\n people: string;\r\n venueId: string;\r\n}\r\n\r\nexport class HooRuleFlexBaseViewModel implements IHooRuleFlexBaseViewModel {\r\n selectedWorkspaces!: string[];\r\n selectedVisas!: string[];\r\n\r\n constructor(data?: IHooRuleFlexBaseViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"selectedWorkspaces\"])) {\r\n this.selectedWorkspaces = [] as any;\r\n for (let item of _data[\"selectedWorkspaces\"])\r\n this.selectedWorkspaces!.push(item);\r\n }\r\n if (Array.isArray(_data[\"selectedVisas\"])) {\r\n this.selectedVisas = [] as any;\r\n for (let item of _data[\"selectedVisas\"])\r\n this.selectedVisas!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleFlexBaseViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleFlexBaseViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.selectedWorkspaces)) {\r\n data[\"selectedWorkspaces\"] = [];\r\n for (let item of this.selectedWorkspaces)\r\n data[\"selectedWorkspaces\"].push(item);\r\n }\r\n if (Array.isArray(this.selectedVisas)) {\r\n data[\"selectedVisas\"] = [];\r\n for (let item of this.selectedVisas)\r\n data[\"selectedVisas\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleFlexBaseViewModel {\r\n selectedWorkspaces: string[];\r\n selectedVisas: string[];\r\n}\r\n\r\n/** AKA Exceptions */\r\nexport class HooRuleSplitEditViewModel extends HooRuleFlexBaseViewModel implements IHooRuleSplitEditViewModel {\r\n hooId!: string;\r\n venueId!: string;\r\n description!: string | undefined;\r\n showDescription!: boolean;\r\n timeZoneId!: string | undefined;\r\n daysOfWeek!: SelectedDaysOfWeek[];\r\n hooModeSelected!: HooMode;\r\n dateRangeStart!: string | undefined;\r\n dateRangeEnd!: string | undefined;\r\n openCloseModeSelected!: OpenCloseMode;\r\n openClosePairs!: OpenClosePair[];\r\n splitHoursSelected!: boolean;\r\n\r\n constructor(data?: IHooRuleSplitEditViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.description = _data[\"description\"];\r\n this.showDescription = _data[\"showDescription\"];\r\n this.timeZoneId = _data[\"timeZoneId\"];\r\n if (Array.isArray(_data[\"daysOfWeek\"])) {\r\n this.daysOfWeek = [] as any;\r\n for (let item of _data[\"daysOfWeek\"])\r\n this.daysOfWeek!.push(SelectedDaysOfWeek.fromJS(item));\r\n }\r\n this.hooModeSelected = _data[\"hooModeSelected\"];\r\n this.dateRangeStart = _data[\"dateRangeStart\"];\r\n this.dateRangeEnd = _data[\"dateRangeEnd\"];\r\n this.openCloseModeSelected = _data[\"openCloseModeSelected\"];\r\n if (Array.isArray(_data[\"openClosePairs\"])) {\r\n this.openClosePairs = [] as any;\r\n for (let item of _data[\"openClosePairs\"])\r\n this.openClosePairs!.push(OpenClosePair.fromJS(item));\r\n }\r\n this.splitHoursSelected = _data[\"splitHoursSelected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleSplitEditViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleSplitEditViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"description\"] = this.description;\r\n data[\"showDescription\"] = this.showDescription;\r\n data[\"timeZoneId\"] = this.timeZoneId;\r\n if (Array.isArray(this.daysOfWeek)) {\r\n data[\"daysOfWeek\"] = [];\r\n for (let item of this.daysOfWeek)\r\n data[\"daysOfWeek\"].push(item.toJSON());\r\n }\r\n data[\"hooModeSelected\"] = this.hooModeSelected;\r\n data[\"dateRangeStart\"] = this.dateRangeStart;\r\n data[\"dateRangeEnd\"] = this.dateRangeEnd;\r\n data[\"openCloseModeSelected\"] = this.openCloseModeSelected;\r\n if (Array.isArray(this.openClosePairs)) {\r\n data[\"openClosePairs\"] = [];\r\n for (let item of this.openClosePairs)\r\n data[\"openClosePairs\"].push(item.toJSON());\r\n }\r\n data[\"splitHoursSelected\"] = this.splitHoursSelected;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** AKA Exceptions */\r\nexport interface IHooRuleSplitEditViewModel extends IHooRuleFlexBaseViewModel {\r\n hooId: string;\r\n venueId: string;\r\n description: string | undefined;\r\n showDescription: boolean;\r\n timeZoneId: string | undefined;\r\n daysOfWeek: SelectedDaysOfWeek[];\r\n hooModeSelected: HooMode;\r\n dateRangeStart: string | undefined;\r\n dateRangeEnd: string | undefined;\r\n openCloseModeSelected: OpenCloseMode;\r\n openClosePairs: OpenClosePair[];\r\n splitHoursSelected: boolean;\r\n}\r\n\r\nexport class SelectedDaysOfWeek implements ISelectedDaysOfWeek {\r\n dayOfWeek!: DayOfWeek;\r\n isSelected!: boolean;\r\n\r\n constructor(data?: ISelectedDaysOfWeek) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dayOfWeek = _data[\"dayOfWeek\"];\r\n this.isSelected = _data[\"isSelected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectedDaysOfWeek {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectedDaysOfWeek();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dayOfWeek\"] = this.dayOfWeek;\r\n data[\"isSelected\"] = this.isSelected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectedDaysOfWeek {\r\n dayOfWeek: DayOfWeek;\r\n isSelected: boolean;\r\n}\r\n\r\n/** 0 = DateRange 1 = DaysOfWeek */\r\nexport enum HooMode {\r\n DateRange = 0,\r\n DaysOfWeek = 1,\r\n}\r\n\r\n/** 0 = OpenHours 1 = Closed24Hours */\r\nexport enum OpenCloseMode {\r\n OpenHours = 0,\r\n Closed24Hours = 1,\r\n}\r\n\r\nexport class OpenClosePair implements IOpenClosePair {\r\n offsetToOpening!: string | undefined;\r\n offsetToClosing!: string | undefined;\r\n\r\n constructor(data?: IOpenClosePair) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.offsetToOpening = _data[\"offsetToOpening\"];\r\n this.offsetToClosing = _data[\"offsetToClosing\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OpenClosePair {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OpenClosePair();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"offsetToOpening\"] = this.offsetToOpening;\r\n data[\"offsetToClosing\"] = this.offsetToClosing;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOpenClosePair {\r\n offsetToOpening: string | undefined;\r\n offsetToClosing: string | undefined;\r\n}\r\n\r\nexport class HooRuleForBookingWindowFlexViewModel implements IHooRuleForBookingWindowFlexViewModel {\r\n hooId!: string;\r\n minNotice!: string;\r\n maxNotice!: string;\r\n venueId!: string;\r\n workspace!: string;\r\n people!: string;\r\n isPeriodRule!: boolean;\r\n\r\n constructor(data?: IHooRuleForBookingWindowFlexViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.minNotice = _data[\"minNotice\"];\r\n this.maxNotice = _data[\"maxNotice\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspace = _data[\"workspace\"];\r\n this.people = _data[\"people\"];\r\n this.isPeriodRule = _data[\"isPeriodRule\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForBookingWindowFlexViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForBookingWindowFlexViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"minNotice\"] = this.minNotice;\r\n data[\"maxNotice\"] = this.maxNotice;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspace\"] = this.workspace;\r\n data[\"people\"] = this.people;\r\n data[\"isPeriodRule\"] = this.isPeriodRule;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForBookingWindowFlexViewModel {\r\n hooId: string;\r\n minNotice: string;\r\n maxNotice: string;\r\n venueId: string;\r\n workspace: string;\r\n people: string;\r\n isPeriodRule: boolean;\r\n}\r\n\r\nexport class HooRuleForBookingWindowFlexEditViewModel extends HooRuleFlexBaseViewModel implements IHooRuleForBookingWindowFlexEditViewModel {\r\n hooId!: string;\r\n venueId!: string;\r\n advanceNoticeTypeSelected!: MinAdvanceNoticeRangeType;\r\n advanceNotice!: number;\r\n unavailableAfter!: number;\r\n\r\n constructor(data?: IHooRuleForBookingWindowFlexEditViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.advanceNoticeTypeSelected = _data[\"advanceNoticeTypeSelected\"];\r\n this.advanceNotice = _data[\"advanceNotice\"];\r\n this.unavailableAfter = _data[\"unavailableAfter\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForBookingWindowFlexEditViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForBookingWindowFlexEditViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"advanceNoticeTypeSelected\"] = this.advanceNoticeTypeSelected;\r\n data[\"advanceNotice\"] = this.advanceNotice;\r\n data[\"unavailableAfter\"] = this.unavailableAfter;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForBookingWindowFlexEditViewModel extends IHooRuleFlexBaseViewModel {\r\n hooId: string;\r\n venueId: string;\r\n advanceNoticeTypeSelected: MinAdvanceNoticeRangeType;\r\n advanceNotice: number;\r\n unavailableAfter: number;\r\n}\r\n\r\n/** 0 = Hours 1 = Days */\r\nexport enum MinAdvanceNoticeRangeType {\r\n Hours = 0,\r\n Days = 1,\r\n}\r\n\r\nexport class OwnerInfoModel implements IOwnerInfoModel {\r\n id!: string;\r\n fullName!: string | undefined;\r\n email!: string;\r\n\r\n constructor(data?: IOwnerInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OwnerInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OwnerInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOwnerInfoModel {\r\n id: string;\r\n fullName: string | undefined;\r\n email: string;\r\n}\r\n\r\nexport class ExchangeConfigurationModel implements IExchangeConfigurationModel {\r\n user!: string;\r\n workspaces!: ExchangeWorkspaceModel[];\r\n\r\n constructor(data?: IExchangeConfigurationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.user = _data[\"user\"];\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(ExchangeWorkspaceModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExchangeConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExchangeConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"user\"] = this.user;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExchangeConfigurationModel {\r\n user: string;\r\n workspaces: ExchangeWorkspaceModel[];\r\n}\r\n\r\nexport class ExchangeWorkspaceModel implements IExchangeWorkspaceModel {\r\n id!: string;\r\n name!: string | undefined;\r\n email!: string;\r\n\r\n constructor(data?: IExchangeWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExchangeWorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExchangeWorkspaceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExchangeWorkspaceModel {\r\n id: string;\r\n name: string | undefined;\r\n email: string;\r\n}\r\n\r\nexport class OfficeRnDWorkspacesSyncModel implements IOfficeRnDWorkspacesSyncModel {\r\n workspaces!: OfficeRnDWorkspaceSyncModel[];\r\n venueWorkspaces!: WorkspaceSelectListItem[];\r\n\r\n constructor(data?: IOfficeRnDWorkspacesSyncModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(OfficeRnDWorkspaceSyncModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"venueWorkspaces\"])) {\r\n this.venueWorkspaces = [] as any;\r\n for (let item of _data[\"venueWorkspaces\"])\r\n this.venueWorkspaces!.push(WorkspaceSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspacesSyncModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspacesSyncModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.venueWorkspaces)) {\r\n data[\"venueWorkspaces\"] = [];\r\n for (let item of this.venueWorkspaces)\r\n data[\"venueWorkspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspacesSyncModel {\r\n workspaces: OfficeRnDWorkspaceSyncModel[];\r\n venueWorkspaces: WorkspaceSelectListItem[];\r\n}\r\n\r\nexport class OfficeRnDWorkspaceSyncModel implements IOfficeRnDWorkspaceSyncModel {\r\n enable!: boolean;\r\n officeRnDResourceId!: string;\r\n officeRnDResourceName!: string | undefined;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IOfficeRnDWorkspaceSyncModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enable = _data[\"enable\"];\r\n this.officeRnDResourceId = _data[\"officeRnDResourceId\"];\r\n this.officeRnDResourceName = _data[\"officeRnDResourceName\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspaceSyncModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspaceSyncModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enable\"] = this.enable;\r\n data[\"officeRnDResourceId\"] = this.officeRnDResourceId;\r\n data[\"officeRnDResourceName\"] = this.officeRnDResourceName;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspaceSyncModel {\r\n enable: boolean;\r\n officeRnDResourceId: string;\r\n officeRnDResourceName: string | undefined;\r\n workspaceId: string;\r\n}\r\n\r\nexport class WorkspaceSelectListItem implements IWorkspaceSelectListItem {\r\n name!: string;\r\n id!: string;\r\n\r\n constructor(data?: IWorkspaceSelectListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceSelectListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceSelectListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceSelectListItem {\r\n name: string;\r\n id: string;\r\n}\r\n\r\nexport class OfficeRnDWorkspacesSyncSubmitModel implements IOfficeRnDWorkspacesSyncSubmitModel {\r\n workspaces!: OfficeRnDWorkspaceSyncSubmitModel[];\r\n\r\n constructor(data?: IOfficeRnDWorkspacesSyncSubmitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(OfficeRnDWorkspaceSyncSubmitModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspacesSyncSubmitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspacesSyncSubmitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspacesSyncSubmitModel {\r\n workspaces: OfficeRnDWorkspaceSyncSubmitModel[];\r\n}\r\n\r\nexport class OfficeRnDWorkspaceSyncSubmitModel implements IOfficeRnDWorkspaceSyncSubmitModel {\r\n officeRnDResourceId!: string;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IOfficeRnDWorkspaceSyncSubmitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.officeRnDResourceId = _data[\"officeRnDResourceId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspaceSyncSubmitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspaceSyncSubmitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"officeRnDResourceId\"] = this.officeRnDResourceId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspaceSyncSubmitModel {\r\n officeRnDResourceId: string;\r\n workspaceId: string;\r\n}\r\n\r\nexport class DashboardLeadViewModel implements IDashboardLeadViewModel {\r\n leadDate!: string;\r\n leadDateString!: string;\r\n leadDateMoreThanWeekAgo!: boolean;\r\n currentState!: InteractionStateEnum;\r\n workspaceId!: string | undefined;\r\n workspaceName!: string | undefined;\r\n memberId!: string;\r\n memberFirstName!: string | undefined;\r\n memberLastName!: string | undefined;\r\n memberFullName!: string | undefined;\r\n memberCompany!: string | undefined;\r\n memberIsDeleted!: boolean;\r\n memberEnterpriseAccountId!: string | undefined;\r\n memberEnterpriseAccountName!: string | undefined;\r\n memberImageUrl!: string | undefined;\r\n tourId!: string | undefined;\r\n tourStatus!: TourStatus;\r\n activeVenueTourId!: string | undefined;\r\n workflowId!: string | undefined;\r\n chainId!: string | undefined;\r\n hasVenueRespondedToMessage!: boolean;\r\n monthlyVisaState!: VisaState | undefined;\r\n reservationId!: string | undefined;\r\n rcpUrl!: string | undefined;\r\n doNotRenewAllowed!: boolean | undefined;\r\n dealProposalDetailsUrl!: string | undefined;\r\n proposalId!: string | undefined;\r\n spaceTypeForCapacity!: string | undefined;\r\n isUpdatedMoreThanYearAgo!: boolean;\r\n isDeleted!: boolean;\r\n isEnterpriseAccountLead!: boolean;\r\n dashboardLeadStatus!: DashboardLeadStatus;\r\n statusText!: string;\r\n\r\n constructor(data?: IDashboardLeadViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.leadDate = _data[\"leadDate\"];\r\n this.leadDateString = _data[\"leadDateString\"];\r\n this.leadDateMoreThanWeekAgo = _data[\"leadDateMoreThanWeekAgo\"];\r\n this.currentState = _data[\"currentState\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.memberLastName = _data[\"memberLastName\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberCompany = _data[\"memberCompany\"];\r\n this.memberIsDeleted = _data[\"memberIsDeleted\"];\r\n this.memberEnterpriseAccountId = _data[\"memberEnterpriseAccountId\"];\r\n this.memberEnterpriseAccountName = _data[\"memberEnterpriseAccountName\"];\r\n this.memberImageUrl = _data[\"memberImageUrl\"];\r\n this.tourId = _data[\"tourId\"];\r\n this.tourStatus = _data[\"tourStatus\"];\r\n this.activeVenueTourId = _data[\"activeVenueTourId\"];\r\n this.workflowId = _data[\"workflowId\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.hasVenueRespondedToMessage = _data[\"hasVenueRespondedToMessage\"];\r\n this.monthlyVisaState = _data[\"monthlyVisaState\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.rcpUrl = _data[\"rcpUrl\"];\r\n this.doNotRenewAllowed = _data[\"doNotRenewAllowed\"];\r\n this.dealProposalDetailsUrl = _data[\"dealProposalDetailsUrl\"];\r\n this.proposalId = _data[\"proposalId\"];\r\n this.spaceTypeForCapacity = _data[\"spaceTypeForCapacity\"];\r\n this.isUpdatedMoreThanYearAgo = _data[\"isUpdatedMoreThanYearAgo\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isEnterpriseAccountLead = _data[\"isEnterpriseAccountLead\"];\r\n this.dashboardLeadStatus = _data[\"dashboardLeadStatus\"];\r\n this.statusText = _data[\"statusText\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardLeadViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardLeadViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"leadDate\"] = this.leadDate;\r\n data[\"leadDateString\"] = this.leadDateString;\r\n data[\"leadDateMoreThanWeekAgo\"] = this.leadDateMoreThanWeekAgo;\r\n data[\"currentState\"] = this.currentState;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"memberLastName\"] = this.memberLastName;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberCompany\"] = this.memberCompany;\r\n data[\"memberIsDeleted\"] = this.memberIsDeleted;\r\n data[\"memberEnterpriseAccountId\"] = this.memberEnterpriseAccountId;\r\n data[\"memberEnterpriseAccountName\"] = this.memberEnterpriseAccountName;\r\n data[\"memberImageUrl\"] = this.memberImageUrl;\r\n data[\"tourId\"] = this.tourId;\r\n data[\"tourStatus\"] = this.tourStatus;\r\n data[\"activeVenueTourId\"] = this.activeVenueTourId;\r\n data[\"workflowId\"] = this.workflowId;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"hasVenueRespondedToMessage\"] = this.hasVenueRespondedToMessage;\r\n data[\"monthlyVisaState\"] = this.monthlyVisaState;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"rcpUrl\"] = this.rcpUrl;\r\n data[\"doNotRenewAllowed\"] = this.doNotRenewAllowed;\r\n data[\"dealProposalDetailsUrl\"] = this.dealProposalDetailsUrl;\r\n data[\"proposalId\"] = this.proposalId;\r\n data[\"spaceTypeForCapacity\"] = this.spaceTypeForCapacity;\r\n data[\"isUpdatedMoreThanYearAgo\"] = this.isUpdatedMoreThanYearAgo;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isEnterpriseAccountLead\"] = this.isEnterpriseAccountLead;\r\n data[\"dashboardLeadStatus\"] = this.dashboardLeadStatus;\r\n data[\"statusText\"] = this.statusText;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardLeadViewModel {\r\n leadDate: string;\r\n leadDateString: string;\r\n leadDateMoreThanWeekAgo: boolean;\r\n currentState: InteractionStateEnum;\r\n workspaceId: string | undefined;\r\n workspaceName: string | undefined;\r\n memberId: string;\r\n memberFirstName: string | undefined;\r\n memberLastName: string | undefined;\r\n memberFullName: string | undefined;\r\n memberCompany: string | undefined;\r\n memberIsDeleted: boolean;\r\n memberEnterpriseAccountId: string | undefined;\r\n memberEnterpriseAccountName: string | undefined;\r\n memberImageUrl: string | undefined;\r\n tourId: string | undefined;\r\n tourStatus: TourStatus;\r\n activeVenueTourId: string | undefined;\r\n workflowId: string | undefined;\r\n chainId: string | undefined;\r\n hasVenueRespondedToMessage: boolean;\r\n monthlyVisaState: VisaState | undefined;\r\n reservationId: string | undefined;\r\n rcpUrl: string | undefined;\r\n doNotRenewAllowed: boolean | undefined;\r\n dealProposalDetailsUrl: string | undefined;\r\n proposalId: string | undefined;\r\n spaceTypeForCapacity: string | undefined;\r\n isUpdatedMoreThanYearAgo: boolean;\r\n isDeleted: boolean;\r\n isEnterpriseAccountLead: boolean;\r\n dashboardLeadStatus: DashboardLeadStatus;\r\n statusText: string;\r\n}\r\n\r\n/** 0 = Unknown 1 = Inquire 2 = ScheduleTour 3 = RequestToBook 4 = Approved 5 = Rejected 6 = Booked 7 = ManuallyBooked 8 = ManuallyBookedReservationEdited 9 = TourChangedByGuest 10 = TourChangedByVenue 11 = TourConfirmed 12 = TourCanceledByVenue 13 = TourCanceledByGuest 14 = TourComplete 15 = TourExpired 16 = MessageHost 17 = Manual 18 = Proposal 19 = FurnitureRequest 20 = ProposalReply 21 = RequestSpace 22 = ProposalToRequest 23 = ProposalRejected 24 = HostReferral 25 = DealProposal 26 = CloseDeal 27 = TourSuggested 28 = DealProposalAccepted 29 = DealProposalDeclined 30 = DealProposalSigned 31 = DealProposalChangedByVenue 32 = DealProposalChangedByMember 33 = CloseDealByMember 34 = Pending 35 = ManuallyBookedReservationExtended 36 = ManuallyBookedReservationReduced 37 = MessageSpaceExpert 38 = NotifyMe */\r\nexport enum InteractionStateEnum {\r\n Unknown = 0,\r\n Inquire = 1,\r\n ScheduleTour = 2,\r\n RequestToBook = 3,\r\n Approved = 4,\r\n Rejected = 5,\r\n Booked = 6,\r\n ManuallyBooked = 7,\r\n ManuallyBookedReservationEdited = 8,\r\n TourChangedByGuest = 9,\r\n TourChangedByVenue = 10,\r\n TourConfirmed = 11,\r\n TourCanceledByVenue = 12,\r\n TourCanceledByGuest = 13,\r\n TourComplete = 14,\r\n TourExpired = 15,\r\n MessageHost = 16,\r\n Manual = 17,\r\n Proposal = 18,\r\n FurnitureRequest = 19,\r\n ProposalReply = 20,\r\n RequestSpace = 21,\r\n ProposalToRequest = 22,\r\n ProposalRejected = 23,\r\n HostReferral = 24,\r\n DealProposal = 25,\r\n CloseDeal = 26,\r\n TourSuggested = 27,\r\n DealProposalAccepted = 28,\r\n DealProposalDeclined = 29,\r\n DealProposalSigned = 30,\r\n DealProposalChangedByVenue = 31,\r\n DealProposalChangedByMember = 32,\r\n CloseDealByMember = 33,\r\n Pending = 34,\r\n ManuallyBookedReservationExtended = 35,\r\n ManuallyBookedReservationReduced = 36,\r\n MessageSpaceExpert = 37,\r\n NotifyMe = 38,\r\n}\r\n\r\n/** 0 = Unknown 1 = New 2 = Active 3 = ClosedLost 4 = ClosedWon 5 = Archived */\r\nexport enum DashboardLeadStatus {\r\n Unknown = 0,\r\n New = 1,\r\n Active = 2,\r\n ClosedLost = 3,\r\n ClosedWon = 4,\r\n Archived = 5,\r\n}\r\n\r\nexport class CheckResult implements ICheckResult {\r\n fields!: CheckResultField[] | undefined;\r\n\r\n constructor(data?: ICheckResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(CheckResultField.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckResult {\r\n fields: CheckResultField[] | undefined;\r\n}\r\n\r\nexport class CheckResultField implements ICheckResultField {\r\n name!: string | undefined;\r\n isModelField!: boolean;\r\n isTemplateField!: boolean;\r\n\r\n constructor(data?: ICheckResultField) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.isModelField = _data[\"isModelField\"];\r\n this.isTemplateField = _data[\"isTemplateField\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckResultField {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckResultField();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"isModelField\"] = this.isModelField;\r\n data[\"isTemplateField\"] = this.isTemplateField;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckResultField {\r\n name: string | undefined;\r\n isModelField: boolean;\r\n isTemplateField: boolean;\r\n}\r\n\r\nexport class ManageVenueMemberInvitationPreviewEmailViewModel implements IManageVenueMemberInvitationPreviewEmailViewModel {\r\n message!: string | undefined;\r\n fName!: string | undefined;\r\n lName!: string | undefined;\r\n\r\n constructor(data?: IManageVenueMemberInvitationPreviewEmailViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.fName = _data[\"fName\"];\r\n this.lName = _data[\"lName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ManageVenueMemberInvitationPreviewEmailViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ManageVenueMemberInvitationPreviewEmailViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"fName\"] = this.fName;\r\n data[\"lName\"] = this.lName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IManageVenueMemberInvitationPreviewEmailViewModel {\r\n message: string | undefined;\r\n fName: string | undefined;\r\n lName: string | undefined;\r\n}\r\n\r\nexport class VenueMemberModel implements IVenueMemberModel {\r\n id!: string;\r\n firstName!: string;\r\n lastName!: string;\r\n company!: string;\r\n email!: string;\r\n phone!: string;\r\n visaId!: string;\r\n visaName!: string;\r\n visaState!: VisaState;\r\n\r\n constructor(data?: IVenueMemberModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.visaId = _data[\"visaId\"];\r\n this.visaName = _data[\"visaName\"];\r\n this.visaState = _data[\"visaState\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueMemberModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueMemberModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"visaId\"] = this.visaId;\r\n data[\"visaName\"] = this.visaName;\r\n data[\"visaState\"] = this.visaState;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueMemberModel {\r\n id: string;\r\n firstName: string;\r\n lastName: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n visaId: string;\r\n visaName: string;\r\n visaState: VisaState;\r\n}\r\n\r\nexport class VenueMemberProfileModel implements IVenueMemberProfileModel {\r\n id!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n company!: string | undefined;\r\n email!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n imageUrl!: string | undefined;\r\n agreedToShareContactInfo!: boolean;\r\n visaId!: string | undefined;\r\n currentMemberVisaStateId!: string | undefined;\r\n availableVisas!: { [key: string]: string; };\r\n visaState!: VisaState | undefined;\r\n denyVisaReason!: DenyVisaReason;\r\n paymentMethod!: string | undefined;\r\n memberPackage!: string | undefined;\r\n venueApprovalRequiredVisaIds!: string[];\r\n confirmRelation!: boolean;\r\n\r\n constructor(data?: IVenueMemberProfileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.agreedToShareContactInfo = _data[\"agreedToShareContactInfo\"];\r\n this.visaId = _data[\"visaId\"];\r\n this.currentMemberVisaStateId = _data[\"currentMemberVisaStateId\"];\r\n if (_data[\"availableVisas\"]) {\r\n this.availableVisas = {} as any;\r\n for (let key in _data[\"availableVisas\"]) {\r\n if (_data[\"availableVisas\"].hasOwnProperty(key))\r\n (this.availableVisas)![key] = _data[\"availableVisas\"][key];\r\n }\r\n }\r\n this.visaState = _data[\"visaState\"];\r\n this.denyVisaReason = _data[\"denyVisaReason\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.memberPackage = _data[\"memberPackage\"];\r\n if (Array.isArray(_data[\"venueApprovalRequiredVisaIds\"])) {\r\n this.venueApprovalRequiredVisaIds = [] as any;\r\n for (let item of _data[\"venueApprovalRequiredVisaIds\"])\r\n this.venueApprovalRequiredVisaIds!.push(item);\r\n }\r\n this.confirmRelation = _data[\"confirmRelation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueMemberProfileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueMemberProfileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"agreedToShareContactInfo\"] = this.agreedToShareContactInfo;\r\n data[\"visaId\"] = this.visaId;\r\n data[\"currentMemberVisaStateId\"] = this.currentMemberVisaStateId;\r\n if (this.availableVisas) {\r\n data[\"availableVisas\"] = {};\r\n for (let key in this.availableVisas) {\r\n if (this.availableVisas.hasOwnProperty(key))\r\n (data[\"availableVisas\"])[key] = (this.availableVisas)[key];\r\n }\r\n }\r\n data[\"visaState\"] = this.visaState;\r\n data[\"denyVisaReason\"] = this.denyVisaReason;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"memberPackage\"] = this.memberPackage;\r\n if (Array.isArray(this.venueApprovalRequiredVisaIds)) {\r\n data[\"venueApprovalRequiredVisaIds\"] = [];\r\n for (let item of this.venueApprovalRequiredVisaIds)\r\n data[\"venueApprovalRequiredVisaIds\"].push(item);\r\n }\r\n data[\"confirmRelation\"] = this.confirmRelation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueMemberProfileModel {\r\n id: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n company: string | undefined;\r\n email: string | undefined;\r\n phoneNumber: string | undefined;\r\n imageUrl: string | undefined;\r\n agreedToShareContactInfo: boolean;\r\n visaId: string | undefined;\r\n currentMemberVisaStateId: string | undefined;\r\n availableVisas: { [key: string]: string; };\r\n visaState: VisaState | undefined;\r\n denyVisaReason: DenyVisaReason;\r\n paymentMethod: string | undefined;\r\n memberPackage: string | undefined;\r\n venueApprovalRequiredVisaIds: string[];\r\n confirmRelation: boolean;\r\n}\r\n\r\n/** 0 = None 1 = SpaceNoLongerAvailable 2 = GuestNoShow 3 = GuestNotFit 4 = PriceIssues 5 = MyReasonIsNotListed */\r\nexport enum DenyVisaReason {\r\n None = 0,\r\n SpaceNoLongerAvailable = 1,\r\n GuestNoShow = 2,\r\n GuestNotFit = 3,\r\n PriceIssues = 4,\r\n MyReasonIsNotListed = 5,\r\n}\r\n\r\nexport class AddMemberToVisaModel implements IAddMemberToVisaModel {\r\n venueId!: string;\r\n email!: string | undefined;\r\n visaId!: string;\r\n availableVisas!: { [key: string]: string; };\r\n visaState!: VisaState;\r\n originatingFrom!: ReservationSource;\r\n notes!: string | undefined;\r\n\r\n constructor(data?: IAddMemberToVisaModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.email = _data[\"email\"];\r\n this.visaId = _data[\"visaId\"];\r\n if (_data[\"availableVisas\"]) {\r\n this.availableVisas = {} as any;\r\n for (let key in _data[\"availableVisas\"]) {\r\n if (_data[\"availableVisas\"].hasOwnProperty(key))\r\n (this.availableVisas)![key] = _data[\"availableVisas\"][key];\r\n }\r\n }\r\n this.visaState = _data[\"visaState\"];\r\n this.originatingFrom = _data[\"originatingFrom\"];\r\n this.notes = _data[\"notes\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddMemberToVisaModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddMemberToVisaModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"email\"] = this.email;\r\n data[\"visaId\"] = this.visaId;\r\n if (this.availableVisas) {\r\n data[\"availableVisas\"] = {};\r\n for (let key in this.availableVisas) {\r\n if (this.availableVisas.hasOwnProperty(key))\r\n (data[\"availableVisas\"])[key] = (this.availableVisas)[key];\r\n }\r\n }\r\n data[\"visaState\"] = this.visaState;\r\n data[\"originatingFrom\"] = this.originatingFrom;\r\n data[\"notes\"] = this.notes;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddMemberToVisaModel {\r\n venueId: string;\r\n email: string | undefined;\r\n visaId: string;\r\n availableVisas: { [key: string]: string; };\r\n visaState: VisaState;\r\n originatingFrom: ReservationSource;\r\n notes: string | undefined;\r\n}\r\n\r\n/** 0 = LiquidSpace 1 = Exchange 2 = iPhone 3 = AndroidPhone 4 = iPad 5 = AndroidTablet 6 = MorningStar 7 = GCal 8 = MeetingRequestor 9 = LES 10 = ServCorp 11 = IntelligentOffice 12 = RJMetis 13 = MobileWeb 14 = LSApi 15 = Widget 16 = MobileWidget 17 = OfficeRnD 18 = MSGraph 19 = Deskimo */\r\nexport enum ReservationSource {\r\n LiquidSpace = 0,\r\n Exchange = 1,\r\n IPhone = 2,\r\n AndroidPhone = 3,\r\n IPad = 4,\r\n AndroidTablet = 5,\r\n MorningStar = 6,\r\n GCal = 7,\r\n MeetingRequestor = 8,\r\n LES = 9,\r\n ServCorp = 10,\r\n IntelligentOffice = 11,\r\n RJMetis = 12,\r\n MobileWeb = 13,\r\n LSApi = 14,\r\n Widget = 15,\r\n MobileWidget = 16,\r\n OfficeRnD = 17,\r\n MSGraph = 18,\r\n Deskimo = 19,\r\n}\r\n\r\nexport class ChangeVisaStateReponse implements IChangeVisaStateReponse {\r\n success!: boolean;\r\n message!: string | undefined;\r\n unableToProcess!: boolean;\r\n redirectToCalendar!: boolean;\r\n\r\n constructor(data?: IChangeVisaStateReponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.message = _data[\"message\"];\r\n this.unableToProcess = _data[\"unableToProcess\"];\r\n this.redirectToCalendar = _data[\"redirectToCalendar\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeVisaStateReponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeVisaStateReponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"message\"] = this.message;\r\n data[\"unableToProcess\"] = this.unableToProcess;\r\n data[\"redirectToCalendar\"] = this.redirectToCalendar;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeVisaStateReponse {\r\n success: boolean;\r\n message: string | undefined;\r\n unableToProcess: boolean;\r\n redirectToCalendar: boolean;\r\n}\r\n\r\nexport class VenueReservationViewModel extends BaseReservationViewModel implements IVenueReservationViewModel {\r\n\r\n constructor(data?: IVenueReservationViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): VenueReservationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueReservationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueReservationViewModel extends IBaseReservationViewModel {\r\n}\r\n\r\nexport class VenueScoreViewModel implements IVenueScoreViewModel {\r\n venueId!: string;\r\n freshness!: WorkspaceFreshness;\r\n freshnessDaysSinceLastUpdate!: number;\r\n freshnessWorkspacesCount!: number;\r\n responseRatePercent!: number;\r\n conversionRatePercent!: number;\r\n conversionRateAveragePercent!: number;\r\n leadRequestTotal!: number;\r\n workflowsTotal!: number;\r\n venueScoreCurrent!: number;\r\n venueScoreAverage!: number;\r\n venueScoreDelta!: number;\r\n hide!: boolean;\r\n\r\n constructor(data?: IVenueScoreViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.freshness = _data[\"freshness\"];\r\n this.freshnessDaysSinceLastUpdate = _data[\"freshnessDaysSinceLastUpdate\"];\r\n this.freshnessWorkspacesCount = _data[\"freshnessWorkspacesCount\"];\r\n this.responseRatePercent = _data[\"responseRatePercent\"];\r\n this.conversionRatePercent = _data[\"conversionRatePercent\"];\r\n this.conversionRateAveragePercent = _data[\"conversionRateAveragePercent\"];\r\n this.leadRequestTotal = _data[\"leadRequestTotal\"];\r\n this.workflowsTotal = _data[\"workflowsTotal\"];\r\n this.venueScoreCurrent = _data[\"venueScoreCurrent\"];\r\n this.venueScoreAverage = _data[\"venueScoreAverage\"];\r\n this.venueScoreDelta = _data[\"venueScoreDelta\"];\r\n this.hide = _data[\"hide\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueScoreViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueScoreViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"freshness\"] = this.freshness;\r\n data[\"freshnessDaysSinceLastUpdate\"] = this.freshnessDaysSinceLastUpdate;\r\n data[\"freshnessWorkspacesCount\"] = this.freshnessWorkspacesCount;\r\n data[\"responseRatePercent\"] = this.responseRatePercent;\r\n data[\"conversionRatePercent\"] = this.conversionRatePercent;\r\n data[\"conversionRateAveragePercent\"] = this.conversionRateAveragePercent;\r\n data[\"leadRequestTotal\"] = this.leadRequestTotal;\r\n data[\"workflowsTotal\"] = this.workflowsTotal;\r\n data[\"venueScoreCurrent\"] = this.venueScoreCurrent;\r\n data[\"venueScoreAverage\"] = this.venueScoreAverage;\r\n data[\"venueScoreDelta\"] = this.venueScoreDelta;\r\n data[\"hide\"] = this.hide;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueScoreViewModel {\r\n venueId: string;\r\n freshness: WorkspaceFreshness;\r\n freshnessDaysSinceLastUpdate: number;\r\n freshnessWorkspacesCount: number;\r\n responseRatePercent: number;\r\n conversionRatePercent: number;\r\n conversionRateAveragePercent: number;\r\n leadRequestTotal: number;\r\n workflowsTotal: number;\r\n venueScoreCurrent: number;\r\n venueScoreAverage: number;\r\n venueScoreDelta: number;\r\n hide: boolean;\r\n}\r\n\r\n/** 0 = Fresh 1 = Stale 2 = Rotten 3 = Compost */\r\nexport enum WorkspaceFreshness {\r\n Fresh = 0,\r\n Stale = 1,\r\n Rotten = 2,\r\n Compost = 3,\r\n}\r\n\r\nexport class VenueStatementSummaryModel implements IVenueStatementSummaryModel {\r\n date!: string;\r\n createdDate!: string | undefined;\r\n hourly!: VenueStatementSummaryDetails;\r\n monthly!: VenueStatementSummaryDetails;\r\n\r\n constructor(data?: IVenueStatementSummaryModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n this.hourly = _data[\"hourly\"] ? VenueStatementSummaryDetails.fromJS(_data[\"hourly\"]) : undefined;\r\n this.monthly = _data[\"monthly\"] ? VenueStatementSummaryDetails.fromJS(_data[\"monthly\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueStatementSummaryModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueStatementSummaryModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"createdDate\"] = this.createdDate;\r\n data[\"hourly\"] = this.hourly ? this.hourly.toJSON() : undefined;\r\n data[\"monthly\"] = this.monthly ? this.monthly.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueStatementSummaryModel {\r\n date: string;\r\n createdDate: string | undefined;\r\n hourly: VenueStatementSummaryDetails;\r\n monthly: VenueStatementSummaryDetails;\r\n}\r\n\r\nexport class VenueStatementSummaryDetails implements IVenueStatementSummaryDetails {\r\n reservationsCount!: number;\r\n totalToVenue!: number;\r\n incidentals!: number;\r\n salesPrice!: number;\r\n isGenerated!: boolean;\r\n\r\n constructor(data?: IVenueStatementSummaryDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationsCount = _data[\"reservationsCount\"];\r\n this.totalToVenue = _data[\"totalToVenue\"];\r\n this.incidentals = _data[\"incidentals\"];\r\n this.salesPrice = _data[\"salesPrice\"];\r\n this.isGenerated = _data[\"isGenerated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueStatementSummaryDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueStatementSummaryDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationsCount\"] = this.reservationsCount;\r\n data[\"totalToVenue\"] = this.totalToVenue;\r\n data[\"incidentals\"] = this.incidentals;\r\n data[\"salesPrice\"] = this.salesPrice;\r\n data[\"isGenerated\"] = this.isGenerated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueStatementSummaryDetails {\r\n reservationsCount: number;\r\n totalToVenue: number;\r\n incidentals: number;\r\n salesPrice: number;\r\n isGenerated: boolean;\r\n}\r\n\r\nexport class VisaInfoModel implements IVisaInfoModel {\r\n id!: string;\r\n name!: string;\r\n paymentMethod!: PaymentMethod;\r\n defaultMemberOriginationScenario!: DefaultMemberOriginationScenario;\r\n\r\n constructor(data?: IVisaInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.defaultMemberOriginationScenario = _data[\"defaultMemberOriginationScenario\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VisaInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VisaInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"defaultMemberOriginationScenario\"] = this.defaultMemberOriginationScenario;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVisaInfoModel {\r\n id: string;\r\n name: string;\r\n paymentMethod: PaymentMethod;\r\n defaultMemberOriginationScenario: DefaultMemberOriginationScenario;\r\n}\r\n\r\nexport class VisaModel implements IVisaModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n paymentMethod!: PaymentMethod;\r\n defaultMemberOriginationScenario!: DefaultMemberOriginationScenario;\r\n reservationType!: ReservationType;\r\n requiresMemberDataApproval!: boolean;\r\n freeFormTextForApproval!: string | undefined;\r\n hidePrice!: boolean;\r\n earlyCheckInMinutesPermitted!: number;\r\n needGrantedVisaBeforeMemberCanBook!: boolean;\r\n\r\n constructor(data?: IVisaModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.defaultMemberOriginationScenario = _data[\"defaultMemberOriginationScenario\"];\r\n this.reservationType = _data[\"reservationType\"];\r\n this.requiresMemberDataApproval = _data[\"requiresMemberDataApproval\"];\r\n this.freeFormTextForApproval = _data[\"freeFormTextForApproval\"];\r\n this.hidePrice = _data[\"hidePrice\"];\r\n this.earlyCheckInMinutesPermitted = _data[\"earlyCheckInMinutesPermitted\"];\r\n this.needGrantedVisaBeforeMemberCanBook = _data[\"needGrantedVisaBeforeMemberCanBook\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VisaModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VisaModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"defaultMemberOriginationScenario\"] = this.defaultMemberOriginationScenario;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"requiresMemberDataApproval\"] = this.requiresMemberDataApproval;\r\n data[\"freeFormTextForApproval\"] = this.freeFormTextForApproval;\r\n data[\"hidePrice\"] = this.hidePrice;\r\n data[\"earlyCheckInMinutesPermitted\"] = this.earlyCheckInMinutesPermitted;\r\n data[\"needGrantedVisaBeforeMemberCanBook\"] = this.needGrantedVisaBeforeMemberCanBook;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVisaModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n paymentMethod: PaymentMethod;\r\n defaultMemberOriginationScenario: DefaultMemberOriginationScenario;\r\n reservationType: ReservationType;\r\n requiresMemberDataApproval: boolean;\r\n freeFormTextForApproval: string | undefined;\r\n hidePrice: boolean;\r\n earlyCheckInMinutesPermitted: number;\r\n needGrantedVisaBeforeMemberCanBook: boolean;\r\n}\r\n\r\n/** 0 = Confidential 1 = Public 2 = Connections */\r\nexport enum ReservationType {\r\n Confidential = 0,\r\n Public = 1,\r\n Connections = 2,\r\n}\r\n\r\nexport abstract class WorkspaceModel implements IWorkspaceModel {\r\n id!: string;\r\n imageUrl!: string;\r\n name!: string;\r\n order!: number | undefined;\r\n spaceType!: SpaceType;\r\n spaceTypeFormatted!: string;\r\n capacity!: number;\r\n prices!: string[];\r\n status!: WorkspaceStatus;\r\n hasReservation!: boolean;\r\n hasTour!: boolean;\r\n hasRequestToBook!: boolean;\r\n hasIncompleteFields!: boolean;\r\n previewUrl!: string;\r\n reservationMethod!: ReservationMethod;\r\n modifiedDate!: string;\r\n isDesk!: boolean;\r\n bookingMethod!: BookingMethod;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WorkspaceModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.name = _data[\"name\"];\r\n this.order = _data[\"order\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeFormatted = _data[\"spaceTypeFormatted\"];\r\n this.capacity = _data[\"capacity\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(item);\r\n }\r\n this.status = _data[\"status\"];\r\n this.hasReservation = _data[\"hasReservation\"];\r\n this.hasTour = _data[\"hasTour\"];\r\n this.hasRequestToBook = _data[\"hasRequestToBook\"];\r\n this.hasIncompleteFields = _data[\"hasIncompleteFields\"];\r\n this.previewUrl = _data[\"previewUrl\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.modifiedDate = _data[\"modifiedDate\"];\r\n this.isDesk = _data[\"isDesk\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"WorkspaceHourlyModel\") {\r\n let result = new WorkspaceHourlyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"WorkspacePeriodModel\") {\r\n let result = new WorkspacePeriodModel();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'WorkspaceModel' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"id\"] = this.id;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"name\"] = this.name;\r\n data[\"order\"] = this.order;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeFormatted\"] = this.spaceTypeFormatted;\r\n data[\"capacity\"] = this.capacity;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item);\r\n }\r\n data[\"status\"] = this.status;\r\n data[\"hasReservation\"] = this.hasReservation;\r\n data[\"hasTour\"] = this.hasTour;\r\n data[\"hasRequestToBook\"] = this.hasRequestToBook;\r\n data[\"hasIncompleteFields\"] = this.hasIncompleteFields;\r\n data[\"previewUrl\"] = this.previewUrl;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"modifiedDate\"] = this.modifiedDate;\r\n data[\"isDesk\"] = this.isDesk;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceModel {\r\n id: string;\r\n imageUrl: string;\r\n name: string;\r\n order: number | undefined;\r\n spaceType: SpaceType;\r\n spaceTypeFormatted: string;\r\n capacity: number;\r\n prices: string[];\r\n status: WorkspaceStatus;\r\n hasReservation: boolean;\r\n hasTour: boolean;\r\n hasRequestToBook: boolean;\r\n hasIncompleteFields: boolean;\r\n previewUrl: string;\r\n reservationMethod: ReservationMethod;\r\n modifiedDate: string;\r\n isDesk: boolean;\r\n bookingMethod: BookingMethod;\r\n}\r\n\r\nexport class WorkspaceHourlyModel extends WorkspaceModel implements IWorkspaceHourlyModel {\r\n hasIntegration!: boolean;\r\n integrationExemption!: boolean;\r\n\r\n constructor(data?: IWorkspaceHourlyModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WorkspaceHourlyModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.integrationExemption = _data[\"integrationExemption\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceHourlyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceHourlyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"integrationExemption\"] = this.integrationExemption;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceHourlyModel extends IWorkspaceModel {\r\n hasIntegration: boolean;\r\n integrationExemption: boolean;\r\n}\r\n\r\nexport class WorkspacePeriodModel extends WorkspaceModel implements IWorkspacePeriodModel {\r\n minimumTermMonths!: number | undefined;\r\n nextAvailableDateVenueTime!: string | undefined;\r\n freshness!: WorkspaceFreshness | undefined;\r\n availableDesksCount!: number;\r\n\r\n constructor(data?: IWorkspacePeriodModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WorkspacePeriodModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.minimumTermMonths = _data[\"minimumTermMonths\"];\r\n this.nextAvailableDateVenueTime = _data[\"nextAvailableDateVenueTime\"];\r\n this.freshness = _data[\"freshness\"];\r\n this.availableDesksCount = _data[\"availableDesksCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspacePeriodModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspacePeriodModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"minimumTermMonths\"] = this.minimumTermMonths;\r\n data[\"nextAvailableDateVenueTime\"] = this.nextAvailableDateVenueTime;\r\n data[\"freshness\"] = this.freshness;\r\n data[\"availableDesksCount\"] = this.availableDesksCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspacePeriodModel extends IWorkspaceModel {\r\n minimumTermMonths: number | undefined;\r\n nextAvailableDateVenueTime: string | undefined;\r\n freshness: WorkspaceFreshness | undefined;\r\n availableDesksCount: number;\r\n}\r\n\r\nexport class LiquidspaceProOverlayViewModel implements ILiquidspaceProOverlayViewModel {\r\n displayAnnouncement!: boolean;\r\n venueId!: string;\r\n status!: LiquidSpaceProStatus;\r\n spacesTabLink!: string;\r\n hasPublicMonthlySpaces!: boolean;\r\n hasPublicHourlySpaces!: boolean;\r\n hasIntegration!: boolean;\r\n venueName!: string;\r\n liquidSpaceSupportEmail!: string;\r\n\r\n constructor(data?: ILiquidspaceProOverlayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.displayAnnouncement = _data[\"displayAnnouncement\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.status = _data[\"status\"];\r\n this.spacesTabLink = _data[\"spacesTabLink\"];\r\n this.hasPublicMonthlySpaces = _data[\"hasPublicMonthlySpaces\"];\r\n this.hasPublicHourlySpaces = _data[\"hasPublicHourlySpaces\"];\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.liquidSpaceSupportEmail = _data[\"liquidSpaceSupportEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LiquidspaceProOverlayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LiquidspaceProOverlayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayAnnouncement\"] = this.displayAnnouncement;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"status\"] = this.status;\r\n data[\"spacesTabLink\"] = this.spacesTabLink;\r\n data[\"hasPublicMonthlySpaces\"] = this.hasPublicMonthlySpaces;\r\n data[\"hasPublicHourlySpaces\"] = this.hasPublicHourlySpaces;\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"liquidSpaceSupportEmail\"] = this.liquidSpaceSupportEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILiquidspaceProOverlayViewModel {\r\n displayAnnouncement: boolean;\r\n venueId: string;\r\n status: LiquidSpaceProStatus;\r\n spacesTabLink: string;\r\n hasPublicMonthlySpaces: boolean;\r\n hasPublicHourlySpaces: boolean;\r\n hasIntegration: boolean;\r\n venueName: string;\r\n liquidSpaceSupportEmail: string;\r\n}\r\n\r\nexport class DeskimoMarketModel implements IDeskimoMarketModel {\r\n name!: string | undefined;\r\n code!: string | undefined;\r\n\r\n constructor(data?: IDeskimoMarketModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeskimoMarketModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeskimoMarketModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeskimoMarketModel {\r\n name: string | undefined;\r\n code: string | undefined;\r\n}\r\n\r\nexport class DeskimoPropertyModel implements IDeskimoPropertyModel {\r\n name!: string | undefined;\r\n reference!: string | undefined;\r\n\r\n constructor(data?: IDeskimoPropertyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.reference = _data[\"reference\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeskimoPropertyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeskimoPropertyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"reference\"] = this.reference;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeskimoPropertyModel {\r\n name: string | undefined;\r\n reference: string | undefined;\r\n}\r\n\r\nexport class EvoOptionsModel implements IEvoOptionsModel {\r\n connections!: EvoConnectionModel[];\r\n centers!: EvoCenterModel[] | undefined;\r\n\r\n constructor(data?: IEvoOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"connections\"])) {\r\n this.connections = [] as any;\r\n for (let item of _data[\"connections\"])\r\n this.connections!.push(EvoConnectionModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"centers\"])) {\r\n this.centers = [] as any;\r\n for (let item of _data[\"centers\"])\r\n this.centers!.push(EvoCenterModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EvoOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EvoOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.connections)) {\r\n data[\"connections\"] = [];\r\n for (let item of this.connections)\r\n data[\"connections\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.centers)) {\r\n data[\"centers\"] = [];\r\n for (let item of this.centers)\r\n data[\"centers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEvoOptionsModel {\r\n connections: EvoConnectionModel[];\r\n centers: EvoCenterModel[] | undefined;\r\n}\r\n\r\nexport class EvoConnectionModel implements IEvoConnectionModel {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IEvoConnectionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EvoConnectionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EvoConnectionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEvoConnectionModel {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class EvoCenterModel implements IEvoCenterModel {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IEvoCenterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EvoCenterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EvoCenterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEvoCenterModel {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class MSGraphUserModel implements IMSGraphUserModel {\r\n id!: string;\r\n email!: string;\r\n\r\n constructor(data?: IMSGraphUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MSGraphUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MSGraphUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMSGraphUserModel {\r\n id: string;\r\n email: string;\r\n}\r\n\r\nexport class MorningStarSettingsModel implements IMorningStarSettingsModel {\r\n morningStarURL!: string;\r\n morningStarIntegrationUser!: string;\r\n morningStarIntegrationPassword!: string;\r\n morningStarClientId!: string;\r\n morningStarLocationId!: string;\r\n morningStarVisaId!: string | undefined;\r\n\r\n constructor(data?: IMorningStarSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.morningStarURL = _data[\"morningStarURL\"];\r\n this.morningStarIntegrationUser = _data[\"morningStarIntegrationUser\"];\r\n this.morningStarIntegrationPassword = _data[\"morningStarIntegrationPassword\"];\r\n this.morningStarClientId = _data[\"morningStarClientId\"];\r\n this.morningStarLocationId = _data[\"morningStarLocationId\"];\r\n this.morningStarVisaId = _data[\"morningStarVisaId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MorningStarSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MorningStarSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"morningStarURL\"] = this.morningStarURL;\r\n data[\"morningStarIntegrationUser\"] = this.morningStarIntegrationUser;\r\n data[\"morningStarIntegrationPassword\"] = this.morningStarIntegrationPassword;\r\n data[\"morningStarClientId\"] = this.morningStarClientId;\r\n data[\"morningStarLocationId\"] = this.morningStarLocationId;\r\n data[\"morningStarVisaId\"] = this.morningStarVisaId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMorningStarSettingsModel {\r\n morningStarURL: string;\r\n morningStarIntegrationUser: string;\r\n morningStarIntegrationPassword: string;\r\n morningStarClientId: string;\r\n morningStarLocationId: string;\r\n morningStarVisaId: string | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationListItemModel implements IOfficeRnDOrganizationListItemModel {\r\n id!: string;\r\n slug!: string;\r\n type!: OfficeRnDOrganizationType;\r\n connectionTypes!: OfficeRnDOrganizationConnectionType[];\r\n name!: string;\r\n\r\n constructor(data?: IOfficeRnDOrganizationListItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.slug = _data[\"slug\"];\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"connectionTypes\"])) {\r\n this.connectionTypes = [] as any;\r\n for (let item of _data[\"connectionTypes\"])\r\n this.connectionTypes!.push(item);\r\n }\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationListItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationListItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"slug\"] = this.slug;\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.connectionTypes)) {\r\n data[\"connectionTypes\"] = [];\r\n for (let item of this.connectionTypes)\r\n data[\"connectionTypes\"].push(item);\r\n }\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationListItemModel {\r\n id: string;\r\n slug: string;\r\n type: OfficeRnDOrganizationType;\r\n connectionTypes: OfficeRnDOrganizationConnectionType[];\r\n name: string;\r\n}\r\n\r\n/** 0 = Flex 1 = Hybrid */\r\nexport enum OfficeRnDOrganizationType {\r\n Flex = 0,\r\n Hybrid = 1,\r\n}\r\n\r\n/** 0 = Manual 1 = PartnerIntegration */\r\nexport enum OfficeRnDOrganizationConnectionType {\r\n Manual = 0,\r\n PartnerIntegration = 1,\r\n}\r\n\r\nexport class OfficeRnDOrganizationDetailsModel implements IOfficeRnDOrganizationDetailsModel {\r\n id!: string;\r\n slug!: string;\r\n name!: string;\r\n clientId!: string;\r\n clientSecret!: string | undefined;\r\n type!: OfficeRnDOrganizationType;\r\n connectionTypes!: OfficeRnDOrganizationConnectionType[];\r\n webhookUrl!: string;\r\n partnerIntegrationSettings!: OfficeRnDOrganizationPartnerIntegrationDetailsModel | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.slug = _data[\"slug\"];\r\n this.name = _data[\"name\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"connectionTypes\"])) {\r\n this.connectionTypes = [] as any;\r\n for (let item of _data[\"connectionTypes\"])\r\n this.connectionTypes!.push(item);\r\n }\r\n this.webhookUrl = _data[\"webhookUrl\"];\r\n this.partnerIntegrationSettings = _data[\"partnerIntegrationSettings\"] ? OfficeRnDOrganizationPartnerIntegrationDetailsModel.fromJS(_data[\"partnerIntegrationSettings\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"slug\"] = this.slug;\r\n data[\"name\"] = this.name;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.connectionTypes)) {\r\n data[\"connectionTypes\"] = [];\r\n for (let item of this.connectionTypes)\r\n data[\"connectionTypes\"].push(item);\r\n }\r\n data[\"webhookUrl\"] = this.webhookUrl;\r\n data[\"partnerIntegrationSettings\"] = this.partnerIntegrationSettings ? this.partnerIntegrationSettings.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationDetailsModel {\r\n id: string;\r\n slug: string;\r\n name: string;\r\n clientId: string;\r\n clientSecret: string | undefined;\r\n type: OfficeRnDOrganizationType;\r\n connectionTypes: OfficeRnDOrganizationConnectionType[];\r\n webhookUrl: string;\r\n partnerIntegrationSettings: OfficeRnDOrganizationPartnerIntegrationDetailsModel | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationPartnerIntegrationDetailsModel implements IOfficeRnDOrganizationPartnerIntegrationDetailsModel {\r\n appClientId!: string;\r\n accessToken!: string;\r\n refreshToken!: string;\r\n timestamp!: string;\r\n expiresIn!: number;\r\n secret!: string;\r\n contactFullName!: string | undefined;\r\n contactEmail!: string | undefined;\r\n contactPhoneNumber!: string | undefined;\r\n zendeskTicketId!: number | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationPartnerIntegrationDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appClientId = _data[\"appClientId\"];\r\n this.accessToken = _data[\"accessToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.expiresIn = _data[\"expiresIn\"];\r\n this.secret = _data[\"secret\"];\r\n this.contactFullName = _data[\"contactFullName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.contactPhoneNumber = _data[\"contactPhoneNumber\"];\r\n this.zendeskTicketId = _data[\"zendeskTicketId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationPartnerIntegrationDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationPartnerIntegrationDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appClientId\"] = this.appClientId;\r\n data[\"accessToken\"] = this.accessToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"expiresIn\"] = this.expiresIn;\r\n data[\"secret\"] = this.secret;\r\n data[\"contactFullName\"] = this.contactFullName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"contactPhoneNumber\"] = this.contactPhoneNumber;\r\n data[\"zendeskTicketId\"] = this.zendeskTicketId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationPartnerIntegrationDetailsModel {\r\n appClientId: string;\r\n accessToken: string;\r\n refreshToken: string;\r\n timestamp: string;\r\n expiresIn: number;\r\n secret: string;\r\n contactFullName: string | undefined;\r\n contactEmail: string | undefined;\r\n contactPhoneNumber: string | undefined;\r\n zendeskTicketId: number | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationEditModel implements IOfficeRnDOrganizationEditModel {\r\n name!: string;\r\n slug!: string;\r\n clientId!: string;\r\n clientSecret!: string | undefined;\r\n type!: OfficeRnDOrganizationType;\r\n partnerIntegrationContactFullName!: string | undefined;\r\n partnerIntegrationContactEmail!: string | undefined;\r\n partnerIntegrationContactPhoneNumber!: string | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.slug = _data[\"slug\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.type = _data[\"type\"];\r\n this.partnerIntegrationContactFullName = _data[\"partnerIntegrationContactFullName\"];\r\n this.partnerIntegrationContactEmail = _data[\"partnerIntegrationContactEmail\"];\r\n this.partnerIntegrationContactPhoneNumber = _data[\"partnerIntegrationContactPhoneNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"slug\"] = this.slug;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"type\"] = this.type;\r\n data[\"partnerIntegrationContactFullName\"] = this.partnerIntegrationContactFullName;\r\n data[\"partnerIntegrationContactEmail\"] = this.partnerIntegrationContactEmail;\r\n data[\"partnerIntegrationContactPhoneNumber\"] = this.partnerIntegrationContactPhoneNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationEditModel {\r\n name: string;\r\n slug: string;\r\n clientId: string;\r\n clientSecret: string | undefined;\r\n type: OfficeRnDOrganizationType;\r\n partnerIntegrationContactFullName: string | undefined;\r\n partnerIntegrationContactEmail: string | undefined;\r\n partnerIntegrationContactPhoneNumber: string | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationPartnerIntegrationContactEditModel implements IOfficeRnDOrganizationPartnerIntegrationContactEditModel {\r\n fullName!: string;\r\n email!: string;\r\n phoneNumber!: string | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationPartnerIntegrationContactEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationPartnerIntegrationContactEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationPartnerIntegrationContactEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationPartnerIntegrationContactEditModel {\r\n fullName: string;\r\n email: string;\r\n phoneNumber: string | undefined;\r\n}\r\n\r\nexport class OfficeRndOfficeModel implements IOfficeRndOfficeModel {\r\n id!: string;\r\n name!: string;\r\n formattedAddress!: string;\r\n\r\n constructor(data?: IOfficeRndOfficeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.formattedAddress = _data[\"formattedAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRndOfficeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRndOfficeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"formattedAddress\"] = this.formattedAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRndOfficeModel {\r\n id: string;\r\n name: string;\r\n formattedAddress: string;\r\n}\r\n\r\nexport class OfficeRndTeamModel implements IOfficeRndTeamModel {\r\n id!: string;\r\n name!: string;\r\n email!: string | undefined;\r\n\r\n constructor(data?: IOfficeRndTeamModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRndTeamModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRndTeamModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRndTeamModel {\r\n id: string;\r\n name: string;\r\n email: string | undefined;\r\n}\r\n\r\nexport class OfficeRndMemberModel implements IOfficeRndMemberModel {\r\n id!: string;\r\n name!: string;\r\n email!: string;\r\n teamName!: string | undefined;\r\n\r\n constructor(data?: IOfficeRndMemberModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.teamName = _data[\"teamName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRndMemberModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRndMemberModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"teamName\"] = this.teamName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRndMemberModel {\r\n id: string;\r\n name: string;\r\n email: string;\r\n teamName: string | undefined;\r\n}\r\n\r\nexport class DiagnosticsConsoleMethod implements IDiagnosticsConsoleMethod {\r\n name!: string;\r\n parameters!: DiagnosticsConsoleMethodParameter[];\r\n declaringTypeName!: string;\r\n\r\n constructor(data?: IDiagnosticsConsoleMethod) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n this.parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n this.parameters!.push(DiagnosticsConsoleMethodParameter.fromJS(item));\r\n }\r\n this.declaringTypeName = _data[\"declaringTypeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleMethod {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleMethod();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n data[\"declaringTypeName\"] = this.declaringTypeName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleMethod {\r\n name: string;\r\n parameters: DiagnosticsConsoleMethodParameter[];\r\n declaringTypeName: string;\r\n}\r\n\r\nexport class DiagnosticsConsoleMethodParameter implements IDiagnosticsConsoleMethodParameter {\r\n name!: string;\r\n typeName!: string;\r\n\r\n constructor(data?: IDiagnosticsConsoleMethodParameter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.typeName = _data[\"typeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleMethodParameter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleMethodParameter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"typeName\"] = this.typeName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleMethodParameter {\r\n name: string;\r\n typeName: string;\r\n}\r\n\r\nexport class DiagnosticsConsoleRunKey implements IDiagnosticsConsoleRunKey {\r\n id!: string;\r\n notBeforeTicks!: number;\r\n\r\n constructor(data?: IDiagnosticsConsoleRunKey) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.notBeforeTicks = _data[\"notBeforeTicks\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleRunKey {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleRunKey();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"notBeforeTicks\"] = this.notBeforeTicks;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleRunKey {\r\n id: string;\r\n notBeforeTicks: number;\r\n}\r\n\r\n/** 0 = Worker 1 = BusinessService */\r\nexport enum DiagnosticsMethodRunner {\r\n Worker = 0,\r\n BusinessService = 1,\r\n}\r\n\r\nexport class DiagnosticsConsoleLineViewModel implements IDiagnosticsConsoleLineViewModel {\r\n timestamp!: string | undefined;\r\n ticks!: string;\r\n taskId!: string;\r\n taskName!: string | undefined;\r\n text!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsConsoleLineViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timestamp = _data[\"timestamp\"];\r\n this.ticks = _data[\"ticks\"];\r\n this.taskId = _data[\"taskId\"];\r\n this.taskName = _data[\"taskName\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleLineViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleLineViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"ticks\"] = this.ticks;\r\n data[\"taskId\"] = this.taskId;\r\n data[\"taskName\"] = this.taskName;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleLineViewModel {\r\n timestamp: string | undefined;\r\n ticks: string;\r\n taskId: string;\r\n taskName: string | undefined;\r\n text: string | undefined;\r\n}\r\n\r\nexport class ContentSecurityPolicyViewModel implements IContentSecurityPolicyViewModel {\r\n enabled!: boolean;\r\n placement!: ContentSecurityPolicyPlacement;\r\n useReportEndpoint!: boolean;\r\n reportOnly!: boolean;\r\n formattedHeaderValue!: string | undefined;\r\n timestablUtc!: string;\r\n\r\n constructor(data?: IContentSecurityPolicyViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.placement = _data[\"placement\"];\r\n this.useReportEndpoint = _data[\"useReportEndpoint\"];\r\n this.reportOnly = _data[\"reportOnly\"];\r\n this.formattedHeaderValue = _data[\"formattedHeaderValue\"];\r\n this.timestablUtc = _data[\"timestablUtc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentSecurityPolicyViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentSecurityPolicyViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"placement\"] = this.placement;\r\n data[\"useReportEndpoint\"] = this.useReportEndpoint;\r\n data[\"reportOnly\"] = this.reportOnly;\r\n data[\"formattedHeaderValue\"] = this.formattedHeaderValue;\r\n data[\"timestablUtc\"] = this.timestablUtc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentSecurityPolicyViewModel {\r\n enabled: boolean;\r\n placement: ContentSecurityPolicyPlacement;\r\n useReportEndpoint: boolean;\r\n reportOnly: boolean;\r\n formattedHeaderValue: string | undefined;\r\n timestablUtc: string;\r\n}\r\n\r\n/** 0 = Headers 1 = MetaHttpEquiv */\r\nexport enum ContentSecurityPolicyPlacement {\r\n Headers = 0,\r\n MetaHttpEquiv = 1,\r\n}\r\n\r\nexport class EmailTemplate implements IEmailTemplate {\r\n name!: string;\r\n description!: string | undefined;\r\n\r\n constructor(data?: IEmailTemplate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailTemplate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailTemplate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailTemplate {\r\n name: string;\r\n description: string | undefined;\r\n}\r\n\r\nexport class DiagnosticsEmailModel implements IDiagnosticsEmailModel {\r\n readonlyProperties!: { [key: string]: any; };\r\n writableProperties!: { [key: string]: { [key: string]: any; }; };\r\n id!: string;\r\n interfaces!: string[];\r\n\r\n constructor(data?: IDiagnosticsEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"readonlyProperties\"]) {\r\n this.readonlyProperties = {} as any;\r\n for (let key in _data[\"readonlyProperties\"]) {\r\n if (_data[\"readonlyProperties\"].hasOwnProperty(key))\r\n (this.readonlyProperties)![key] = _data[\"readonlyProperties\"][key];\r\n }\r\n }\r\n if (_data[\"writableProperties\"]) {\r\n this.writableProperties = {} as any;\r\n for (let key in _data[\"writableProperties\"]) {\r\n if (_data[\"writableProperties\"].hasOwnProperty(key))\r\n (this.writableProperties)![key] = _data[\"writableProperties\"][key] !== undefined ? _data[\"writableProperties\"][key] : {};\r\n }\r\n }\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"interfaces\"])) {\r\n this.interfaces = [] as any;\r\n for (let item of _data[\"interfaces\"])\r\n this.interfaces!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.readonlyProperties) {\r\n data[\"readonlyProperties\"] = {};\r\n for (let key in this.readonlyProperties) {\r\n if (this.readonlyProperties.hasOwnProperty(key))\r\n (data[\"readonlyProperties\"])[key] = (this.readonlyProperties)[key];\r\n }\r\n }\r\n if (this.writableProperties) {\r\n data[\"writableProperties\"] = {};\r\n for (let key in this.writableProperties) {\r\n if (this.writableProperties.hasOwnProperty(key))\r\n (data[\"writableProperties\"])[key] = (this.writableProperties)[key];\r\n }\r\n }\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.interfaces)) {\r\n data[\"interfaces\"] = [];\r\n for (let item of this.interfaces)\r\n data[\"interfaces\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsEmailModel {\r\n readonlyProperties: { [key: string]: any; };\r\n writableProperties: { [key: string]: { [key: string]: any; }; };\r\n id: string;\r\n interfaces: string[];\r\n}\r\n\r\nexport class SendTestEmailModel implements ISendTestEmailModel {\r\n recipient!: string | undefined;\r\n subject!: string | undefined;\r\n templates!: string[];\r\n\r\n constructor(data?: ISendTestEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.recipient = _data[\"recipient\"];\r\n this.subject = _data[\"subject\"];\r\n if (Array.isArray(_data[\"templates\"])) {\r\n this.templates = [] as any;\r\n for (let item of _data[\"templates\"])\r\n this.templates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendTestEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendTestEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recipient\"] = this.recipient;\r\n data[\"subject\"] = this.subject;\r\n if (Array.isArray(this.templates)) {\r\n data[\"templates\"] = [];\r\n for (let item of this.templates)\r\n data[\"templates\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISendTestEmailModel {\r\n recipient: string | undefined;\r\n subject: string | undefined;\r\n templates: string[];\r\n}\r\n\r\nexport class DiagnosticsIntegrationListItemModel implements IDiagnosticsIntegrationListItemModel {\r\n venueId!: string;\r\n venueName!: string;\r\n workspaceId!: string;\r\n workspaceName!: string;\r\n integration!: IntegrationTypeEnum;\r\n isPaused!: boolean;\r\n pooledEvents!: number;\r\n deletedActivityCount!: number;\r\n upsertedActivityCount!: number;\r\n lastProcessed!: string;\r\n lastErrorCount!: number;\r\n\r\n constructor(data?: IDiagnosticsIntegrationListItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.integration = _data[\"integration\"];\r\n this.isPaused = _data[\"isPaused\"];\r\n this.pooledEvents = _data[\"pooledEvents\"];\r\n this.deletedActivityCount = _data[\"deletedActivityCount\"];\r\n this.upsertedActivityCount = _data[\"upsertedActivityCount\"];\r\n this.lastProcessed = _data[\"lastProcessed\"];\r\n this.lastErrorCount = _data[\"lastErrorCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsIntegrationListItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsIntegrationListItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"integration\"] = this.integration;\r\n data[\"isPaused\"] = this.isPaused;\r\n data[\"pooledEvents\"] = this.pooledEvents;\r\n data[\"deletedActivityCount\"] = this.deletedActivityCount;\r\n data[\"upsertedActivityCount\"] = this.upsertedActivityCount;\r\n data[\"lastProcessed\"] = this.lastProcessed;\r\n data[\"lastErrorCount\"] = this.lastErrorCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsIntegrationListItemModel {\r\n venueId: string;\r\n venueName: string;\r\n workspaceId: string;\r\n workspaceName: string;\r\n integration: IntegrationTypeEnum;\r\n isPaused: boolean;\r\n pooledEvents: number;\r\n deletedActivityCount: number;\r\n upsertedActivityCount: number;\r\n lastProcessed: string;\r\n lastErrorCount: number;\r\n}\r\n\r\nexport class DiagnosticsLogItem implements IDiagnosticsLogItem {\r\n partitionKey!: string;\r\n rowKey!: string;\r\n timestamp!: string | undefined;\r\n role!: string | undefined;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsLogItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.partitionKey = _data[\"partitionKey\"];\r\n this.rowKey = _data[\"rowKey\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.role = _data[\"role\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsLogItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsLogItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"partitionKey\"] = this.partitionKey;\r\n data[\"rowKey\"] = this.rowKey;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"role\"] = this.role;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsLogItem {\r\n partitionKey: string;\r\n rowKey: string;\r\n timestamp: string | undefined;\r\n role: string | undefined;\r\n message: string | undefined;\r\n}\r\n\r\n/** 1 = Undefined 2 = Critical 4 = Error 8 = Warning 16 = Information 32 = Verbose */\r\nexport enum DiagnosticsLogLevels {\r\n Undefined = 1,\r\n Critical = 2,\r\n Error = 4,\r\n Warning = 8,\r\n Information = 16,\r\n Verbose = 32,\r\n}\r\n\r\nexport class DiagnosticsLogItemDetails implements IDiagnosticsLogItemDetails {\r\n partitionKey!: string;\r\n rowKey!: string;\r\n timestamp!: string | undefined;\r\n eventTickCount!: number;\r\n deploymentId!: string | undefined;\r\n role!: string | undefined;\r\n roleInstance!: string | undefined;\r\n level!: number;\r\n eventId!: number;\r\n pid!: number;\r\n tid!: number;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsLogItemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.partitionKey = _data[\"partitionKey\"];\r\n this.rowKey = _data[\"rowKey\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.eventTickCount = _data[\"eventTickCount\"];\r\n this.deploymentId = _data[\"deploymentId\"];\r\n this.role = _data[\"role\"];\r\n this.roleInstance = _data[\"roleInstance\"];\r\n this.level = _data[\"level\"];\r\n this.eventId = _data[\"eventId\"];\r\n this.pid = _data[\"pid\"];\r\n this.tid = _data[\"tid\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsLogItemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsLogItemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"partitionKey\"] = this.partitionKey;\r\n data[\"rowKey\"] = this.rowKey;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"eventTickCount\"] = this.eventTickCount;\r\n data[\"deploymentId\"] = this.deploymentId;\r\n data[\"role\"] = this.role;\r\n data[\"roleInstance\"] = this.roleInstance;\r\n data[\"level\"] = this.level;\r\n data[\"eventId\"] = this.eventId;\r\n data[\"pid\"] = this.pid;\r\n data[\"tid\"] = this.tid;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsLogItemDetails {\r\n partitionKey: string;\r\n rowKey: string;\r\n timestamp: string | undefined;\r\n eventTickCount: number;\r\n deploymentId: string | undefined;\r\n role: string | undefined;\r\n roleInstance: string | undefined;\r\n level: number;\r\n eventId: number;\r\n pid: number;\r\n tid: number;\r\n message: string | undefined;\r\n}\r\n\r\nexport class PoisonMessageViewModel implements IPoisonMessageViewModel {\r\n envelopeId!: string;\r\n messageType!: string;\r\n exception!: string;\r\n lastActivity!: string;\r\n machineType!: string;\r\n syncMode!: boolean;\r\n\r\n constructor(data?: IPoisonMessageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.envelopeId = _data[\"envelopeId\"];\r\n this.messageType = _data[\"messageType\"];\r\n this.exception = _data[\"exception\"];\r\n this.lastActivity = _data[\"lastActivity\"];\r\n this.machineType = _data[\"machineType\"];\r\n this.syncMode = _data[\"syncMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PoisonMessageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PoisonMessageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"envelopeId\"] = this.envelopeId;\r\n data[\"messageType\"] = this.messageType;\r\n data[\"exception\"] = this.exception;\r\n data[\"lastActivity\"] = this.lastActivity;\r\n data[\"machineType\"] = this.machineType;\r\n data[\"syncMode\"] = this.syncMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPoisonMessageViewModel {\r\n envelopeId: string;\r\n messageType: string;\r\n exception: string;\r\n lastActivity: string;\r\n machineType: string;\r\n syncMode: boolean;\r\n}\r\n\r\nexport class PoisonMessageDetailsViewModel implements IPoisonMessageDetailsViewModel {\r\n message!: any;\r\n quarantineMessage!: QuarantineMessage;\r\n\r\n constructor(data?: IPoisonMessageDetailsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.quarantineMessage = _data[\"quarantineMessage\"] ? QuarantineMessage.fromJS(_data[\"quarantineMessage\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PoisonMessageDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PoisonMessageDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"quarantineMessage\"] = this.quarantineMessage ? this.quarantineMessage.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPoisonMessageDetailsViewModel {\r\n message: any;\r\n quarantineMessage: QuarantineMessage;\r\n}\r\n\r\nexport class QuarantineMessage implements IQuarantineMessage {\r\n envelopeId!: string;\r\n retryCount!: number;\r\n envelopeBodyId!: string;\r\n exception!: string | undefined;\r\n queueName!: string | undefined;\r\n messageType!: string | undefined;\r\n machineType!: string | undefined;\r\n lastActivity!: string;\r\n compressed!: boolean;\r\n syncMode!: boolean;\r\n\r\n constructor(data?: IQuarantineMessage) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.envelopeId = _data[\"envelopeId\"];\r\n this.retryCount = _data[\"retryCount\"];\r\n this.envelopeBodyId = _data[\"envelopeBodyId\"];\r\n this.exception = _data[\"exception\"];\r\n this.queueName = _data[\"queueName\"];\r\n this.messageType = _data[\"messageType\"];\r\n this.machineType = _data[\"machineType\"];\r\n this.lastActivity = _data[\"lastActivity\"];\r\n this.compressed = _data[\"compressed\"];\r\n this.syncMode = _data[\"syncMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuarantineMessage {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuarantineMessage();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"envelopeId\"] = this.envelopeId;\r\n data[\"retryCount\"] = this.retryCount;\r\n data[\"envelopeBodyId\"] = this.envelopeBodyId;\r\n data[\"exception\"] = this.exception;\r\n data[\"queueName\"] = this.queueName;\r\n data[\"messageType\"] = this.messageType;\r\n data[\"machineType\"] = this.machineType;\r\n data[\"lastActivity\"] = this.lastActivity;\r\n data[\"compressed\"] = this.compressed;\r\n data[\"syncMode\"] = this.syncMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuarantineMessage {\r\n envelopeId: string;\r\n retryCount: number;\r\n envelopeBodyId: string;\r\n exception: string | undefined;\r\n queueName: string | undefined;\r\n messageType: string | undefined;\r\n machineType: string | undefined;\r\n lastActivity: string;\r\n compressed: boolean;\r\n syncMode: boolean;\r\n}\r\n\r\nexport class DiagnosticsShortUrlViewModel implements IDiagnosticsShortUrlViewModel {\r\n id!: string;\r\n url!: string;\r\n\r\n constructor(data?: IDiagnosticsShortUrlViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsShortUrlViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsShortUrlViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlViewModel {\r\n id: string;\r\n url: string;\r\n}\r\n\r\nexport class DiagnosticsShortUrlCreateModel implements IDiagnosticsShortUrlCreateModel {\r\n url!: string;\r\n\r\n constructor(data?: IDiagnosticsShortUrlCreateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsShortUrlCreateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsShortUrlCreateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlCreateModel {\r\n url: string;\r\n}\r\n\r\nexport class DiagnosticsWorkspaceScenarioViewModel implements IDiagnosticsWorkspaceScenarioViewModel {\r\n id!: string;\r\n displayName!: string;\r\n description!: string;\r\n longDescription!: string;\r\n spaceType!: SpaceType;\r\n\r\n constructor(data?: IDiagnosticsWorkspaceScenarioViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.description = _data[\"description\"];\r\n this.longDescription = _data[\"longDescription\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsWorkspaceScenarioViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsWorkspaceScenarioViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"description\"] = this.description;\r\n data[\"longDescription\"] = this.longDescription;\r\n data[\"spaceType\"] = this.spaceType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsWorkspaceScenarioViewModel {\r\n id: string;\r\n displayName: string;\r\n description: string;\r\n longDescription: string;\r\n spaceType: SpaceType;\r\n}\r\n\r\nexport class EditableInternationalConfigurationModel implements IEditableInternationalConfigurationModel {\r\n country!: string | undefined;\r\n currency!: CurrencyType;\r\n merchantAccountId!: string;\r\n allowCreditCardPayments!: boolean;\r\n onDemandServiceChargeEnabled!: boolean;\r\n onDemandServiceChargePercentage!: number;\r\n hourlySpaceVisibility!: SpaceVisibility;\r\n monthlySpaceVisibility!: SpaceVisibility;\r\n\r\n constructor(data?: IEditableInternationalConfigurationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n this.currency = _data[\"currency\"];\r\n this.merchantAccountId = _data[\"merchantAccountId\"];\r\n this.allowCreditCardPayments = _data[\"allowCreditCardPayments\"];\r\n this.onDemandServiceChargeEnabled = _data[\"onDemandServiceChargeEnabled\"];\r\n this.onDemandServiceChargePercentage = _data[\"onDemandServiceChargePercentage\"];\r\n this.hourlySpaceVisibility = _data[\"hourlySpaceVisibility\"];\r\n this.monthlySpaceVisibility = _data[\"monthlySpaceVisibility\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditableInternationalConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditableInternationalConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n data[\"currency\"] = this.currency;\r\n data[\"merchantAccountId\"] = this.merchantAccountId;\r\n data[\"allowCreditCardPayments\"] = this.allowCreditCardPayments;\r\n data[\"onDemandServiceChargeEnabled\"] = this.onDemandServiceChargeEnabled;\r\n data[\"onDemandServiceChargePercentage\"] = this.onDemandServiceChargePercentage;\r\n data[\"hourlySpaceVisibility\"] = this.hourlySpaceVisibility;\r\n data[\"monthlySpaceVisibility\"] = this.monthlySpaceVisibility;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditableInternationalConfigurationModel {\r\n country: string | undefined;\r\n currency: CurrencyType;\r\n merchantAccountId: string;\r\n allowCreditCardPayments: boolean;\r\n onDemandServiceChargeEnabled: boolean;\r\n onDemandServiceChargePercentage: number;\r\n hourlySpaceVisibility: SpaceVisibility;\r\n monthlySpaceVisibility: SpaceVisibility;\r\n}\r\n\r\nexport class InternationalConfigurationModel extends EditableInternationalConfigurationModel implements IInternationalConfigurationModel {\r\n id!: string;\r\n allowSearching!: boolean;\r\n allowNewListings!: boolean;\r\n allowVenueBilledPayments!: boolean;\r\n allowACHPayments!: boolean;\r\n\r\n constructor(data?: IInternationalConfigurationModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.allowSearching = _data[\"allowSearching\"];\r\n this.allowNewListings = _data[\"allowNewListings\"];\r\n this.allowVenueBilledPayments = _data[\"allowVenueBilledPayments\"];\r\n this.allowACHPayments = _data[\"allowACHPayments\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InternationalConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InternationalConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"allowSearching\"] = this.allowSearching;\r\n data[\"allowNewListings\"] = this.allowNewListings;\r\n data[\"allowVenueBilledPayments\"] = this.allowVenueBilledPayments;\r\n data[\"allowACHPayments\"] = this.allowACHPayments;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInternationalConfigurationModel extends IEditableInternationalConfigurationModel {\r\n id: string;\r\n allowSearching: boolean;\r\n allowNewListings: boolean;\r\n allowVenueBilledPayments: boolean;\r\n allowACHPayments: boolean;\r\n}\r\n\r\n/** 0 = Public 1 = EnterpriseOnly 2 = None */\r\nexport enum SpaceVisibility {\r\n Public = 0,\r\n EnterpriseOnly = 1,\r\n None = 2,\r\n}\r\n\r\nexport class MerchantAccountModel implements IMerchantAccountModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IMerchantAccountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MerchantAccountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MerchantAccountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMerchantAccountModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\n/* eslint-disable */\r\n//THIS FILE IS INCLUDED INTO NSWAG GENERATED CODE (API.ts)\r\n//KEEP SAME NESTING LEVEL\r\n\r\n//Hey, Hotshot! You are here due to error caused by exposed EntityBase to client.\r\ntype IEntityBase = never;\r\n\r\n//TODO: Use ReservationMethod instead\r\n// type WorkspaceReservationMethod = never;","import React from \"react\";\r\nimport { default as RBS_ModalBody, ModalBodyProps as RBS_ModalBodyProps } from \"reactstrap/lib/ModalBody\";\r\nimport classNames from \"classnames\";\r\n\r\n\r\nexport type ModalBodyProps = RBS_ModalBodyProps & { \r\n compact?: boolean,\r\n withoutLeftRightPaddings?: boolean,\r\n}\r\n\r\nconst ModalBody: React.FC = ({ compact = false, withoutLeftRightPaddings = false, className, ...rest }) => {\r\n return ()\r\n}\r\n\r\nexport default ModalBody;","import React from \"react\";\r\nimport { default as RBS_ModalHeader, ModalHeaderProps as RBS_ModalHeaderProps } from \"reactstrap/lib/ModalHeader\";\r\nimport { onlyText } from \"react-children-utilities\";\r\nimport ModalCloseButton from \"./ModalCloseButton\";\r\nimport classNames from \"classnames\";\r\n\r\n\r\nexport type ModalHeaderProps = RBS_ModalHeaderProps & {\r\n lightWordsCount?: number,\r\n compact?: boolean,\r\n}\r\n\r\nconst ModalHeader: React.FC = ({ children, lightWordsCount = 0, compact = false, className, toggle, cssModule, ...rest }) => {\r\n const splitWords = (): React.ReactNode => {\r\n const text = onlyText(children);\r\n const words = text.split(\" \");\r\n return (<>{words.slice(0, lightWordsCount).join(\" \")}{\" \"}{words.slice(lightWordsCount).join(\" \")})\r\n }\r\n\r\n const closeBtn = toggle ? : null;\r\n\r\n return ({lightWordsCount > 0 ? splitWords() : children})\r\n}\r\n\r\nexport default ModalHeader;","import { ApiException } from \"./API\";\r\n\r\nexport const ETag = Symbol(\"Response ETag\");\r\n\r\nexport default class ClientBase {\r\n public onError: (message: string, httpStatus: number) => void = () => void 0;\r\n\r\n public getBaseUrl(defaultUrl: string, baseUrl?: string): string { return LiquidSpaceConfig.LSWebUICoreURL!; }\r\n\r\n protected async transformResult(url: string, response: Response, processor: (response: Response) => Promise) {\r\n try {\r\n const result = await processor(response);\r\n\r\n const etag = response.headers.get(\"etag\");\r\n if (etag) {\r\n Object.defineProperty(result, ETag, {\r\n enumerable: false,\r\n value: etag\r\n });\r\n }\r\n return result;\r\n }\r\n catch (ex) {\r\n // Processor will throw exception for non-successful status codes:\r\n // 1. of type defined by ProducesResponseTypeAttribute \r\n // (ex.: [ProducesResponseType(StatusCodes.Status418ImATeapot)] will throw MyCustomException for HTTP Status 418)\r\n // 2. ProblemDetails when only status code is defined by ProducesResponseTypeAttribute. \r\n // A machine-readable format for specifying errors in HTTP API responses based on .\r\n // 3. ApiException when nothing was defined but status code is unsuccessfuff (not 200, not 204)\r\n // It is also possible to have not parsed ProblemDetails\r\n\r\n // IMPORTANT!\r\n // ProblemDetails for >=400 status codes generated automatically for controllers marked with [ApiControllerAttribute]. \r\n // https://learn.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-9.0#problem-details-for-error-status-codes\r\n\r\n // ApiException has its own default handler\r\n if (ApiException.isApiException(ex)) {\r\n this.handleApiException(ex, url);\r\n }\r\n // else {\r\n // exception intentionally thrown by processor\r\n // ex: ResponseWrapper, ProblemDetails\r\n // }\r\n\r\n throw ex;\r\n }\r\n }\r\n\r\n protected handleApiException(ex: ApiException, url: string) {\r\n if (ex.status === 401) {\r\n let redirectURL = `/account/logon?returnUrl=${encodeURIComponent(window.location.pathname)}`;\r\n let errorMessage = \"UNAUTHORIZED. You'll be redirected to login page\";\r\n\r\n const responseContentType = ex.headers[\"content-type\"]?.split(\";\")[0];\r\n if ([\"application/json\", \"application/problem+json\"].indexOf(responseContentType) != -1) {\r\n try {\r\n const data = JSON.parse(ex.response);\r\n if (data && data[\"ls.challengeReason\"] > 0) {\r\n if (data.detail) {\r\n errorMessage = \"UNAUTHORIZED. \" + data.detail;\r\n }\r\n if (data[\"ls.challengeReason\"] == 4) {\r\n //blocked\r\n redirectURL = `/?blockedUserMessageType=${LSCommon.Models.BlockedUserMessageType.Blocked}`;\r\n }\r\n else if (data[\"ls.challengeReason\"] == 5) {\r\n //locked\r\n redirectURL = `/?blockedUserMessageType=${LSCommon.Models.BlockedUserMessageType.Locked}`;\r\n }\r\n }\r\n }\r\n catch {/* */ }\r\n }\r\n\r\n this.onError(errorMessage, ex.status);\r\n window.location.href = redirectURL;\r\n } else if (ex.status === 403) {\r\n this.onError(`FORBIDDEN. You don't have permission to access ${new URL(url).pathname}`, ex.status);\r\n } else if (ex.status >= 500 && ex.status <= 600) {\r\n this.onError(ex.response, ex.status);\r\n }\r\n }\r\n\r\n protected transformOptions(options: RequestInit): Promise {\r\n options.credentials = \"include\";\r\n return new Promise((resolve) => {\r\n resolve(options);\r\n });\r\n }\r\n}\r\n","import React, { ButtonHTMLAttributes } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport * as Icons from \"Components/Icons\";\r\n\r\n\r\nexport type ModalCloseButtonProps = ButtonHTMLAttributes;\r\n\r\nconst ModalCloseButton: React.FC = ({ className, ...htmlProps }) => {\r\n const btnClasses = classNames(\"ls-modal-close\", className);\r\n\r\n return ()\r\n}\r\n\r\nexport default ModalCloseButton;","import React, { createContext } from \"react\";\r\n\r\nexport type DesignName = \"primary\" | \"marketing\";\r\n\r\nexport interface IDesignContext {\r\n name: DesignName\r\n}\r\nexport const DesignContext = createContext({\r\n name: \"marketing\"\r\n});\r\n\r\nexport interface IDesignContextProviderProps extends React.HTMLAttributes {\r\n name: DesignName\r\n}\r\n\r\nexport const DesignContextProvider: React.FC = function ({ children, name, ...rest }) {\r\n return (\r\n
{children}
\r\n
);\r\n}"],"names":["Operation","operation","constructor","op","this","toJSON","static","item","JSON","parse","forwardRef","color","size","onClick","rest","ref","React","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","isVenueBrief","venue","isResponseWrapper","obj","isWorkspaceHourlyModel","isWorkspacePeriodModel","isLegacyException","isException","isReactKey","objType","isProblemDetails","ProblemDetails","ModalFooter","compact","className","RBS_ModalFooter","classNames","legacyButtonColors","getBtnClasses","buttonProps","outline","includes","fluid","Button","children","htmlProps","buttonClasses","ButtonLink","PlayButton","SpinningButton","isLoading","props","designContext","useContext","DesignContext","RBS_Modal","name","usePageLeaveConfirmation","subscriptionId","options","deps","layoutContext","LayoutContext","useEffect","onPageLeave","offPageLeave","PAGE_LEAVE_MESSAGE","getPageLeaveMessage","message","createContext","showMessage","timeout","errorState","undefined","showError","error","title","onClose","setIsLoading","hasPageLeaveCallbacks","LayoutContextProvider","useState","setErrorState","onPageLeaveStack","useRef","pageLeaveCallback","setPageLeaveCallback","pageLeaveModalOptions","setPageLeaveModalOptions","Object","keys","current","length","registerOnPageLeave","id","removeOnPageLeave","showOnPageLeaveModal","callback","closeOnPageLeaveModal","closeOnPageLeaveModalInner","proceedToDestination","getUserConfirmation","callbackWrapper","ok","values","shouldDisplay","onBeforeUnload","event","returnValue","window","addEventListener","removeEventListener","layoutContextProvider","useMemo","console","log","currentError","errorObj","errorMessage","errorCode","debugTrace","detailedDebugException","Error","closeErrorDialog","useCallback","Provider","value","Modal","centered","isOpen","trapFocus","ModalHeader","ModalBody","href","style","whiteSpace","font","overflow","maxHeight","type","toggle","maxWidth","cancelButtonText","confirmAction","confirmButtonText","ImageTagConstants","PictureTypeEnum","MemberNotificationSettingType","SsoType","SocialVisibility","BlogTag","CollectionType","SpaceType","BookingMethod","WorkspaceStatus","WorkspaceReservationMethod","WorkspaceRequestType","EnterpriseAccountMembersImportMode","ConnectionMode","ConnectionKind","CurrencyType","ReservationMethod","ActivityReservationStatusFilter","ReservationStatus","PaymentProviderType","HourlyMonthly","DownloadFileFormat","VenueSource","SearchDeviceType","LocationAccuracy","SavedSearchSourceType","BrandedPortalType","ContentType","ContentStatus","EnterpriseAccountFeeType","EnterpriseAccountBillingStatus","InvoiceGenerationStatus","EnterpriseAccountPlan","EnterpriseAccountStatus","EnterpriseDemandType","EnterpriseClassification","DisplayExtendedNetwork","EnterpriseAccountBillingPeriod","PaymentTerm","EventHistoryType","EventHistoryState","EnterpriseAccountInvitationStatus","MemberGroupInvitationStatus","EnterpriseLocationType","ForceableExtendedSearchOptionsProperties","SearchSettingsEnum","ReservationState","CancellationPolicy","VenueAmenityType","RefundType","PayableType","PaymentMethod","HourlyRequestToBookStatus","ReservationTimeType","ImportExportStatus","LSLogLevel","EnterpriseDemoRequestMode","CompanySize","SolutionType","InterestReason","BrandsAccess","CreditCardTypeType","MemberRole","VenueConfirmationStatus","HourlyReservationUrgencyStatus","IntegrationTypeEnum","TourCancelReason","ImportType","VenueRoleEnum","NotificationsReservationType","VenueStatusNew","VenueGroupVisaType","DefaultMemberOriginationScenario","VenueGroupRank","VenueGroupVisibility","PriceMerchandising","VenueGroupIntegration","VenueGroupClassification","NeighborhoodType","VenueGroupVisaKind","ClaimVenueResult","VisaState","WorkspacePriceDuration","TimeState","TimeChunkSize","ManageVenueMode","PromotionDiscountType","MembershipPromotionType","MessageSource","MessageStatus","TourStatus","TourPostCompleteStatus","ProposalStatus","DepositMode","MessagesFilterEnum","MessengerAction","EntityType","MemberGroupUserType","MemberGroupType","CrosssiteBrandingType","HeaderMenuOptions","InvoiceStatus","VenueOpenStatus","LiquidSpaceProStatus","LicenseVersion","VenueTaxApplyType","ContactTypeEnum","BillingMethod","ACHAccountType","DayOfWeek","PhotoRankEnum","VenueClassification","VenueRank","GCalEndpoint","ExchangeEndpoint","ParkingType","PricingRateType","ManageVenueSectionEnum","ProfileChecklist","VenueEventType","HooMode","OpenCloseMode","MinAdvanceNoticeRangeType","InteractionStateEnum","DashboardLeadStatus","DenyVisaReason","ReservationSource","WorkspaceFreshness","ReservationType","OfficeRnDOrganizationType","OfficeRnDOrganizationConnectionType","DiagnosticsMethodRunner","ContentSecurityPolicyPlacement","DiagnosticsLogLevels","SpaceVisibility","PictureClient","ClientBase","http","baseUrl","jsonParseReviver","super","getBaseUrl","getMemberPictureViewModel","memberId","tag","signal","url_","replace","encodeURIComponent","options_","method","headers","transformOptions","then","transformedOptions_","fetch","_response","transformResult","processGetMemberPictureViewModel","response","status","_headers","forEach","v","k","text","_responseText","result200","resultData200","PictureViewModel","fromJS","throwException","Promise","resolve","AccountClient","forgotPassword","request","body","stringify","processForgotPassword","ResponseWrapper","result400","resultData400","changePassword","model","processChangePassword","personalInformation","processPersonalInformation","MemberDataModel","updatePersonalInformation","processUpdatePersonalInformation","notificationList","processNotificationList","Array","isArray","push","MemberNotificationModel","setNotificationValue","notificationSettingType","processSetNotificationValue","changeEmail","processChangeEmail","ssoMember","processSsoMember","SsoMemberModel","removeMemberSSO","ssoType","ssoId","processRemoveMemberSSO","setSocialVisibility","visibility","processSetSocialVisibility","ApiClientsClient","list","processList","ApiClientListItemViewModel","create","processCreate","result409","resultData409","get","clientId","processGet","EditableApiClientModel","result404","resultData404","patch","processPatch","delete","processDelete","contentDisposition","fileNameMatch","exec","fileName","decodeURIComponent","blob","data","BlogsClient","byTag","processByTag","BlogViewModel","BookingClient","prerequisites","processPrerequisites","BookingPrerequisitesValidationResult","representee","venueId","workspaceId","processRepresentee","BookingRepresenteeViewModel","check","processCheck","WorkspaceAvailabilityCheckViewModel","CollectionsClient","collections","processCollections","FavoriteCollectionViewModel","count","processCount","memberVenues","onlyHourlySpaces","processMemberVenues","VenueSearchResult","createCollection","newName","processCreateCollection","renameCollection","collectionId","processRenameCollection","copyCollection","processCopyCollection","deleteCollection","processDeleteCollection","collectionCollaborators","processCollectionCollaborators","CollaboratorViewModel","removeCollectionCollaborator","collaboratorId","processRemoveCollectionCollaborator","venues","processVenues","workspaces","processWorkspaces","FavoriteCollectionWorkspacesViewModel","deleteWorkspaceFromCollection","processDeleteWorkspaceFromCollection","shareCollectionData","processShareCollectionData","ShareCollectionModel","sharedCollections","processSharedCollections","deleteSharedCollection","processDeleteSharedCollection","ConciergeRequestClient","notifyMe","processNotifyMe","result401","resultData401","ConfigClient","classAndEnumConverter","processClassAndEnumConverter","ClassesAndEnumsToConvert","getMarketingStats","processGetMarketingStats","MarketingStats","getTimeZones","processGetTimeZones","key","hasOwnProperty","ConnectionsClient","connectionKind","ConnectionInfo","follow","targetUserId","processFollow","unfollow","processUnfollow","CostsClient","calculate","processCalculate","CostDetailsViewModel","CountriesClient","getCodes","forceAllCountries","processGetCodes","CountryCodeBase","listWithStates","processListWithStates","CountryCode","submitWaitlistForm","processSubmitWaitlistForm","DataRemovalRequestsClient","sendRequest","processSendRequest","ActivityReservationInternalClient","reservations","accountId","reservationsStatuses","teamId","start","end","requestId","processReservations","ActivityReservationInternalModel","ActivityReservationPrivateClient","ActivityReservationPrivateModel","reservationsCached","processReservationsCached","reservationsOverview","processReservationsOverview","ReservationOverview","reservationsOverviewCached","processReservationsOverviewCached","ActivityReservationReportClient","generate","hourlyMonthly","fileFormat","processGenerate","ActivityReservationReportStatus","reportId","ActivityReviewClient","reviews","processReviews","ActivityReview","reviewsOverview","processReviewsOverview","ReviewOverview","reviewDetails","reviewId","processReviewDetails","ActivityReviewDetails","ActivitySearchClient","searchesOverview","processSearchesOverview","SearchOverview","searches","processSearches","ActivitySearch","searchDetails","searchId","searchDate","processSearchDetails","ActivitySearchDetails","BrandingClient","BrandedOptionsModel","ContentClient","ContentItemModel","itemId","add","processAdd","order","contentOrder","processOrder","DashboardClient","dashboard","processDashboard","DashboardViewModel","dashboardCached","processDashboardCached","EnrollmentClient","EnrollmentSettingsModel","EnterpriseAccountAdminClient","AccountAdminInfoViewModel","EnterpriseAccountApiClientsClient","EnterpriseAccountApiClientListItemViewModel","EditableEnterpriseAccountApiClientViewModel","assignApiClient","processAssignApiClient","unassignApiClient","processUnassignApiClient","EnterpriseAccountBillingsClient","EnterpriseAccountBillingModel","billingId","cancel","processCancel","force","processForce","EnterpriseAccountClient","accountInfo","processAccountInfo","AccountInfoViewModel","EnterpriseAccountListViewModel","EnterpriseAccountSettingsModel","ssoUrl","processSsoUrl","teams","processTeams","TeamInfoViewModel","deleteTeam","processDeleteTeam","attachTeam","processAttachTeam","attachTeamList","processAttachTeamList","TeamListItemViewModel","AccountModel","importMessage","processImportMessage","EnterpriseAccountEventsClient","EventHistoryModel","edit","eventId","processEdit","EnterpriseAccountHeadquarterClient","getHeadquarters","processGetHeadquarters","EnterpriseAccountHeadquarterViewModel","addHeadquarter","processAddHeadquarter","getHeadquarter","headquarterId","processGetHeadquarter","deleteHeadquarter","processDeleteHeadquarter","updateHeadquarter","processUpdateHeadquarter","EnterpriseAccountMemberClient","take","TeamMemberInfoViewModel","register","invite","processRegister","TeamMemberViewModel","getInfo","processGetInfo","memberAutocomplete","emailPart","processMemberAutocomplete","MemberAutocomplete","resendInvite","processResendInvite","resendInvites","processResendInvites","result403","resultData403","spendThisMonth","processSpendThisMonth","TeamMemberSpendResponse","ratingCounters","processRatingCounters","TeamMemberRatingCounters","activity","processActivity","TeamMemberActivity","budgetSettings","processBudgetSettings","TeamMemberBudgetViewModel","updateBudgetSettings","settings","processUpdateBudgetSettings","listTeamMemberPaymentProfileSettings","processListTeamMemberPaymentProfileSettings","PaymentProfileSettingsViewModel","updateTeamMemberPaymentProfileSettings","paymentProvider","processUpdateTeamMemberPaymentProfileSettings","verifySignup","email","processVerifySignup","EnterprisePortalSignupInfoViewModel","onlineMembers","processOnlineMembers","billableUsersCount","processBillableUsersCount","EnterpriseAccountMemberImportClient","template","processTemplate","getResults","importId","processGetResults","EnterpriseAccountMembersImportResponse","import","csvFile","importMode","suppressInviteEmail","content_","FormData","append","toString","processImport","EnterpriseAccountMemberReportClient","EnterpriseAccountMemberReservationClient","timeType","countOnPage","includeInviteeReservations","TeamMemberReservation","reservationCounters","processReservationCounters","TeamMemberReservationCounters","EnterpriseAccountSettingsClient","EnterpriseAccountsExportClient","export","processExport","EnterpriseAccountsExportStatusClient","getAll","processGetAll","ExportEnterpriseAccountStatus","exportId","EnterpriseAccountsImportClient","EnterpriseAccountsImportStatusClient","ImportEnterpriseAccountStatus","getDetails","processGetDetails","ImportEnterpriseAccountStatusDetails","EnterpriseAccountUnassignedMemberClient","EnterpriseClient","requestDemo","processRequestDemo","submitProRequest","processSubmitProRequest","EnterpriseAccountIntegrationOfficeRnDClient","officeRnDHybridSync","processOfficeRnDHybridSync","OfficeRnDHybridSyncResult","EnterpriseAccountIntegrationSlackClient","getInstallUrl","processGetInstallUrl","getConfigs","processGetConfigs","EnterpriseAccountIntegrationSlackConfig","deleteConfig","appId","processDeleteConfig","EnterpriseAccountLocationClient","onDemandLocations","processOnDemandLocations","OnDemandLocationViewModel","dedicatedLocations","processDedicatedLocations","DedicatedLocationViewModel","venueList","processVenueList","VenueListItemViewModel","venueGroupList","processVenueGroupList","VenueGroupListItemViewModel","getCollection","processGetCollection","EnterpriseAccountCollectionViewModel","updateCollection","processUpdateCollection","addCollection","processAddCollection","getBrands","processGetBrands","BrandsViewModel","setBrandsOptions","brandsOptionsModel","processSetBrandsOptions","PortalClient","currentMember","processCurrentMember","EnterpriseUserInfoViewModel","headquarters","processHeadquarters","CollectionViewModel","preferredCollectionVenues","processPreferredCollectionVenues","questionsAndAnswers","processQuestionsAndAnswers","ContentItemViewModel","onboardingContent","processOnboardingContent","OnboardingContentViewModel","PortalReviews","supportRequest","processSupportRequest","question","processQuestion","getMember","processGetMember","MemberViewModel","banner","processBanner","BrandedBannerViewModel","getMessengerTargets","processGetMessengerTargets","MessageTargetAutocompleteItem","completePortalGuide","processCompletePortalGuide","subscribeOnEmail","processSubscribeOnEmail","unsubscribeOnEmail","processUnsubscribeOnEmail","getColleaguesNearBy","processGetColleaguesNearBy","ReservationMemberViewModel","getActivities","selectedDate","processGetActivities","DayActivityViewModel","SingleSignOnClient","SSOSettingsModel","federationMetadata","processFederationMetadata","TeamClient","TeamViewModel","members","processMembers","addMember","processAddMember","deleteMember","processDeleteMember","setMemberSuspended","isSuspended","processSetMemberSuspended","addMembers","processAddMembers","TeamReportClient","GeocoderClient","geocode","requestModel","processGeocode","LocationViewModel","getPlacePredictions","processGetPlacePredictions","PlacePredictionViewModel","getPlaceDetails","placeId","sessionToken","processGetPlaceDetails","HourlyRequestsClient","accept","processAccept","decline","processDecline","pause","processPause","hourlyRequestReservationDetails","processHourlyRequestReservationDetails","ReservationRequestDetailsModel","InternationalClient","countries","processCountries","getMerchantAccounts","processGetMerchantAccounts","MerchantAccountModel","MarketplaceCustomerProfilesClient","getCustomerProfile","payableType","payableId","processGetCustomerProfile","MarketplaceCustomerProfileModel","createPaymentProfile","processCreatePaymentProfile","PaymentMethodResponse","MembersClient","emailFilter","firstNameFilter","lastNameFilter","lastReadEmail","MemberListItemViewModel","searchEmail","term","takeCount","roles","processSearchEmail","searchOrganizerListAutocomplete","ownerId","searchPart","processSearchOrganizerListAutocomplete","OrganizerViewModel","connections","processConnections","getPicture","processGetPicture","getMemberProfile","processGetMemberProfile","MemberProfileViewModel","isEnterpriseAccountMember","processIsEnterpriseAccountMember","getPictures","memberIdsRequest","processGetPictures","MemberPicture","PaymentMethodClient","paymentMethods","processPaymentMethods","PaymentMethodListViewModel","updateDescription","processUpdateDescription","createCreditCard","processCreateCreditCard","exchangePlaidToken","processExchangePlaidToken","createLinkToken","processCreateLinkToken","deletePaymentMethod","processDeletePaymentMethod","makeDefault","processMakeDefault","stateCodes","processStateCodes","CountryStateCodesRepsonse","supportedCurrencies","processSupportedCurrencies","ProposalClient","savedSearchId","savedSearchMemberId","validatedMessage","chainId","attachments","item_","proposalId","RatingClient","RatingViewModel","average","processAverage","AverageRatingModel","ownByReservationId","reservationId","processOwnByReservationId","save","ratingViewModel","processSave","ReportClient","hourlyReservations","processHourlyReservations","HourlyReservation","TourClient","guestNoShow","processGuestNoShow","reason","isFirstConfirmedTourInVenue","processIsFirstConfirmedTourInVenue","confirm","processConfirm","update","date","processUpdate","suggest","processSuggest","VenueGroupExportStatusClient","venueGroupId","ExportVenueGroupStatus","VenueGroupExportClient","VenueGroupImportClient","VenueGroupImportStatusClient","ImportVenueGroupStatus","ImportVenueGroupStatusDetails","VenueGroupAdminsClient","VenueAdminModel","pregeneratedPictureId","isPasswordChanging","VenueGroupPricingRatesClient","getPricingRate","pricingRateId","isMonthly","processGetPricingRate","PricingRateViewModel","deletePricingRate","processDeletePricingRate","addOrEditPricingRate","pricingRateViewModel","processAddOrEditPricingRate","VenueGroupReportsClient","reports","processReports","VenueGroupReportsViewModel","monthlyLeadsReport","processMonthlyLeadsReport","pdfReport","onDate","processPdfReport","deleteReport","processDeleteReport","downloadReport","processDownloadReport","VenueGroupReservationsClient","getDataTiles","processGetDataTiles","DataTilesViewModel","getUpcomingReservations","processGetUpcomingReservations","HourlyReservationViewModel","getPastReservations","processGetPastReservations","VenueGroupReservationsComposer","VenueGroupsClient","venueGroup","processVenueGroup","VenueGroupModel","hourlyRequestToBook","processHourlyRequestToBook","HourlyRequestToBookModel","venueGroupVenues","processVenueGroupVenues","VenueGroupVenueListItem","getLogoPictureUrl","processGetLogoPictureUrl","PictureURLViewModel","resendClaimProposals","processResendClaimProposals","setForceGrantVisa","forceGrant","processSetForceGrantVisa","sendClaimProposals","processSendClaimProposals","getBulkAddVenues","visaType","processGetBulkAddVenues","VenueGroupBulkAddVenueViewModel","bulkAddVenues","bulkData","processBulkAddVenues","qualifyingMemberGroups","processQualifyingMemberGroups","KeyValuePairOfGuidAndString","venueVisas","processVenueVisas","VenueGroupSettingsClient","VenueGroupSettingsViewModel","VenueGroupsRootClient","VenueGroupListViewModel","venueGroupModel","VenueGroupStatementsClient","statements","processStatements","VenueGroupVenuesStatementWrapper","reportXlsxByDataId","spreadsheetDataId","processReportXlsxByDataId","VenueGroupVisasClient","getVisas","processGetVisas","VenueGroupVisaViewModel","addVisa","processAddVisa","deleteVisa","visaId","processDeleteVisa","WorkspaceScenariosClient","WorkspaceScenarioViewModel","VenueAmenitiesClient","amenities","processAmenities","VenueAmenityViewModel","workspaceAmenities","processWorkspaceAmenities","VenueClaimClient","claim","resend","processClaim","verifyHost","ticketId","processVerifyHost","VenuePermissionsClient","permissions","processPermissions","VenuePermissionsViewModel","requestPermissions","processRequestPermissions","VenuesClient","VenueModel","hasLiquidspacePro","processHasLiquidspacePro","healthAndSafetyPolicy","processHealthAndSafetyPolicy","autocomplete","processAutocomplete","VenueAutocompleteItem","getHeadquarterData","processGetHeadquarterData","VenueHeadquarterDataViewModel","WorkspacesClient","VenueWorkspaceModel","VenueAvailabilityClient","hourlyAvailability","timeChunkSize","processHourlyAvailability","ReservationCalendarWorkspaceModel","WorkspaceAvailabilityClient","closedDays","processClosedDays","ClosedDayModel","openHours","processOpenHours","OpenHoursItem","openHoursForTour","processOpenHoursForTour","unavailableDays","existingReservationId","processUnavailableDays","occurrenceDate","ReservationCalendarTimeChunkStateModel","checkAvailability","processCheckAvailability","CheckAvailabilityResponse","quantityAvilable","processQuantityAvilable","checkRegusAvailability","processCheckRegusAvailability","CheckRegusAvailabilityResponse","UserClient","UserInfoViewModel","enterpriseAccountMembership","processEnterpriseAccountMembership","UserInfoEnterpriseAccountResponse","getCounters","processGetCounters","HeaderMenuCountersViewModel","UserVenuesClient","getOwned","processGetOwned","MyVenueViewModel","getRecent","processGetRecent","getUnfinished","processGetUnfinished","SavedSearchRequestClient","savedSearchRequestId","SavedSearchRequestWithId","searchRequest","SearchAutocompleteClient","geoAutocomplete","query","processGeoAutocomplete","GeoSearchAutocomplete","liquidSpaceAutocomplete","processLiquidSpaceAutocomplete","BaseSearchAutocomplete","dropdownAutocomplete","processDropdownAutocomplete","textToSearchQuery","processTextToSearchQuery","SearchQueryAutocomplete","SearchClient","default","processDefault","VenuesSearchResult","execute","processExecute","executeSavedSearch","processExecuteSavedSearch","config","processConfig","SearchConfig","ReservationGuestsClient","ReservationMaybeMemberViewModel","processInvite","ReservationPagesClient","pager","pagerRequest","processPager","ReservationPager","page","token","processPage","ReservationsClient","applyDate","EditReservationResponse","getUrgencyStatus","processGetUrgencyStatus","getRaw","processGetRaw","ReservationRaw","closestFinishDate","processClosestFinishDate","stopAutoRenew","finishDate","processStopAutoRenew","getReservationCardPicture","processGetReservationCardPicture","ReservationsCreateClient","previewLicense","processPreviewLicense","CreateReservationResponse","ReservationVenueConfirmationsClient","set","processSet","VenueConfirmationViewModel","ReservationVisitStatesClient","checkIn","processCheckIn","checkOut","processCheckOut","wasVisited","PromotionClient","PromotionListItemViewModel","getRedemptions","processGetRedemptions","PromotionRedemptionListItemViewModel","processVisibility","validate","code","processValidate","PromotionValidationResultViewModel","getInitialCouponCode","processGetInitialCouponCode","duplicate","newCode","processDuplicate","PromotionMemberGroupsClient","PromotionMemberGroupListItemViewModel","memberGroupId","PromotionSettingsClient","PromotionSettingsViewModel","PromotionVenueGroupsClient","PromotionVenueGroupListItemViewModel","PromotionVenuesClient","PromotionVenueListItemViewModel","MessageAttachmentsClient","MessagesClient","sendMessage","targetId","subject","fromVenue","processSendMessage","SendMessageResponse","messages","filter","processMessages","MemberMessagesModel","getChain","processGetChain","MessageChain","markChainAsRead","processMarkChainAsRead","chainArchiveAction","archive","ownerType","processChainArchiveAction","existingChain","processExistingChain","deleteMessage","messageId","processDeleteMessage","MemberGroupAdminsClient","addAdmin","adminEmail","processAddAdmin","removeAdmin","userId","processRemoveAdmin","addBookingDelegate","bookingDelegateEmail","processAddBookingDelegate","removeBookingDelegate","processRemoveBookingDelegate","MemberGroupClient","MemberGroupViewModel","MemberGroupListViewModel","getMembers","processGetMembers","MemberGroupHQClient","MemberGroupHeadquarterViewModel","saveHeadquarter","headquarterModel","processSaveHeadquarter","removeHeadquarter","hqId","processRemoveHeadquarter","MarketplaceAccountsClient","MarketplaceAccount","transactions","processTransactions","MarketplaceTransaction","transactionsWithReservationStartDate","processTransactionsWithReservationStartDate","MarketplaceTransactionWithStartDate","invoices","processInvoices","MarketplaceInvoice","addInvoice","processAddInvoice","deleteInvoice","invoiceId","processDeleteInvoice","syncInvoice","processSyncInvoice","generateInvoice","periodDate","processGenerateInvoice","ManageVenueAdminsClient","admins","processAdmins","remove","processRemove","admin","processAdmin","ManageVenueClient","venueSelector","currentVenueId","processVenueSelector","VenueSelectorListItem","venueBrief","processVenueBrief","VenueBrief","removeSavedSearch","processRemoveSavedSearch","newMessagesCount","processNewMessagesCount","newMessagesCountByVenue","processNewMessagesCountByVenue","hasReservations","processHasReservations","setIntegrationOption","integrationOptionRequest","processSetIntegrationOption","processSettings","VenueSettingsModel","patchSettings","applyDefaultBookingMethodForExistingSpaces","processPatchSettings","openStatus","processOpenStatus","venueGroupMembership","processVenueGroupMembership","VenueGroupMembershipModel","priceRate","reservationStartTime","reservationCount","pricingRateType","processPriceRate","PriceRateCheckerResponse","verifyPermalink","permalinkToVerify","country","state","city","processVerifyPermalink","VerifyVenueParmalinkResult","populationPercent","processPopulationPercent","VenuePopulationPercentModel","properties","processProperties","VenuePropertiesModel","isPaymentInformationRequired","processIsPaymentInformationRequired","checklist","processChecklist","ManageVenueEventsClient","VenueEventModel","createdTicks","created","ManageVenueHooRulesClient","getExceptionHooRuleList","processGetExceptionHooRuleList","HooRuleSplitViewModel","editExceptionHooRule","processEditExceptionHooRule","getExceptionHooRule","hooRuleId","processGetExceptionHooRule","HooRuleSplitEditViewModel","deleteExceptionHooRule","processDeleteExceptionHooRule","exceptionHooRuleReorderUp","processExceptionHooRuleReorderUp","exceptionHooRuleReorderDown","processExceptionHooRuleReorderDown","getBookingWindowHooRuleList","processGetBookingWindowHooRuleList","HooRuleForBookingWindowFlexViewModel","editBookingWindowHooRule","processEditBookingWindowHooRule","getBookingWindowHooRule","processGetBookingWindowHooRule","HooRuleForBookingWindowFlexEditViewModel","deleteBookingWindowHooRule","processDeleteBookingWindowHooRule","bookingWindowHooRuleReorderUp","processBookingWindowHooRuleReorderUp","bookingWindowHooRuleReorderDown","processBookingWindowHooRuleReorderDown","ManageVenueHourlyRequestsClient","ManageVenueIntegrationsClient","loadOwners","processLoadOwners","OwnerInfoModel","loadOwnersForDeskimo","processLoadOwnersForDeskimo","exchangeConfiguration","processExchangeConfiguration","ExchangeConfigurationModel","pushToCalendar","processPushToCalendar","getOfficeRnDWorkspacesSync","processGetOfficeRnDWorkspacesSync","OfficeRnDWorkspacesSyncModel","submitOfficeRnDWorkspacesSync","processSubmitOfficeRnDWorkspacesSync","ManageVenueLeadsClient","dashboardLeadStatuses","DashboardLeadViewModel","workflowId","updateToActive","processUpdateToActive","processArchive","unarchive","processUnarchive","ManageVenueLicensesClient","uploadCustomLicensePdfTemplate","customLicensePdfTemplates","processUploadCustomLicensePdfTemplate","deleteCustomLicensePdfTemplate","processDeleteCustomLicensePdfTemplate","validateTemplate","processValidateTemplate","CheckResult","ManageVenueMembersClient","VenueMemberModel","profile","processProfile","VenueMemberProfileModel","editProfile","processEditProfile","deleteProfile","processDeleteProfile","assignVisaGET","processAssignVisaGET","AddMemberToVisaModel","assignVisaPOST","processAssignVisaPOST","ManageVenueMemberVisaStatesClient","grant","bookingDate","sync","processGrant","ChangeVisaStateReponse","deny","processDeny","ManageVenueReservationsClient","VenueReservationViewModel","ManageVenueScoreClient","venueScore","processVenueScore","VenueScoreViewModel","ManageVenueStatementsClient","VenueStatementSummaryModel","ManageVenueVisasClient","VisaInfoModel","upsert","processUpsert","visa","processVisa","VisaModel","ManageVenueWorkspacesClient","WorkspaceModel","workspacesOrder","isBooked","processIsBooked","ProBannerClient","getLiquidSpaceProOverlayModel","processGetLiquidSpaceProOverlayModel","LiquidspaceProOverlayViewModel","getLiquidspaceProEnableDate","processGetLiquidspaceProEnableDate","activateLiquidspacePro","processActivateLiquidspacePro","DeskimoIntegrationsClient","markets","processMarkets","DeskimoMarketModel","marketCode","DeskimoPropertyModel","EvoIntegrationsClient","evoApiId","processOptions","EvoOptionsModel","MicrosoftGraphIntegrationsClient","accesstoken","processCallback","MSGraphUserModel","MorningstarIntegrationsClient","OfficeRnDOrganizationsClient","OfficeRnDOrganizationListItemModel","organizationModel","organizationId","OfficeRnDOrganizationDetailsModel","savePartnerIntegrationContact","postConnectToken","processSavePartnerIntegrationContact","deletePartnerIntegration","processDeletePartnerIntegration","offices","processOffices","OfficeRndOfficeModel","OfficeRndTeamModel","OfficeRndMemberModel","RJmetisIntegrationsClient","DiagnosticsConsoleClient","getMethods","processGetMethods","DiagnosticsConsoleMethod","executeMethod","methodName","runner","parameters","processExecuteMethod","DiagnosticsConsoleRunKey","getLog","lastKnownTick","taskId","processGetLog","DiagnosticsConsoleLineViewModel","clearLog","processClearLog","DiagnosticsContentSecurityPolicyClient","ContentSecurityPolicyViewModel","DiagnosticsCryptoClient","decrypt","input","processDecrypt","encrypt","processEncrypt","DiagnosticsEmailsClient","templates","processTemplates","EmailTemplate","emailTypeName","processModel","DiagnosticsEmailModel","render","processRender","send","processSend","DiagnosticsIntegrationsClient","DiagnosticsIntegrationListItemModel","DiagnosticsLogsClient","messageSubstring","levels","DiagnosticsLogItem","partitionKey","rowKey","DiagnosticsLogItemDetails","getConfig","processGetConfig","setConfig","processSetConfig","DiagnosticsPoisonsClient","PoisonMessageViewModel","envelopeId","PoisonMessageDetailsViewModel","restart","processRestart","raw","processRaw","DiagnosticsWorkspaceScenariosClient","DiagnosticsWorkspaceScenarioViewModel","InternationalConfigurationClient","InternationalConfigurationModel","getDefault","processGetDefault","pictureId","pictureOwnerId","pictureUrls","imageTagConstant","pictureType","url","property","init","_data","result","tags","detail","instance","extensions","success","validationErrors","SerializableError","RecaptchaRequestBase","recaptchaToken","ForgotPasswordRequest","enterpriseAccountId","ChangePasswordModel","currentPassword","confirmPassword","newPassword","skipPasswordValidation","firstName","lastName","company","phoneNumber","postalCode","address","enabled","description","subDescription","ChangeEmailModel","confirmationPassword","enterpriseAccountApiClientsCount","isLegacyCompatibility","enterpriseAccountIds","clientSecret","subscriptionKey","allowedGrantTypes","allowedScopes","link","items","BlogItem","imgSource","categories","category","imgAlt","summary","readTime","isValid","errors","BookingPrerequisitesValidationPolicyError","requiresLogin","_discriminator","BookingPrerequisitesValidationPolicyRequiresApprovalError","agreeToShareViewModel","AgreeToShareViewModel","fullName","freeFormTextForApproval","BookingPrerequisites","NewReservationBookingPrerequisites","EditReservationBookingPrerequisites","BasedOnReservationBookingPrerequisites","startDate","startTime","durationMinutes","daysAhead","guestCount","occurenceDate","endTime","desksCount","editReservationId","numberOfSpaces","images","collectionType","collaborators","initials","pictureURL","latitude","longitude","minPrice","minPriceFormatted","imageUrl","imageUrls","workspaceTypesFormatted","averageRating","ratingCount","hasHealthAndSafetyPolicy","enterpriseHeadquarter","enterprisePreferredLocation","isExtendedNetwork","workspaceSearchResults","defaultBookingMethod","defaultBookingMethodHourly","WorkspaceSearchResult","imgUrl","price","priceAmount","priceDescription","spaceType","spaceTypeFormatted","capacity","searchScoreHint","collection","FavoriteWorkspaceViewModel","image","liquidspacePro","capacityFilterWithScenario","nRatings","bookingMethod","reservationMethod","collectionOwnerId","collectionUrl","brokerId","bmgId","shareModel","ShareModel","facebookShareUrl","twitterShareUrl","linkedInShareUrl","ConciergeRequestViewModel","spaceTypes","searchFilter","WorkspaceFilterViewModel","reservationLengthMinutes","reservationStart","workspaceCapacity","workspaceRequestType","workspaceReqEnterpriseAccountMembersImportModeuestType","teamsAndProfessionals","verifiedVenuePartners","millionTransactions","citiesCounting","workspacesCount","connectionMode","isFreePricingSchema","currency","subtotal","salesPrice","salesTax","totalPrice","amountDue","credit","duration","pricingComponents","budgetLimit","BudgetLimitModel","HourlyCostDetailsViewModel","MonthlyCostDetailsViewModel","warningMessageHtml","canExceedMaxBudget","incidentalsTotalWithTax","serviceCharge","lessDiscount","proRated","monthlyPrices","nextMonthPrice","setUpFee","editFee","serviceRetainer","CostRequest","reservationDetails","couponCode","changeWorkspaceRequest","integrationReferences","ReservationDetails","ChangeWorkspaceRequest","ReservationIntegrationReferences","HourlyReservationDetails","DaypassReservationDetails","MonthlyReservationDetails","GenericReservationDetails","RecurrentReservationDetails","recurrencePattern","recurrenceExcludedDates","quantity","autoRenew","useExistingPrice","RegusIntegrationReferences","spaceReferenceToken","StateCode","WaitlistRequest","venueName","locationCount","comment","endDate","memberFullName","memberEmail","reservationType","venueXPPUrl","guestsCount","teamName","location","spaceName","spaceTypeDescription","cost","isOutOfBudget","memberRemovedFromAccount","externalAccountId","CostInfoModel","amount","currencyPrefix","currencyRate","hourlyReservationsCount","monthlyReservationsCount","hourlySpent","monthlySpent","totalSpent","createDate","downloadReady","locationName","stars","reviewCount","cityAddress","reservationDate","source","searchesCount","executedTime","searchLocation","minCapacity","maxCapacity","searchSpaceType","resultsNumber","spaceTypesString","device","filterSettings","searchResults","ipAddress","searchedFromLat","searchedFromLong","userAgent","sourceType","ActivitySearchFilterSettingsDetails","ActivitySearchResultDetails","specificity","distance","exactDate","exactTime","maxPrice","minSize","maxSize","onlyNewWorkspaces","venueAddress","amenityStrings","neighborhoodStrings","IndividualSearchReportResult","position","bestMatchScore","rating","portalOptions","emailOptions","onboardingOptions","locationOptions","bannerOptions","headerImage","emailHeaderImage","onboardingImage","mapPinImage","mapPinImageId","BrandedPortalOptionsModel","BrandedEmailOptionsModel","BrandedOnboardingOptionsModel","BrandedLocationOptionsModel","BrandedBannerOptionsModel","subtitle","explainerText","enable","portalType","forceSignIn","isHeaderTransparent","referralEmail","BrandedMarketModel","from","programName","customEmailCss","customInviteMessage","content","useExistingUrl","videoUrl","hqPinLabel","hqPinColor","hqPinColorHover","popupTitle","popupContent","forcePopup","ContentItemAddModel","lastUpdateDate","spend","topSpenders","reservationLocations","pendingMembersCount","activeMembersCount","ratingsCount","ratingsAverage","engagedMembersCount","engagedPercent","teamsStats","performance","DashboardSpender","DashboardReservationLocation","DashboardTeamStatsViewModel","DashboardReviewInfo","reservationsCount","totalSpend","activeReservationInfo","CostInfo","DashboardReservationInfo","memberName","totalInvited","totalJoined","adoption","totalBooked","engagement","totalDedicated","totalOnDemand","invitedBooked","currencies","TeamCostInfo","amountUSD","enableAutoEnrollment","autoEnrollmentMemberGroupId","restrictByEmailDomain","emailDomains","role","AddAccountAdminModel","allowedImpersonationScopes","billingDate","invoicePdfUrl","billingItems","EnterpriseAccountBillingItemModel","feeType","periodStartDate","periodEndDate","costPerUnit","units","EnterpriseAccountBillingCreateRequest","portalUrl","logoUrl","isMarketplaceAccount","socialCollaborationPortalEnabled","marketplaceEffectiveDate","invoiceGenerationStatus","EnterpriseAccountExtendedListViewModel","plan","demandType","classification","totalAvailableMarket","serviceableAvailableMarket","currentlyAddressableMarket","ownerName","modifiedDate","memberCount","isActive","contactName","contactEmail","simpleAddress1","simpleAddress2","zip","salesRepEmail","liquidSpaceAccountManager","liquidSpaceTransactionManager","securityContact","memberLimit","teamLimit","activeDate","subscriptionCost","subscriptionTerm","socialActivityEnabled","enhancedReservationRemindersEnabled","displayExtendedNetwork","campaignOptions","financeContacts","billingPeriod","platformFee","userFee","enableBilling","billingStartDate","billingEndDate","liquidSpaceTutorials","purchaseOrderNumber","serviceChargeEnabled","enableWireTransferPayments","marketplaceInvoiceStatus","marketplaceTargetBalance","marketplacePaymentTerm","financeNotesInternal","billingPaymentTerm","customerProfileId","CampaignOptionsModel","campaignVideoEnabled","loomVideoUrl","typedObjectId","authorEmail","geofence","customCTA","GeofenceViewModel","CustomCTAViewModel","radiusMiles","notes","homeBase","createdDate","memberGroupStatus","geoCity","geoCountry","picture","team","costCenter","joinedDate","lastActivityDate","locations","extendedSearchOptions","searchSettings","ExtendedSearchOptionsModel","locationType","locationId","isGeofenceEnabled","geofenceRadiusMiles","liquidSpacePro","immutableOptions","hourlySpaceTypesWithoutTrainingArray","monthlySpaceTypesWithoutDesksArray","totalUSD","percentOfMonthlyBudget","percentOfMonthlyMemberBudget","month","createTime","originalBudgetSettings","mergedBudgetSettings","EnterpriseBudgetSettings","maxMonthlyTeamBudget","maxDailyMemberBudget","maxMonthlyMemberBudget","allowExceedBudgetLimits","overridenSettingNames","EnterpriseBudgetSettingsViewModel","paymentProfileId","isActiveAndOnboarded","ssoRequired","singInRequired","isAuthorized","verificationCompleted","EnterprisePortalRegisterRequest","password","toProcess","processed","isCompleted","BaseReservationViewModel","idForLink","deleted","reservationState","organizer","cancellationPolicy","invitees","reservationOperations","costSummary","paymentHistory","paymentMethod","paymentMethodType","promotion","venueUrl","workspaceName","workspaceUrl","spaceTypeForCapacity","isAutoRenew","ReservationOperationsAvailability","CostSummaryViewModel","PaymentInformationViewModel","PaymentMethodDescriptor","ReservationPromotion","HourlyRequestToBookMemberModel","venueAverageRating","venueRatingCount","entryInformation","venueHostName","venueHostLastName","venueHostPhone","memberStars","memberReviewText","memberReviewName","isToday","ReservationOwnerViewModel","enterpriseAccountName","amenityId","instruction","hasPrice","isWorkspace","paid","editAllowed","cancelAllowed","checkInAllowed","checkOutAllowed","doNotRenewAllowed","extendAllowed","inviteAllowed","startDateTimeEditAllowed","total","setupFee","deposit","amountPaid","incidentalsTotal","incidentalsTax","isLastMonthIncidentalsPayment","refundType","transactionId","paymentId","last4Digits","displayAmount","payableKey","deviceData","PayableKey","additionalInfo","active","authorId","exceptionMessage","spreadsheetUrl","EnterpriseAccountsImportViewModel","notificationEmails","statuses","ImportEnterpriseAccountResultViewModel","ImportEnterpriseAccountMessageViewModel","dateTime","logLevel","stackTrace","EnterpriseDemoRequest","mode","companySize","solution","hubspotUTK","referrerQuery","interestReason","LiquidspaceProRequest","emailAddress","companyName","locationsCount","monthlyRate","reservation","access","brands","BrandViewModel","BrandsOptionsViewModel","disabledVenueGroupIds","invitationStatus","homeBaseSearchId","homeBaseSearchAddress","homeBaseSearchType","isDefaultBackground","colleaguesWithReviewCount","memberTitle","memberPicture","reviewText","workspacePicture","SupportRequest","QuestionRequest","popupHash","member","coworkers","venueActivities","memberActivities","DayVenueActivityViewModel","hasMultipleSpace","ActivityMaybeMemberViewModel","ActivityMemberViewModel","enableSSO","ssoTargetUrl","ssoTargetLogoutUrl","certificate","certificateThumbprint","sessionExpirationMinutes","authenticationContext","authenticationContextComparison","skipAuthenticationContextComparison","skipAssertionConsumerServiceURL","samlManageGroupMembership","clientToken","scimCreateUsers","scimManageGroupMembership","syncScimProcessing","availableAuthenticationContexts","availableAuthenticationComparisons","consumerEndpoint","paymentMethodList","ownerEmail","adminEmails","maxDailyBudget","maxMonthlyBudget","disableCCEntry","Headquarter","bestMatchPoints","rank","centralizedPaymentMethods","paymentMethodConfiguration","PaymentMethodViewModel","CentralizedPaymentMethodViewModel","PaymentMethodConfigurationModel","isDefault","CreditCardPaymentMethodViewModel","BankAccountPaymentMethodViewModel","MarketplacePaymentMethodViewModel","WireTransferPaymentMethodViewModel","last4","maskedNumber","creditCardType","cardType","expirationMonth","expirationYear","expirationDateRaw","isExpired","bankName","isVerified","centralizedName","parentPayableKey","canDeleteBankAccount","enableACHPayments","ccEntryDisabled","TeamAddViewModel","TeamMemberAddViewModel","TeamMembersAddViewModel","memberIds","formattedAddress","addressComponents","types","AddressComponentViewModel","shortText","longText","GeocodeRequestModel","mainText","secondaryText","PlacePredictionsRequestViewModel","allowInternational","AcceptRequest","liquidSpaceCost","DeclineRequest","expirationTimeUTC","payment","owner","inviteesNamesString","responder","responseTime","recurrencePatternText","ReservationAmenityModel","requestable","paymentProfileIdPrefix","paymentProfile","MarketplacePaymentProfileCreateRequest","PaymentMethodRequest","provider","UpdatePaymentMethodDescriptionRequest","CreditCardRequest","creditCardData","CreditCardData","CreditCardAuthorizedRequest","CreditCardAnonymousRequest","paymentMethodNonce","ExchangePlaidTokenRequest","publicToken","CreatePlaidLinkTokenRequest","countryCodes","RatingUpsertModel","messageToSupport","sequrityCode","guestId","confirmationStatus","urgencyStatus","spaceTypeString","spaceCapacity","reservationPrice","attendeeCount","venueCity","venueState","venueCountry","venuePhoneNumber","venueOwnerEmail","venueHostEmail","guestName","guestCompany","enterprisePlan","integrations","numberOfCompletedReservationsInThePast30DaysForVenue","numberOfCompletedReservationsInThePast90DaysForVenue","numberOfCanceledReservationsInThePast90DaysForVenue","numberOfReviews","venuePhoneNumberFormatted","reservationCreatedTimestamp","venueOwnerId","debug","SuggestTourViewModel","tourDate","tourTime","VenueGroupImportViewModel","importType","isAutomated","importVenueResults","ImportVenueGroupResultViewModel","logHtml","rowId","pictureURLs","pictureUrl","isVenueHost","isNew","oldPassword","isSmsDeliveryType","isSmsDeliveryTypeMonthly","includeTourCalendarFile","isEmailDeliveryType","isEmailDeliveryTypeMonthly","isEmailDeliveryTypeIncidentals","isEmailDeliveryTypeHourlyRequestToBook","isInheritedFromVenueGroup","effectiveRates","EffectiveRateViewModel","flatRatePercent","pricingTiers","PricingTier","reportType","scheduled","VenueGroupMonthlyLeadsReportParamsViewModel","to","hourlyRtBCount","hourlyCreditCardCount","publishedVenuesCount","unpulishedVenuesCount","hourlyCompletedCount","monthlyCompletedCount","hourlyRevenue","monthlyRevenue","startDateLocal","startDateUtc","endDateUtc","isRecurrent","upcomingReservations","pastReservations","VenueGroupReservationViewModel","startTimeLocal","isExpiring","isSelected","VenueGroupBulkData","originationScenario","selectedVenueIds","nameSynonymsString","pricingRateMonthlyId","financeNotes","priceMerchandising","integration","enterpriseOnlyVisibility","conciergeAssistedBookings","importListingTemplate","importNotificationEmails","forceGrantWithNoApproval","importEnabled","lsPartnerSuccess","skipAutoExpiration","neighborhoods","NeighborhoodViewModel","checked","groupId","qualifyVisas","eligibleVisas","venueGroupStatements","VenueGroupVenuesStatementViewModel","monthlyReservationCount","hourlyReservationCount","rentPaid","monthlyIncidentals","hourlyIncedentals","totalPaidToVenueHourly","totalPaidToVenueMonthly","salesPriceLocalCurrency","rentPaidLocalCurrency","monthlyIncidentalsLocalCurrency","hourlyIncedentalsLocalCurrency","totalPaidToVenueHourlyLocalCurrency","totalPaidToVenueMonthlyLocalCurrency","localCurrency","isMonthlyGenerated","venueStatus","visaName","AddVisaRequest","visaKind","visaOrMemberGroupId","reservationMethods","visaState","allowReservationsWhileVisaPending","hidePrice","isRequestToBook","isPotentialVisa","isVenueAdmin","isCalendarAdmin","VenuePermissionsRequest","freeFormAnswer","timeZone","workspaceIds","venueMapImageUrl","ZoneInfo","windowsId","territory","tzdbIds","hqPinImage","VenueCustomCTAViewModel","multipleDeskBookingAllowed","pricesFormatted","minimumBookingTerm","prices","hasRegusIntegration","PriceDisplayModel","priceDuration","priceAmountDecimal","priceAdditionalDescription","delimiter","amountBeforeDiscount","amountBeforeDiscountFormatted","discountDescription","discountCode","workspace","timeChunkStates","time","unavailabilityReason","isAvailable","nextAvailableDate","CheckAvailabilityRequest","isAuthenticated","isSuperUser","isSystemAdmin","isMemberGroupAdmin","isOrganizationAdmin","isSalesRep","isAffiliate","isEnterpriseAccountAdmin","encryptedEmail","manageVenueMode","isVenueAdminMode","memberType","hasCompletedPortalGuide","userInfoEnterpriseAccountViewModel","UserInfoEnterpriseAccountViewModel","accountName","moreVenuesTotalMessagesCount","upcomingReservationsCount","newMessagesForVenues","SavedSearchRequest","metadata","BaseSearchRequest","SavedSearchRequestMetadata","CommonSearchRequest","amenityIds","GeoSearchRequest","CurrentLocationSearchRequest","FullTextSearchRequest","VenueSearchRequest","VenueGroupSearchRequest","LocationSearchRequest","fullTextQuery","radius","prdefinedText","VenueSearchAutocomplete","CollectionSearchAutocomplete","SavedSearchRequestAutocomplete","VenueGroupSearchAutocomplete","geoQuery","isPreferred","collectionName","favoritesCount","predefinedText","venueGroupName","iconUrl","venuesCount","geoLocation","VenuesSearchResultGeoLocation","geofences","approvedMemberGroups","ExtendedSearchOptionsConfigModel","SearchGeofence","ApprovedMemberGroup","AmenityModel","radiusMeters","SearchGeofenceCustomCTA","isImmutable","displayPreferred","InviteGuestsViewModel","sendInvites","meetingTitle","securityCode","guests","Guest","ReservationPagerRequest","reservationTimeType","reservationsOwnerId","reservationEndTimeFilter","reservationStartTimeFilter","EditReservationRequest","terminateWhenTotalPriceMismatch","reservationSourcePage","ReservationRequest","campaignTrackingDetails","ReservationOrganizer","HourlyReservationRequest","DaypassReservationRequest","MonthlyReservationRequest","AnonymousReservationOrganizer","AuthenticatedReservationOrganizer","details","authorFullName","urgency","redemptionsCount","expirationDate","promotionPageLink","legalDescription","searchDescription","discountType","discountAmount","isPaidByLiquidspace","maximumSavings","reservationWindowStartTime","reservationWindowEndTime","couponCookieExpiration","maxNumberRedemptionsTotal","maxNumberRedemptionsPerUser","firstTimeUserOnly","nonOriginatedVenueOnly","firstTimeVisitNonOriginatedVenue","creditCardOnly","creditCardTypes","memberInvitedOnly","daysValidAfterMemberCreation","mobileOnly","membershipPromotionType","additionalInfoRequired","additionalInfoPlaceholderText","workspaceScenarioIds","redemptionId","redemptionDate","userGuid","chain","MessageViewModel","read","omitStripSensitiveData","messageSource","searchRequestId","hasProposal","isModerated","ownerFirstName","ownerImage","isOwn","displayVenueLink","hasHiddenText","isSpaceExpert","score","cbvScore","MessageAttachmentViewModel","contentType","previewUrl","memberPhoneNumber","memberCompany","memberEnterpriseAccountName","messageStatus","additionalStatus","isArchived","messageRules","isVenueMode","senderId","senderName","senderFirstName","senderImage","senderDeleted","senderIsSpaceExpert","venueToday","monthlyVisaId","xppUrl","workspaceLandingPageUrl","isPeriodWorkspace","isRequestToBookWorkspace","isWorkspaceInquire","monthlyMemberVisaState","tour","visaRequest","savedSearchDashboardViewModel","proposalWorkspace","lastMessageDate","lastMessageDateVTZ","readyToBookStep","showProposalActions","requestToBookUrl","scheduleTourUrl","activeVenueTourId","hasMemberEngagedWithVenue","TourViewModel","VisaRequestViewModel","SavedSearchDashboardViewModel","ProposalWorkspaceViewModel","WorkspaceOptionViewModel","Tour","tourStatus","messengerChainId","userInteractionStateWorkflowId","tourCancelReason","tourPostCompleteStatus","plannedDesksCountToBook","dateTimeUtc","workspaceImage","timeZoneAbbreviation","venueMapUrl","bookItUrl","dateTimeVenueTime","minDate","memberFirstName","workspaceStatus","bookingStartDate","memberFirstNameInitial","memberLastName","memberPictureUrl","spaceTypeWithCapacity","startDateString","stringRepresentation","isDeskSearch","messageDateString","createdDateRelative","listingsViewed","ownedListingsViewed","lastSearchTag","isRFP","rfpCompany","specialRequests","neighborhoodIds","zipcodes","SavedSearchListingInfo","scenario","workspaceType","priceDisplay","wlpUrl","desksAvailabilityStatusForProposals","isMultipleDeskBookingAllowedForWorkspace","depositMode","monthlyPrice","proposalStatus","proposalCreated","MessengerBaseViewModel","ownerDisplay","messageChains","messageTargets","messageTargetsCount","unrespondedMessagesCount","selectedChainId","composeTargetId","composeTargetName","composeTargetVenueId","composeSubject","composeBody","isAdmin","canFollow","hasSavedSearch","shareProfileLink","preferedSearchUrl","messagesFilter","isHourlyOnlyVenue","showVenueResponseRate","hasMessageChains","pendingVisaRequestCount","unconfirmedToursCount","avgLeadResponseMinutes","avgLeadResponseRate","leadRequestTotal","responsivenessDisplayAfterAmount","messengerAction","MessageTargetViewModel","MessagesFilter","imageDefaults","displayName","displayLink","reasonHtml","ctaText","phoneContact","emailContact","website","twitterHandler","bookingDelegates","userType","enableLiquidSpaceDesks","enableLiquidSpacePro","memberGroupType","defaultCollectionIds","suppressPromotionalEmails","suppressInviteEmails","requireApprovalBeforeFollow","requirePrivateCalendarVisibility","defaultPromotionId","promotions","brandedLogo","crosssiteBrandingType","disableRecurringReservations","headerMenuOptionsVisibility","leadTrackingMemberGroupId","customCss","brandedEmailLogo","MemberGroupPromotionViewModel","discountTypeString","isEnterpriseAccountDeleted","paymentTerm","invoiceStatus","targetBalance","debit","nextInvoiceDate","parentId","amountInfo","isCredit","transaction","invoiceNumber","sendDate","dueDate","invoiceUrl","autoGenerated","MarketplaceInvoiceItem","AddMarketplaceInvoiceRequest","icon","vlpUrl","userIsCalendarAdmin","userIsAdminOrOwner","enableWorkspaceAnalytics","hasVenueReservations","isSettingsDisabled","isReferralDisabled","liquidSpaceProStatus","venueBasicListingCompleted","workspaceBasicListingCompleted","integrationOption","hasIntegration","hasDeskimoIntegration","isOnlinePaymentSupported","isInternational","availableWorkspaceStatuses","licenseVersion","WorkspaceBrief","IntegrationOptionRequest","isOtherOption","supportArticleLink","venueHostGuid","streetViewParameters","percentageTax","fixedAmountTax","taxApplyType","applyTaxToIncidentals","billingContact","hours","statusNew","timeZoneId","enableElectronicSignatures","seoTitle","seoDescription","inSetupDate","launchedDate","publishedDate","claimSentDate","claimSentFollowupDate","retiredDate","professionalPhotoRank","professionalPhotoDate","venueNameSynonymsString","vlpUrlSlug","enableHostReferral","proposalCreditsTotalAmount","enableMembership","enableLeadXMLAttachments","leadDadiAccountID","externalPropertyId","gCalEndpoint","exchangeUserName","exchangeUserPass","exchangeAddress","exchangeEndpoint","ownerIdForExchangeSourcedReservations","morningStarURL","morningStarIntegrationUser","morningStarIntegrationPassword","morningStarClientId","morningStarLocationId","morningStarVisaId","morningStarDontSendInvitationEmail","rjMetisVenueId","rjMetisReservationsOwnerId","rjMetisVisaId","rjMetisSyncTenants","evoApiConnectionId","ownerIdForIOSourcedReservations","ioCenterId","evoClientId","enableMemberClientId","officeRnDOrganizationId","officeRnDOfficeId","officeRnDWebhookSecret","ownerIdForOfficeRnDSourcedReservations","officeRnDTeamForLiquidspaceSourcedReservations","officeRnDOwnerForLiquidspaceSourcedReservations","ownerIdForMSGraphSourcedReservations","msGraphId","msGraphEmail","deskimoMarketCode","deskimoPropertyReference","ownerIdForDeskimoSourcedReservations","venueHasExchangeIntegration","claimProfileLink","customLicensePdfTemplate","StreetViewModel","BillingContactModel","HoursViewModel","VenueAmenitiesModel","displayStreetView","pointOfView","zoom","PositionModel","PointOfViewModel","heading","pitch","phone","addresLine1","addresLine2","contactType","payeeName","sameAddressAsVenue","billingMethod","accountType","routingNumber","bankAccount","payPalEmailAddress","bankAndBranchNumber","taxId","allHolidays","forDayOfWeek","forHolidays","HolidayViewModel","HooRuleForDayOfWeekViewModel","HooRuleForHolidayViewModel","dates","dayOfWeek","offsetToOpening","offsetToClosing","holidayId","customGreeting","entry","parking","wiFi","VenueParkingAmenityModel","VenueWiFiAmenityModel","instructions","parkingType","networkName","hasPricingRateHourly","hasPricingRateMonthly","ratePercent","pricingRateName","urlWithoutHost","proposals","permalinkNormalized","percentValues","percent","sectionHasValues","sectionText","sectionDescription","completed","currentVenueScore","previousVenueScore","venueAdmins","VenueScoreModel","VenueAdminPropertiesModel","freshness","responsiveness","conversion","eventType","createdVenueTime","hooId","day","people","HooRuleFlexBaseViewModel","selectedWorkspaces","selectedVisas","showDescription","daysOfWeek","hooModeSelected","dateRangeStart","dateRangeEnd","openCloseModeSelected","openClosePairs","splitHoursSelected","SelectedDaysOfWeek","OpenClosePair","minNotice","maxNotice","isPeriodRule","advanceNoticeTypeSelected","advanceNotice","unavailableAfter","user","ExchangeWorkspaceModel","venueWorkspaces","OfficeRnDWorkspaceSyncModel","WorkspaceSelectListItem","officeRnDResourceId","officeRnDResourceName","OfficeRnDWorkspacesSyncSubmitModel","OfficeRnDWorkspaceSyncSubmitModel","leadDate","leadDateString","leadDateMoreThanWeekAgo","currentState","memberIsDeleted","memberEnterpriseAccountId","memberImageUrl","tourId","hasVenueRespondedToMessage","monthlyVisaState","rcpUrl","dealProposalDetailsUrl","isUpdatedMoreThanYearAgo","isDeleted","isEnterpriseAccountLead","dashboardLeadStatus","statusText","fields","CheckResultField","isModelField","isTemplateField","agreedToShareContactInfo","currentMemberVisaStateId","availableVisas","denyVisaReason","memberPackage","venueApprovalRequiredVisaIds","confirmRelation","originatingFrom","unableToProcess","redirectToCalendar","freshnessDaysSinceLastUpdate","freshnessWorkspacesCount","responseRatePercent","conversionRatePercent","conversionRateAveragePercent","workflowsTotal","venueScoreCurrent","venueScoreAverage","venueScoreDelta","hide","hourly","monthly","VenueStatementSummaryDetails","totalToVenue","incidentals","isGenerated","defaultMemberOriginationScenario","requiresMemberDataApproval","earlyCheckInMinutesPermitted","needGrantedVisaBeforeMemberCanBook","hasReservation","hasTour","hasRequestToBook","hasIncompleteFields","isDesk","WorkspaceHourlyModel","WorkspacePeriodModel","integrationExemption","minimumTermMonths","nextAvailableDateVenueTime","availableDesksCount","displayAnnouncement","spacesTabLink","hasPublicMonthlySpaces","hasPublicHourlySpaces","liquidSpaceSupportEmail","reference","centers","EvoConnectionModel","EvoCenterModel","MorningStarSettingsModel","slug","connectionTypes","webhookUrl","partnerIntegrationSettings","OfficeRnDOrganizationPartnerIntegrationDetailsModel","appClientId","accessToken","refreshToken","timestamp","expiresIn","secret","contactFullName","contactPhoneNumber","zendeskTicketId","OfficeRnDOrganizationEditModel","partnerIntegrationContactFullName","partnerIntegrationContactEmail","partnerIntegrationContactPhoneNumber","OfficeRnDOrganizationPartnerIntegrationContactEditModel","declaringTypeName","DiagnosticsConsoleMethodParameter","typeName","notBeforeTicks","ticks","taskName","placement","useReportEndpoint","reportOnly","formattedHeaderValue","timestablUtc","readonlyProperties","writableProperties","interfaces","SendTestEmailModel","recipient","isPaused","pooledEvents","deletedActivityCount","upsertedActivityCount","lastProcessed","lastErrorCount","eventTickCount","deploymentId","roleInstance","level","pid","tid","messageType","exception","lastActivity","machineType","syncMode","quarantineMessage","QuarantineMessage","retryCount","envelopeBodyId","queueName","compressed","longDescription","EditableInternationalConfigurationModel","merchantAccountId","allowCreditCardPayments","onDemandServiceChargeEnabled","onDemandServiceChargePercentage","hourlySpaceVisibility","monthlySpaceVisibility","allowSearching","allowNewListings","allowVenueBilledPayments","allowACHPayments","ApiException","isApiException","withoutLeftRightPaddings","RBS_ModalBody","lightWordsCount","cssModule","closeBtn","ModalCloseButton","RBS_ModalHeader","close","splitWords","words","onlyText","split","slice","join","ETag","Symbol","onError","defaultUrl","LiquidSpaceConfig","LSWebUICoreURL","processor","etag","defineProperty","enumerable","ex","handleApiException","redirectURL","pathname","responseContentType","indexOf","LSCommon","Models","BlockedUserMessageType","Blocked","Locked","URL","credentials","btnClasses","Icons","DesignContextProvider"],"sourceRoot":""}