{"version":3,"file":"8669.470b24c121deb7f579e9.js","mappings":"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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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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 setScimDataFromLS(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: \"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.processSetScimDataFromLS(_response));\r\n });\r\n }\r\n\r\n protected processSetScimDataFromLS(response: Response): Promise {\r\n const status = response.status;\r\n 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 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 search(urlPrefix: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl/search?\";\r\n if (urlPrefix === null)\r\n throw new Error(\"The parameter 'urlPrefix' cannot be null.\");\r\n else if (urlPrefix !== undefined)\r\n url_ += \"urlPrefix=\" + encodeURIComponent(\"\" + urlPrefix) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearch(_response));\r\n });\r\n }\r\n\r\n protected processSearch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n 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 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 delete(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: \"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 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\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 created!: string;\r\n validTo!: string;\r\n type!: ShortUrlType;\r\n tags!: 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 this.created = _data[\"created\"];\r\n this.validTo = _data[\"validTo\"];\r\n this.type = _data[\"type\"];\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 }\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 data[\"created\"] = this.created;\r\n data[\"validTo\"] = this.validTo;\r\n data[\"type\"] = this.type;\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 return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlViewModel {\r\n id: string;\r\n url: string;\r\n created: string;\r\n validTo: string;\r\n type: ShortUrlType;\r\n tags: string[];\r\n}\r\n\r\n/** 0 = Unknown 1 = Temp 2 = Unexpiring */\r\nexport enum ShortUrlType {\r\n Unknown = 0,\r\n Temp = 1,\r\n Unexpiring = 2,\r\n}\r\n\r\nexport class DiagnosticsShortUrlCreateModel implements IDiagnosticsShortUrlCreateModel {\r\n url!: string;\r\n id!: string | undefined;\r\n type!: ShortUrlType;\r\n tags!: 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 this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\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 }\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 data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\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 return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlCreateModel {\r\n url: string;\r\n id: string | undefined;\r\n type: ShortUrlType;\r\n tags: 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","ShortUrlType","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","setScimDataFromLS","processSetScimDataFromLS","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","DiagnosticsShortUrlClient","search","urlPrefix","processSearch","DiagnosticsShortUrlViewModel","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","validTo","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":""}