{"version":3,"file":"8669.efdc37a3ff497e566044.js","mappings":"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ACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA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K,IAAI+nC,KAAY/nC,EACbA,EAAKwE,eAAeujC,IAAa7/C,KAAKsc,eAAeujC,KAC/C7/C,KAAM6/C,GAAkB/nC,EAAM+nC,GAIpD,CAEAC,IAAAA,CAAKC,GACGA,IACA//C,KAAKyD,KAAOs8C,EAAY,KACxB//C,KAAKgmF,cAAgBjmC,EAAqB,cAC1C//C,KAAKimF,mBAAqBlmC,EAA0B,mBAE5D,CAEA,aAAOnsC,CAAOkE,GACVA,EAAuB,iBAATA,EAAoBA,EAAO,CAAC,EAC1C,IAAIkoC,EAAS,IAAI+lC,GAEjB,OADA/lC,EAAOF,KAAKhoC,GACLkoC,CACX,CAEA//C,MAAAA,CAAO6X,GAKH,OAJAA,EAAuB,iBAATA,EAAoBA,EAAO,CAAC,GAC/B,KAAI9X,KAAKyD,KACpBqU,EAAoB,cAAI9X,KAAKgmF,cAC7BluE,EAAyB,mBAAI9X,KAAKimF,mBAC3BnuE,CACX,EASG,MAAMo4B,GACTnqC,GACAo9C,SACA3B,YACAJ,YACAoU,eACAC,eACApkB,KACAqkB,IACAtkB,MACAD,QACAqT,SACAC,UACAyhC,cACAC,qBACAC,cACAC,eACAC,aACAC,sBACAC,eACAC,MACAC,UACAphC,qBACAC,2BACAohC,WACAd,eACAe,2BACAC,SACAC,eACAC,YACAC,aACAC,cACAC,cACAC,sBACAC,YACAC,sBACAC,sBACA16B,OACAkI,eACAoP,KACAhc,SACAq/B,wBACAC,WACAtpE,UACAupE,mBACAt3B,cACAu3B,2BACA3C,yBACAI,qBACAwC,iBACAC,yBACAC,kBACAC,mBACAC,aACAC,iBACAC,iBACAC,gBACAC,iBACAC,sCACAC,eACAC,2BACAC,+BACAC,oBACAC,sBACAC,kBACAC,mCACAC,eACAC,2BACAC,cACAC,mBACAC,mBACAC,gCACAC,WACAC,YACAC,qBACAC,wBACAC,kBACAC,uBACAC,uCACAC,+CACAC,gDACAC,qCACAC,UACAC,aACAC,kBACAC,yBACAC,qCACAzE,eACA0E,4BACApf,YACAlrC,UACA2Q,WACA+B,QACA63C,iBACA5E,kBACAV,OACAuF,yBAEArqF,WA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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 memberImportTemplate(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/members/importTemplate\";\r\n if (accountId === 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.processMemberImportTemplate(_response));\r\n });\r\n }\r\n\r\n protected processMemberImportTemplate(response: Response): Promise {\r\n const status = response.status;\r\n 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 getImportResults(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.processGetImportResults(_response));\r\n });\r\n }\r\n\r\n protected processGetImportResults(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return 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 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 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 | undefined, accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal?\";\r\n if (accountId === 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: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMember(_response));\r\n });\r\n }\r\n\r\n protected processGetMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n banner(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/banner\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBanner(_response));\r\n });\r\n }\r\n\r\n protected processBanner(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BrandedBannerViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMessengerTargets(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/messengertargets\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMessengerTargets(_response));\r\n });\r\n }\r\n\r\n protected processGetMessengerTargets(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MessageTargetAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n completePortalGuide(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/completePortalGuide\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCompletePortalGuide(_response));\r\n });\r\n }\r\n\r\n protected processCompletePortalGuide(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subscribeOnEmail(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/subscribeOnEmail?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSubscribeOnEmail(_response));\r\n });\r\n }\r\n\r\n protected processSubscribeOnEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unsubscribeOnEmail(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/unsubscribeOnEmail?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnsubscribeOnEmail(_response));\r\n });\r\n }\r\n\r\n protected processUnsubscribeOnEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getColleaguesNearBy(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/members/nearby\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetColleaguesNearBy(_response));\r\n });\r\n }\r\n\r\n protected processGetColleaguesNearBy(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationMemberViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getActivities(accountId: string, selectedDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/activities?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (selectedDate !== undefined && selectedDate !== null)\r\n url_ += \"selectedDate=\" + encodeURIComponent(\"\" + selectedDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetActivities(_response));\r\n });\r\n }\r\n\r\n protected processGetActivities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DayActivityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SingleSignOnClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SSOSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n federationMetadata(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn/FederationMetadata\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processFederationMetadata(_response));\r\n });\r\n }\r\n\r\n protected processFederationMetadata(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TeamClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get team information\r\n */\r\n get(teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(teamId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(model: TeamAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List members assigned to the team\r\n * @param teamId Team ID\r\n * @param take (optional) Optional number of entried to return\r\n * @return List of members. Response length can be limited to return only first take members, ordered by ID\r\n */\r\n members(teamId: string, take: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (take !== undefined && take !== null)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMembers(_response));\r\n });\r\n }\r\n\r\n protected processMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberInfoViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Create and invite member to team\r\n * @param teamId Team ID\r\n * @param suppressInviteEmail (optional) true to supress sending invitation email\r\n * @param model Member model\r\n */\r\n addMember(teamId: string, suppressInviteEmail: boolean | undefined, model: TeamMemberAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (suppressInviteEmail === null)\r\n throw new Error(\"The parameter 'suppressInviteEmail' cannot be null.\");\r\n else if (suppressInviteEmail !== undefined)\r\n url_ += \"suppressInviteEmail=\" + encodeURIComponent(\"\" + suppressInviteEmail) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddMember(_response));\r\n });\r\n }\r\n\r\n protected processAddMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteMember(teamId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/{memberId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteMember(_response));\r\n });\r\n }\r\n\r\n protected processDeleteMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setMemberSuspended(teamId: string, memberId: string, isSuspended: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/{memberId}/suspended?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isSuspended === null)\r\n throw new Error(\"The parameter 'isSuspended' cannot be null.\");\r\n else if (isSuspended !== undefined)\r\n url_ += \"isSuspended=\" + encodeURIComponent(\"\" + isSuspended) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetMemberSuspended(_response));\r\n });\r\n }\r\n\r\n protected processSetMemberSuspended(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addMembers(teamId: string, model: TeamMembersAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/import\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddMembers(_response));\r\n });\r\n }\r\n\r\n protected processAddMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendInvites(teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/reinvite-all\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendInvites(_response));\r\n });\r\n }\r\n\r\n protected processResendInvites(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TeamReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n generate(accountId: string, teamId: string, fileFormat: DownloadFileFormat | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (fileFormat === null)\r\n throw new Error(\"The parameter 'fileFormat' cannot be null.\");\r\n else if (fileFormat !== undefined)\r\n url_ += \"fileFormat=\" + encodeURIComponent(\"\" + fileFormat) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerate(_response));\r\n });\r\n }\r\n\r\n protected processGenerate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(accountId: string, teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationReportStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(accountId: string, teamId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, teamId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class GeocoderClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n geocode(requestModel: GeocodeRequestModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/geocode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGeocode(_response));\r\n });\r\n }\r\n\r\n protected processGeocode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPlacePredictions(requestModel: PlacePredictionsRequestViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/getplacepredictions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPlacePredictions(_response));\r\n });\r\n }\r\n\r\n protected processGetPlacePredictions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PlacePredictionViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPlaceDetails(placeId: string, sessionToken: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/place/{placeId}?\";\r\n if (placeId === undefined || placeId === null)\r\n throw new Error(\"The parameter 'placeId' must be defined.\");\r\n url_ = url_.replace(\"{placeId}\", encodeURIComponent(\"\" + placeId));\r\n if (sessionToken !== undefined && sessionToken !== null)\r\n url_ += \"sessionToken=\" + encodeURIComponent(\"\" + sessionToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPlaceDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetPlaceDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class HourlyRequestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n accept(requestId: string, model: AcceptRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/accept\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAccept(_response));\r\n });\r\n }\r\n\r\n protected processAccept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n decline(requestId: string, model: DeclineRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/decline\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecline(_response));\r\n });\r\n }\r\n\r\n protected processDecline(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pause(requestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/pause\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPause(_response));\r\n });\r\n }\r\n\r\n protected processPause(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hourlyRequestReservationDetails(requestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyRequestReservationDetails(_response));\r\n });\r\n }\r\n\r\n protected processHourlyRequestReservationDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReservationRequestDetailsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class InternationalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n countries(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/countries\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCountries(_response));\r\n });\r\n }\r\n\r\n protected processCountries(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMerchantAccounts(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/merchantaccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMerchantAccounts(_response));\r\n });\r\n }\r\n\r\n protected processGetMerchantAccounts(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MerchantAccountModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class LocationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n currentCountry(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/location/current/country\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCurrentCountry(_response));\r\n });\r\n }\r\n\r\n protected processCurrentCountry(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MarketplaceCustomerProfilesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getCustomerProfile(payableType: PayableType, payableId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace/{payableType}/{payableId}/customer-profiles\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCustomerProfile(_response));\r\n });\r\n }\r\n\r\n protected processGetCustomerProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MarketplaceCustomerProfileModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createPaymentProfile(payableType: PayableType, payableId: string, request: MarketplacePaymentProfileCreateRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace/{payableType}/{payableId}/customer-profiles/payment-profiles\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreatePaymentProfile(_response));\r\n });\r\n }\r\n\r\n protected processCreatePaymentProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MembersClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(emailFilter: string | null | undefined, firstNameFilter: string | null | undefined, lastNameFilter: string | null | undefined, lastReadEmail: string | null | undefined, take: number | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members?\";\r\n if (emailFilter !== undefined && emailFilter !== null)\r\n url_ += \"emailFilter=\" + encodeURIComponent(\"\" + emailFilter) + \"&\";\r\n if (firstNameFilter !== undefined && firstNameFilter !== null)\r\n url_ += \"firstNameFilter=\" + encodeURIComponent(\"\" + firstNameFilter) + \"&\";\r\n if (lastNameFilter !== undefined && lastNameFilter !== null)\r\n url_ += \"lastNameFilter=\" + encodeURIComponent(\"\" + lastNameFilter) + \"&\";\r\n if (lastReadEmail !== undefined && lastReadEmail !== null)\r\n url_ += \"lastReadEmail=\" + encodeURIComponent(\"\" + lastReadEmail) + \"&\";\r\n if (take === null)\r\n throw new Error(\"The parameter 'take' cannot be null.\");\r\n else if (take !== undefined)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(memberId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/memberId?\";\r\n if (memberId === null)\r\n throw new Error(\"The parameter 'memberId' cannot be null.\");\r\n else if (memberId !== undefined)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searchEmail(term: string | undefined, takeCount: number | undefined, roles: MemberRole[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/search?\";\r\n if (term === null)\r\n throw new Error(\"The parameter 'term' cannot be null.\");\r\n else if (term !== undefined)\r\n url_ += \"term=\" + encodeURIComponent(\"\" + term) + \"&\";\r\n if (takeCount === null)\r\n throw new Error(\"The parameter 'takeCount' cannot be null.\");\r\n else if (takeCount !== undefined)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n if (roles !== undefined && roles !== null)\r\n roles && roles.forEach(item => { url_ += \"roles=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchEmail(_response));\r\n });\r\n }\r\n\r\n protected processSearchEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searchOrganizerListAutocomplete(venueId: string | undefined, workspaceId: string | undefined, ownerId: string | null | undefined, searchPart: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/organizer-list/autocomlete?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n if (searchPart !== undefined && searchPart !== null)\r\n url_ += \"searchPart=\" + encodeURIComponent(\"\" + searchPart) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchOrganizerListAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processSearchOrganizerListAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganizerViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n connections(ownerId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/connections?\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConnections(_response));\r\n });\r\n }\r\n\r\n protected processConnections(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganizerViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPicture(memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/{memberId}/picture\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPicture(_response));\r\n });\r\n }\r\n\r\n protected processGetPicture(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMemberProfile(memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/{memberId}/member-profile\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMemberProfile(_response));\r\n });\r\n }\r\n\r\n protected processGetMemberProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberProfileViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isEnterpriseAccountMember(email: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/is-enterprise-member?\";\r\n if (email === null)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else if (email !== undefined)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsEnterpriseAccountMember(_response));\r\n });\r\n }\r\n\r\n protected processIsEnterpriseAccountMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPictures(memberIdsRequest: string[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/pictures\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(memberIdsRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPictures(_response));\r\n });\r\n }\r\n\r\n protected processGetPictures(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberPicture.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PaymentMethodClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n paymentMethods(payableType: PayableType, payableId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/{payableType}/{payableId}\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPaymentMethods(_response));\r\n });\r\n }\r\n\r\n protected processPaymentMethods(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodListViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateDescription(request: UpdatePaymentMethodDescriptionRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/updatedescription\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateDescription(_response));\r\n });\r\n }\r\n\r\n protected processUpdateDescription(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createCreditCard(request: CreditCardRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/credit-card\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateCreditCard(_response));\r\n });\r\n }\r\n\r\n protected processCreateCreditCard(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exchangePlaidToken(request: ExchangePlaidTokenRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/exchangeplaidtoken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExchangePlaidToken(_response));\r\n });\r\n }\r\n\r\n protected processExchangePlaidToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createLinkToken(request: CreatePlaidLinkTokenRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/create-link-token\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateLinkToken(_response));\r\n });\r\n }\r\n\r\n protected processCreateLinkToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePaymentMethod(request: PaymentMethodRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePaymentMethod(_response));\r\n });\r\n }\r\n\r\n protected processDeletePaymentMethod(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n makeDefault(request: PaymentMethodRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/makedefault\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMakeDefault(_response));\r\n });\r\n }\r\n\r\n protected processMakeDefault(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n stateCodes(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/statecodes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStateCodes(_response));\r\n });\r\n }\r\n\r\n protected processStateCodes(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CountryStateCodesRepsonse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n supportedCurrencies(signal?: AbortSignal): Promise<{ [key: string]: CurrencyType; }> {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/SupportedCurrencies\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSupportedCurrencies(_response));\r\n });\r\n }\r\n\r\n protected processSupportedCurrencies(response: Response): Promise<{ [key: string]: CurrencyType; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: CurrencyType; }>(null as any);\r\n }\r\n}\r\n\r\nexport class ProposalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n create(venueId: string | undefined, workspaceId: string | undefined, savedSearchId: string | undefined, savedSearchMemberId: string | undefined, message: string | undefined, validatedMessage: string | undefined, chainId: string | null | undefined, attachments: FileParameter[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Proposal/Create?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (savedSearchId === null)\r\n throw new Error(\"The parameter 'savedSearchId' cannot be null.\");\r\n else if (savedSearchId !== undefined)\r\n url_ += \"savedSearchId=\" + encodeURIComponent(\"\" + savedSearchId) + \"&\";\r\n if (savedSearchMemberId === null)\r\n throw new Error(\"The parameter 'savedSearchMemberId' cannot be null.\");\r\n else if (savedSearchMemberId !== undefined)\r\n url_ += \"savedSearchMemberId=\" + encodeURIComponent(\"\" + savedSearchMemberId) + \"&\";\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n if (validatedMessage === null)\r\n throw new Error(\"The parameter 'validatedMessage' cannot be null.\");\r\n else if (validatedMessage !== undefined)\r\n url_ += \"validatedMessage=\" + encodeURIComponent(\"\" + validatedMessage) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (attachments !== null && attachments !== undefined)\r\n attachments.forEach(item_ => content_.append(\"attachments\", item_.data, item_.fileName ? item_.fileName : \"attachments\") );\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n decline(proposalId: string | undefined, memberId: string | null | undefined, message: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Proposal/Decline?\";\r\n if (proposalId === null)\r\n throw new Error(\"The parameter 'proposalId' cannot be null.\");\r\n else if (proposalId !== undefined)\r\n url_ += \"proposalId=\" + encodeURIComponent(\"\" + proposalId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecline(_response));\r\n });\r\n }\r\n\r\n protected processDecline(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RatingClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(workspaceId: string, take: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/list/{workspaceId}?\";\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (take !== undefined && take !== null)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RatingViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n average(venueId: string, workspaceId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/average/{venueId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAverage(_response));\r\n });\r\n }\r\n\r\n protected processAverage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AverageRatingModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ownByReservationId(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/own/reservation/{reservationId}\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOwnByReservationId(_response));\r\n });\r\n }\r\n\r\n protected processOwnByReservationId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RatingViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(ratingViewModel: RatingUpsertModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(ratingViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ResponseWrapper.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n hourlyReservations(start: string | undefined, end: string | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/reservations/hourly?\";\r\n if (start === null)\r\n throw new Error(\"The parameter 'start' cannot be null.\");\r\n else if (start !== undefined)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end === null)\r\n throw new Error(\"The parameter 'end' cannot be null.\");\r\n else if (end !== undefined)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyReservations(_response));\r\n });\r\n }\r\n\r\n protected processHourlyReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservation.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TourClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n guestNoShow(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/GuestNoShow\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGuestNoShow(_response));\r\n });\r\n }\r\n\r\n protected processGuestNoShow(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n cancel(id: string, reason: TourCancelReason | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/Cancel?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (reason === null)\r\n throw new Error(\"The parameter 'reason' cannot be null.\");\r\n else if (reason !== undefined)\r\n url_ += \"reason=\" + encodeURIComponent(\"\" + reason) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCancel(_response));\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isFirstConfirmedTourInVenue(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/IsFirstConfirmedTourInVenue\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsFirstConfirmedTourInVenue(_response));\r\n });\r\n }\r\n\r\n protected processIsFirstConfirmedTourInVenue(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n confirm(id: string, message: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/Confirm?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (message !== undefined && message !== null)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConfirm(_response));\r\n });\r\n }\r\n\r\n protected processConfirm(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n \r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(id: string, date: string | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (date === null)\r\n throw new Error(\"The parameter 'date' cannot be null.\");\r\n else if (date !== undefined)\r\n url_ += \"date=\" + encodeURIComponent(\"\" + date) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdate(_response));\r\n });\r\n }\r\n\r\n protected processUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n \r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suggest(request: SuggestTourViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSuggest(_response));\r\n });\r\n }\r\n\r\n protected processSuggest(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupExportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ExportVenueGroupStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueGroupId: string, exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status/{exportId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ExportVenueGroupStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status/{exportId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupExportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n export(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExport(_response));\r\n });\r\n }\r\n\r\n protected processExport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupImportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n import(venueGroupId: string, model: VenueGroupImportViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processImport(_response));\r\n });\r\n }\r\n\r\n protected processImport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupImportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ImportVenueGroupStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportVenueGroupStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetails(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}/details\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportVenueGroupStatusDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupAdminsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAdminModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(venueGroupId: string, pregeneratedPictureId: string | undefined, model: VenueAdminModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pregeneratedPictureId === null)\r\n throw new Error(\"The parameter 'pregeneratedPictureId' cannot be null.\");\r\n else if (pregeneratedPictureId !== undefined)\r\n url_ += \"pregeneratedPictureId=\" + encodeURIComponent(\"\" + pregeneratedPictureId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(venueGroupId: string, memberId: string, isPasswordChanging: boolean | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins/{memberId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isPasswordChanging === null)\r\n throw new Error(\"The parameter 'isPasswordChanging' cannot be null.\");\r\n else if (isPasswordChanging !== undefined)\r\n url_ += \"isPasswordChanging=\" + encodeURIComponent(\"\" + isPasswordChanging) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins/{memberId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupPricingRatesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getPricingRate(venueGroupId: string, pricingRateId: string, isMonthly: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates/{pricingRateId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pricingRateId === undefined || pricingRateId === null)\r\n throw new Error(\"The parameter 'pricingRateId' must be defined.\");\r\n url_ = url_.replace(\"{pricingRateId}\", encodeURIComponent(\"\" + pricingRateId));\r\n if (isMonthly === null)\r\n throw new Error(\"The parameter 'isMonthly' cannot be null.\");\r\n else if (isMonthly !== undefined)\r\n url_ += \"isMonthly=\" + encodeURIComponent(\"\" + isMonthly) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPricingRate(_response));\r\n });\r\n }\r\n\r\n protected processGetPricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PricingRateViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePricingRate(venueGroupId: string, pricingRateId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates/{pricingRateId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pricingRateId === undefined || pricingRateId === null)\r\n throw new Error(\"The parameter 'pricingRateId' must be defined.\");\r\n url_ = url_.replace(\"{pricingRateId}\", encodeURIComponent(\"\" + pricingRateId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePricingRate(_response));\r\n });\r\n }\r\n\r\n protected processDeletePricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addOrEditPricingRate(venueGroupId: string, pricingRateViewModel: PricingRateViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pricingRateViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddOrEditPricingRate(_response));\r\n });\r\n }\r\n\r\n protected processAddOrEditPricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PricingRateViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupReportsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n reports(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReports(_response));\r\n });\r\n }\r\n\r\n protected processReports(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupReportsViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n monthlyLeadsReport(venueGroupId: string, model: VenueGroupMonthlyLeadsReportParamsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/monthly-leads\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMonthlyLeadsReport(_response));\r\n });\r\n }\r\n\r\n protected processMonthlyLeadsReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pdfReport(venueGroupId: string, onDate: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/pdf?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (onDate === null)\r\n throw new Error(\"The parameter 'onDate' cannot be null.\");\r\n else if (onDate !== undefined)\r\n url_ += \"onDate=\" + encodeURIComponent(\"\" + onDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPdfReport(_response));\r\n });\r\n }\r\n\r\n protected processPdfReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteReport(reportId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/{reportId}\";\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteReport(_response));\r\n });\r\n }\r\n\r\n protected processDeleteReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n downloadReport(reportId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/{reportId}/download\";\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadReport(_response));\r\n });\r\n }\r\n\r\n protected processDownloadReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupReservationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getDataTiles(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/statistics\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDataTiles(_response));\r\n });\r\n }\r\n\r\n protected processGetDataTiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataTilesViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUpcomingReservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/upcoming\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUpcomingReservations(_response));\r\n });\r\n }\r\n\r\n protected processGetUpcomingReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPastReservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/past\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPastReservations(_response));\r\n });\r\n }\r\n\r\n protected processGetPastReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/list\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservations(_response));\r\n });\r\n }\r\n\r\n protected processReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupReservationsComposer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n venueGroup(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroup(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroup(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hourlyRequestToBook(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/hourly-requests-to-book\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyRequestToBook(_response));\r\n });\r\n }\r\n\r\n protected processHourlyRequestToBook(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyRequestToBookModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueGroupVenues(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroupVenues(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroupVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupVenueListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLogoPictureUrl(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pictures/logo\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLogoPictureUrl(_response));\r\n });\r\n }\r\n\r\n protected processGetLogoPictureUrl(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PictureURLViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendClaimProposals(venueId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues/{venueId}/resend-claim-proposals\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendClaimProposals(_response));\r\n });\r\n }\r\n\r\n protected processResendClaimProposals(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setForceGrantVisa(venueGroupId: string, forceGrant: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/force-grant-visa?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (forceGrant === null)\r\n throw new Error(\"The parameter 'forceGrant' cannot be null.\");\r\n else if (forceGrant !== undefined)\r\n url_ += \"forceGrant=\" + encodeURIComponent(\"\" + forceGrant) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetForceGrantVisa(_response));\r\n });\r\n }\r\n\r\n protected processSetForceGrantVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n sendClaimProposals(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/claim-proposals\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSendClaimProposals(_response));\r\n });\r\n }\r\n\r\n protected processSendClaimProposals(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBulkAddVenues(venueGroupId: string, visaType: VenueGroupVisaType, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/bulk-add-venues/{visaType}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaType === undefined || visaType === null)\r\n throw new Error(\"The parameter 'visaType' must be defined.\");\r\n url_ = url_.replace(\"{visaType}\", encodeURIComponent(\"\" + visaType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBulkAddVenues(_response));\r\n });\r\n }\r\n\r\n protected processGetBulkAddVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupBulkAddVenueViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bulkAddVenues(venueGroupId: string, bulkData: VenueGroupBulkData, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/bulk-add-venues\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bulkData);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBulkAddVenues(_response));\r\n });\r\n }\r\n\r\n protected processBulkAddVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n qualifyingMemberGroups(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/qualifying-member-groups\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQualifyingMemberGroups(_response));\r\n });\r\n }\r\n\r\n protected processQualifyingMemberGroups(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(KeyValuePairOfGuidAndString.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueVisas(venueGroupId: string, venueId: string, visaType: VenueGroupVisaType | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues/{venueId}/visas?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaType !== undefined && visaType !== null)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueVisas(_response));\r\n });\r\n }\r\n\r\n protected processVenueVisas(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(KeyValuePairOfGuidAndString.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupSettingsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/settings\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupSettingsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(venueGroupId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/settings\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupsRootClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupListViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(venueGroupModel: VenueGroupSettingsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(venueGroupModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupStatementsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n statements(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/statements\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStatements(_response));\r\n });\r\n }\r\n\r\n protected processStatements(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupVenuesStatementWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reportXlsxByDataId(venueGroupId: string, spreadsheetDataId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/statements/{spreadsheetDataId}/report.xlsx\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (spreadsheetDataId === undefined || spreadsheetDataId === null)\r\n throw new Error(\"The parameter 'spreadsheetDataId' must be defined.\");\r\n url_ = url_.replace(\"{spreadsheetDataId}\", encodeURIComponent(\"\" + spreadsheetDataId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReportXlsxByDataId(_response));\r\n });\r\n }\r\n\r\n protected processReportXlsxByDataId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupVisasClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getVisas(venueGroupId: string, visaType: VenueGroupVisaType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaType === null)\r\n throw new Error(\"The parameter 'visaType' cannot be null.\");\r\n else if (visaType !== undefined)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVisas(_response));\r\n });\r\n }\r\n\r\n protected processGetVisas(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupVisaViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addVisa(venueGroupId: string, request: AddVisaRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddVisa(_response));\r\n });\r\n }\r\n\r\n protected processAddVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData400)) {\r\n result400 = [] as any;\r\n for (let item of resultData400)\r\n result400!.push(ResponseWrapper.fromJS(item));\r\n }\r\n else {\r\n result400 = null;\r\n }\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteVisa(venueGroupId: string, venueId: string | undefined, visaId: string, visaType: VenueGroupVisaType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas/{visaId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (visaType === null)\r\n throw new Error(\"The parameter 'visaType' cannot be null.\");\r\n else if (visaType !== undefined)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteVisa(_response));\r\n });\r\n }\r\n\r\n protected processDeleteVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WebhookExampleClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Example webhook endpoint for API Clients\r\n */\r\n callback(event: WebhookEvent, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/webhook/example\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(event);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCallback(_response));\r\n });\r\n }\r\n\r\n protected processCallback(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspaceScenariosClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/workspace-scenarios\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(WorkspaceScenarioViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueAmenitiesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * List of all requestable/included amenities for reservation\r\n */\r\n amenities(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/amenities\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAmenities(_response));\r\n });\r\n }\r\n\r\n protected processAmenities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List of all requestable/included workspace amenities for reservation\r\n */\r\n workspaceAmenities(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/amenities\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processWorkspaceAmenities(_response));\r\n });\r\n }\r\n\r\n protected processWorkspaceAmenities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueClaimClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n claim(venueId: string, resend: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/claim?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (resend === null)\r\n throw new Error(\"The parameter 'resend' cannot be null.\");\r\n else if (resend !== undefined)\r\n url_ += \"resend=\" + encodeURIComponent(\"\" + resend) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClaim(_response));\r\n });\r\n }\r\n\r\n protected processClaim(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verifyHost(venueId: string, ticketId: number, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/claim/{ticketId}/verify\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (ticketId === undefined || ticketId === null)\r\n throw new Error(\"The parameter 'ticketId' must be defined.\");\r\n url_ = url_.replace(\"{ticketId}\", encodeURIComponent(\"\" + ticketId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVerifyHost(_response));\r\n });\r\n }\r\n\r\n protected processVerifyHost(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenuePermissionsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n permissions(venueId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/permissions?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPermissions(_response));\r\n });\r\n }\r\n\r\n protected processPermissions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuePermissionsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n requestPermissions(venueId: string, request: VenuePermissionsRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/permissions\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRequestPermissions(_response));\r\n });\r\n }\r\n\r\n protected processRequestPermissions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenuesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get venue details\r\n * @param venueId Venue ID\r\n * @return Venue details\r\n */\r\n get(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hasLiquidspacePro(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/hasliquidspacepro\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHasLiquidspacePro(_response));\r\n });\r\n }\r\n\r\n protected processHasLiquidspacePro(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n healthAndSafetyPolicy(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/healthandsafetypolicy\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHealthAndSafetyPolicy(_response));\r\n });\r\n }\r\n\r\n protected processHealthAndSafetyPolicy(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Search venues by prefix term\r\n * @param term (optional) Venue name prefix term\r\n * @return List of venue ID+Name pairs\r\n */\r\n autocomplete(term: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/search?\";\r\n if (term !== undefined && term !== null)\r\n url_ += \"term=\" + encodeURIComponent(\"\" + term) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getHeadquarterData(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/headquarterdata\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHeadquarterData(_response));\r\n });\r\n }\r\n\r\n protected processGetHeadquarterData(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueHeadquarterDataViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspacesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * List workspaces of venue\r\n * @param venueId Venue ID\r\n * @return List of workspace details\r\n */\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueWorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspaces details\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @return Workspace details\r\n */\r\n get(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueWorkspaceModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueAvailabilityClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get venue hourly availability at requested date\r\n * @param venueId Venue ID\r\n * @param date Date on which the availability calculation is to be made (Venue time zone)\r\n * @param timeChunkSize (optional) Granularity of response time chunks. Min15 is most accurate\r\n */\r\n hourlyAvailability(venueId: string, date: string, timeChunkSize: TimeChunkSize | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/availability/hourly/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (timeChunkSize === null)\r\n throw new Error(\"The parameter 'timeChunkSize' cannot be null.\");\r\n else if (timeChunkSize !== undefined)\r\n url_ += \"timeChunkSize=\" + encodeURIComponent(\"\" + timeChunkSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyAvailability(_response));\r\n });\r\n }\r\n\r\n protected processHourlyAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationCalendarWorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspaceAvailabilityClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get workspace closed days for requested month\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date First day of month on which the availability calculation is to be made\r\n */\r\n closedDays(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/closed-days/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClosedDays(_response));\r\n });\r\n }\r\n\r\n protected processClosedDays(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ClosedDayModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace open hours at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made\r\n */\r\n openHours(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/open-hours/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenHours(_response));\r\n });\r\n }\r\n\r\n protected processOpenHours(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpenHoursItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace open for tour hours at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made\r\n */\r\n openHoursForTour(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/tour/open-hours/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenHoursForTour(_response));\r\n });\r\n }\r\n\r\n protected processOpenHoursForTour(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpenHoursItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get monthly workspace closed days for requested month\r\n * @param venueId Venue ID\r\n * @param workspaceId Monthly Workspace ID\r\n * @param date First day of month on which the availability calculation is to be made\r\n * @param memberId (optional) \r\n * @param existingReservationId (optional) Optional monthly reservation ID to be excluded from availability calculations.\r\n Shuold be used in order to calculated proper availability in edit reservation scenario.\r\n */\r\n unavailableDays(venueId: string, workspaceId: string, date: string, memberId: string | null | undefined, existingReservationId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/unavailable-days/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (existingReservationId !== undefined && existingReservationId !== null)\r\n url_ += \"existingReservationId=\" + encodeURIComponent(\"\" + existingReservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnavailableDays(_response));\r\n });\r\n }\r\n\r\n protected processUnavailableDays(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ClosedDayModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace hourly availability at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made (Venue time zone)\r\n * @param timeChunkSize (optional) Granularity of response time chunks. Min15 is most accurate\r\n * @param reservationId (optional) Id of reservation to exclude from availability calculations (for example when editing)\r\n * @param occurrenceDate (optional) Occurrence date to exclude occurrence of recurrent from availability calculations\r\n */\r\n hourlyAvailability(venueId: string, workspaceId: string, date: string, timeChunkSize: TimeChunkSize | undefined, reservationId: string | null | undefined, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/hourly/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (timeChunkSize === null)\r\n throw new Error(\"The parameter 'timeChunkSize' cannot be null.\");\r\n else if (timeChunkSize !== undefined)\r\n url_ += \"timeChunkSize=\" + encodeURIComponent(\"\" + timeChunkSize) + \"&\";\r\n if (reservationId !== undefined && reservationId !== null)\r\n url_ += \"reservationId=\" + encodeURIComponent(\"\" + reservationId) + \"&\";\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyAvailability(_response));\r\n });\r\n }\r\n\r\n protected processHourlyAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationCalendarTimeChunkStateModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Check workspace availability and get next available date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param request Additional details (date, time, quantity, existing reservation id)\r\n * @return Next available date for the workspace in the venue time zone or null if none found\r\n */\r\n checkAvailability(venueId: string, workspaceId: string, request: CheckAvailabilityRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/check\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckAvailability(_response));\r\n });\r\n }\r\n\r\n protected processCheckAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CheckAvailabilityResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get available desks quantity for specific date.\r\n * @param existingReservationId (optional) Id of the reservation you are editing to exclude from quantity calculations (in case you plan to edit it's quantity)\r\n */\r\n quantityAvilable(venueId: string, workspaceId: string, date: string, existingReservationId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/quantity/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (existingReservationId !== undefined && existingReservationId !== null)\r\n url_ += \"existingReservationId=\" + encodeURIComponent(\"\" + existingReservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQuantityAvilable(_response));\r\n });\r\n }\r\n\r\n protected processQuantityAvilable(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\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(DiagnosticsConsoleMethodProto.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n executeMethod(methodName: string | undefined, runner: DiagnosticsMethodRunner | undefined, parameters: { [key: string]: string; }, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/method?\";\r\n if (methodName === null)\r\n throw new Error(\"The parameter 'methodName' cannot be null.\");\r\n else if (methodName !== undefined)\r\n url_ += \"methodName=\" + encodeURIComponent(\"\" + methodName) + \"&\";\r\n if (runner === null)\r\n throw new Error(\"The parameter 'runner' cannot be null.\");\r\n else if (runner !== undefined)\r\n url_ += \"runner=\" + encodeURIComponent(\"\" + runner) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(parameters);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExecuteMethod(_response));\r\n });\r\n }\r\n\r\n protected processExecuteMethod(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsConsoleRunKey.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLog(lastKnownTick: string | null | undefined, taskId: string | null | undefined, takeCount: number | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/log?\";\r\n if (lastKnownTick !== undefined && lastKnownTick !== null)\r\n url_ += \"lastKnownTick=\" + encodeURIComponent(\"\" + lastKnownTick) + \"&\";\r\n if (taskId !== undefined && taskId !== null)\r\n url_ += \"taskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (takeCount === null)\r\n throw new Error(\"The parameter 'takeCount' cannot be null.\");\r\n else if (takeCount !== undefined)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLog(_response));\r\n });\r\n }\r\n\r\n protected processGetLog(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsConsoleLineViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clearLog(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/log\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClearLog(_response));\r\n });\r\n }\r\n\r\n protected processClearLog(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsContentSecurityPolicyClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/csp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContentSecurityPolicyViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/csp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsCryptoClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n decrypt(input: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/crypto/decrypt\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecrypt(_response));\r\n });\r\n }\r\n\r\n protected processDecrypt(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n encrypt(input: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/crypto/encrypt\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEncrypt(_response));\r\n });\r\n }\r\n\r\n protected processEncrypt(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsEmailsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n templates(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTemplates(_response));\r\n });\r\n }\r\n\r\n protected processTemplates(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EmailTemplate.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n model(emailTypeName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}/model\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processModel(_response));\r\n });\r\n }\r\n\r\n protected processModel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsEmailModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n template(emailTypeName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTemplate(_response));\r\n });\r\n }\r\n\r\n protected processTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n render(emailTypeName: string, model: any, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRender(_response));\r\n });\r\n }\r\n\r\n protected processRender(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n send(model: SendTestEmailModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSend(_response));\r\n });\r\n }\r\n\r\n protected processSend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/integrations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsIntegrationListItemModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsLogsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(start: string | undefined, end: string | undefined, messageSubstring: string | null | undefined, levels: DiagnosticsLogLevels | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log?\";\r\n if (start === null)\r\n throw new Error(\"The parameter 'start' cannot be null.\");\r\n else if (start !== undefined)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end === null)\r\n throw new Error(\"The parameter 'end' cannot be null.\");\r\n else if (end !== undefined)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (messageSubstring !== undefined && messageSubstring !== null)\r\n url_ += \"messageSubstring=\" + encodeURIComponent(\"\" + messageSubstring) + \"&\";\r\n if (levels === null)\r\n throw new Error(\"The parameter 'levels' cannot be null.\");\r\n else if (levels !== undefined)\r\n url_ += \"levels=\" + encodeURIComponent(\"\" + levels) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsLogItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetails(partitionKey: string, rowKey: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/{partitionKey}/{rowKey}\";\r\n if (partitionKey === undefined || partitionKey === null)\r\n throw new Error(\"The parameter 'partitionKey' must be defined.\");\r\n url_ = url_.replace(\"{partitionKey}\", encodeURIComponent(\"\" + partitionKey));\r\n if (rowKey === undefined || rowKey === null)\r\n throw new Error(\"The parameter 'rowKey' must be defined.\");\r\n url_ = url_.replace(\"{rowKey}\", encodeURIComponent(\"\" + rowKey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsLogItemDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConfig(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetConfig(_response));\r\n });\r\n }\r\n\r\n protected processGetConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setConfig(config: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(config);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetConfig(_response));\r\n });\r\n }\r\n\r\n protected processSetConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsPoisonsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PoisonMessageViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PoisonMessageDetailsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n restart(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRestart(_response));\r\n });\r\n }\r\n\r\n protected processRestart(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n raw(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}/raw\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRaw(_response));\r\n });\r\n }\r\n\r\n protected processRaw(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsShortUrlClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(fromIdExclusive: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl?\";\r\n if (fromIdExclusive !== undefined && fromIdExclusive !== null)\r\n url_ += \"fromIdExclusive=\" + encodeURIComponent(\"\" + fromIdExclusive) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsShortUrlViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: DiagnosticsShortUrlCreateModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsShortUrlViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class 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 */\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}\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\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 }\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 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}\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\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 }\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 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}\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\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 }\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 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}\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 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\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 }\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 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}\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 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 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 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\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 }\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 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}\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\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 }\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 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}\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 */\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}\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\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 }\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 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}\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 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 id!: string;\r\n teamId!: 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.teamId = _data[\"teamId\"];\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[\"teamId\"] = this.teamId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoEnterpriseAccountViewModel {\r\n id: string;\r\n teamId: 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\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 }\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 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}\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 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 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 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 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\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 }\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 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}\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 DiagnosticsConsoleMethodProto implements IDiagnosticsConsoleMethodProto {\r\n name!: string | undefined;\r\n parameters!: DiagnosticsConsoleMethodParameterProto[] | undefined;\r\n declaringTypeName!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsConsoleMethodProto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (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(DiagnosticsConsoleMethodParameterProto.fromJS(item));\r\n }\r\n this.declaringTypeName = _data[\"declaringTypeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleMethodProto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleMethodProto();\r\n result.init(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 IDiagnosticsConsoleMethodProto {\r\n name: string | undefined;\r\n parameters: DiagnosticsConsoleMethodParameterProto[] | undefined;\r\n declaringTypeName: string | undefined;\r\n}\r\n\r\nexport class DiagnosticsConsoleMethodParameterProto implements IDiagnosticsConsoleMethodParameterProto {\r\n name!: string | undefined;\r\n typeName!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsConsoleMethodParameterProto) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (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): DiagnosticsConsoleMethodParameterProto {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleMethodParameterProto();\r\n result.init(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 IDiagnosticsConsoleMethodParameterProto {\r\n name: string | undefined;\r\n typeName: string | undefined;\r\n}\r\n\r\nexport class DiagnosticsConsoleRunKey implements IDiagnosticsConsoleRunKey {\r\n id!: string;\r\n notBeforeTicks!: number;\r\n\r\n constructor(data?: IDiagnosticsConsoleRunKey) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.notBeforeTicks = _data[\"notBeforeTicks\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleRunKey {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleRunKey();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"notBeforeTicks\"] = this.notBeforeTicks;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleRunKey {\r\n id: string;\r\n notBeforeTicks: number;\r\n}\r\n\r\n/** 0 = Worker 1 = BusinessService */\r\nexport enum DiagnosticsMethodRunner {\r\n Worker = 0,\r\n BusinessService = 1,\r\n}\r\n\r\nexport class DiagnosticsConsoleLineViewModel implements IDiagnosticsConsoleLineViewModel {\r\n timestamp!: string | undefined;\r\n ticks!: string;\r\n taskId!: string;\r\n taskName!: string | undefined;\r\n text!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsConsoleLineViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timestamp = _data[\"timestamp\"];\r\n this.ticks = _data[\"ticks\"];\r\n this.taskId = _data[\"taskId\"];\r\n this.taskName = _data[\"taskName\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleLineViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleLineViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"ticks\"] = this.ticks;\r\n data[\"taskId\"] = this.taskId;\r\n data[\"taskName\"] = this.taskName;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleLineViewModel {\r\n timestamp: string | undefined;\r\n ticks: string;\r\n taskId: string;\r\n taskName: string | undefined;\r\n text: string | undefined;\r\n}\r\n\r\nexport class ContentSecurityPolicyViewModel implements IContentSecurityPolicyViewModel {\r\n enabled!: boolean;\r\n placement!: ContentSecurityPolicyPlacement;\r\n useReportEndpoint!: boolean;\r\n reportOnly!: boolean;\r\n formattedHeaderValue!: string | undefined;\r\n timestablUtc!: string;\r\n\r\n constructor(data?: IContentSecurityPolicyViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.placement = _data[\"placement\"];\r\n this.useReportEndpoint = _data[\"useReportEndpoint\"];\r\n this.reportOnly = _data[\"reportOnly\"];\r\n this.formattedHeaderValue = _data[\"formattedHeaderValue\"];\r\n this.timestablUtc = _data[\"timestablUtc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentSecurityPolicyViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentSecurityPolicyViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"placement\"] = this.placement;\r\n data[\"useReportEndpoint\"] = this.useReportEndpoint;\r\n data[\"reportOnly\"] = this.reportOnly;\r\n data[\"formattedHeaderValue\"] = this.formattedHeaderValue;\r\n data[\"timestablUtc\"] = this.timestablUtc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentSecurityPolicyViewModel {\r\n enabled: boolean;\r\n placement: ContentSecurityPolicyPlacement;\r\n useReportEndpoint: boolean;\r\n reportOnly: boolean;\r\n formattedHeaderValue: string | undefined;\r\n timestablUtc: string;\r\n}\r\n\r\n/** 0 = Headers 1 = MetaHttpEquiv */\r\nexport enum ContentSecurityPolicyPlacement {\r\n Headers = 0,\r\n MetaHttpEquiv = 1,\r\n}\r\n\r\nexport class EmailTemplate implements IEmailTemplate {\r\n name!: string;\r\n description!: string | undefined;\r\n\r\n constructor(data?: IEmailTemplate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailTemplate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailTemplate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailTemplate {\r\n name: string;\r\n description: string | undefined;\r\n}\r\n\r\nexport class DiagnosticsEmailModel implements IDiagnosticsEmailModel {\r\n readonlyProperties!: { [key: string]: any; };\r\n writableProperties!: { [key: string]: { [key: string]: any; }; };\r\n id!: string;\r\n interfaces!: string[];\r\n\r\n constructor(data?: IDiagnosticsEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"readonlyProperties\"]) {\r\n this.readonlyProperties = {} as any;\r\n for (let key in _data[\"readonlyProperties\"]) {\r\n if (_data[\"readonlyProperties\"].hasOwnProperty(key))\r\n (this.readonlyProperties)![key] = _data[\"readonlyProperties\"][key];\r\n }\r\n }\r\n if (_data[\"writableProperties\"]) {\r\n this.writableProperties = {} as any;\r\n for (let key in _data[\"writableProperties\"]) {\r\n if (_data[\"writableProperties\"].hasOwnProperty(key))\r\n (this.writableProperties)![key] = _data[\"writableProperties\"][key] !== undefined ? _data[\"writableProperties\"][key] : {};\r\n }\r\n }\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"interfaces\"])) {\r\n this.interfaces = [] as any;\r\n for (let item of _data[\"interfaces\"])\r\n this.interfaces!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.readonlyProperties) {\r\n data[\"readonlyProperties\"] = {};\r\n for (let key in this.readonlyProperties) {\r\n if (this.readonlyProperties.hasOwnProperty(key))\r\n (data[\"readonlyProperties\"])[key] = (this.readonlyProperties)[key];\r\n }\r\n }\r\n if (this.writableProperties) {\r\n data[\"writableProperties\"] = {};\r\n for (let key in this.writableProperties) {\r\n if (this.writableProperties.hasOwnProperty(key))\r\n (data[\"writableProperties\"])[key] = (this.writableProperties)[key];\r\n }\r\n }\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.interfaces)) {\r\n data[\"interfaces\"] = [];\r\n for (let item of this.interfaces)\r\n data[\"interfaces\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsEmailModel {\r\n readonlyProperties: { [key: string]: any; };\r\n writableProperties: { [key: string]: { [key: string]: any; }; };\r\n id: string;\r\n interfaces: string[];\r\n}\r\n\r\nexport class SendTestEmailModel implements ISendTestEmailModel {\r\n recipient!: string | undefined;\r\n subject!: string | undefined;\r\n templates!: string[];\r\n\r\n constructor(data?: ISendTestEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.recipient = _data[\"recipient\"];\r\n this.subject = _data[\"subject\"];\r\n if (Array.isArray(_data[\"templates\"])) {\r\n this.templates = [] as any;\r\n for (let item of _data[\"templates\"])\r\n this.templates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendTestEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendTestEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recipient\"] = this.recipient;\r\n data[\"subject\"] = this.subject;\r\n if (Array.isArray(this.templates)) {\r\n data[\"templates\"] = [];\r\n for (let item of this.templates)\r\n data[\"templates\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISendTestEmailModel {\r\n recipient: string | undefined;\r\n subject: string | undefined;\r\n templates: string[];\r\n}\r\n\r\nexport class DiagnosticsIntegrationListItemModel implements IDiagnosticsIntegrationListItemModel {\r\n venueId!: string;\r\n venueName!: string;\r\n workspaceId!: string;\r\n workspaceName!: string;\r\n integration!: IntegrationTypeEnum;\r\n isPaused!: boolean;\r\n pooledEvents!: number;\r\n deletedActivityCount!: number;\r\n upsertedActivityCount!: number;\r\n lastProcessed!: string;\r\n lastErrorCount!: number;\r\n\r\n constructor(data?: IDiagnosticsIntegrationListItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.integration = _data[\"integration\"];\r\n this.isPaused = _data[\"isPaused\"];\r\n this.pooledEvents = _data[\"pooledEvents\"];\r\n this.deletedActivityCount = _data[\"deletedActivityCount\"];\r\n this.upsertedActivityCount = _data[\"upsertedActivityCount\"];\r\n this.lastProcessed = _data[\"lastProcessed\"];\r\n this.lastErrorCount = _data[\"lastErrorCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsIntegrationListItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsIntegrationListItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"integration\"] = this.integration;\r\n data[\"isPaused\"] = this.isPaused;\r\n data[\"pooledEvents\"] = this.pooledEvents;\r\n data[\"deletedActivityCount\"] = this.deletedActivityCount;\r\n data[\"upsertedActivityCount\"] = this.upsertedActivityCount;\r\n data[\"lastProcessed\"] = this.lastProcessed;\r\n data[\"lastErrorCount\"] = this.lastErrorCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsIntegrationListItemModel {\r\n venueId: string;\r\n venueName: string;\r\n workspaceId: string;\r\n workspaceName: string;\r\n integration: IntegrationTypeEnum;\r\n isPaused: boolean;\r\n pooledEvents: number;\r\n deletedActivityCount: number;\r\n upsertedActivityCount: number;\r\n lastProcessed: string;\r\n lastErrorCount: number;\r\n}\r\n\r\nexport class DiagnosticsLogItem implements IDiagnosticsLogItem {\r\n partitionKey!: string;\r\n rowKey!: string;\r\n timestamp!: string | undefined;\r\n role!: string | undefined;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsLogItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.partitionKey = _data[\"partitionKey\"];\r\n this.rowKey = _data[\"rowKey\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.role = _data[\"role\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsLogItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsLogItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"partitionKey\"] = this.partitionKey;\r\n data[\"rowKey\"] = this.rowKey;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"role\"] = this.role;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsLogItem {\r\n partitionKey: string;\r\n rowKey: string;\r\n timestamp: string | undefined;\r\n role: string | undefined;\r\n message: string | undefined;\r\n}\r\n\r\n/** 1 = Undefined 2 = Critical 4 = Error 8 = Warning 16 = Information 32 = Verbose */\r\nexport enum DiagnosticsLogLevels {\r\n Undefined = 1,\r\n Critical = 2,\r\n Error = 4,\r\n Warning = 8,\r\n Information = 16,\r\n Verbose = 32,\r\n}\r\n\r\nexport class DiagnosticsLogItemDetails implements IDiagnosticsLogItemDetails {\r\n partitionKey!: string;\r\n rowKey!: string;\r\n timestamp!: string | undefined;\r\n eventTickCount!: number;\r\n deploymentId!: string | undefined;\r\n role!: string | undefined;\r\n roleInstance!: string | undefined;\r\n level!: number;\r\n eventId!: number;\r\n pid!: number;\r\n tid!: number;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsLogItemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.partitionKey = _data[\"partitionKey\"];\r\n this.rowKey = _data[\"rowKey\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.eventTickCount = _data[\"eventTickCount\"];\r\n this.deploymentId = _data[\"deploymentId\"];\r\n this.role = _data[\"role\"];\r\n this.roleInstance = _data[\"roleInstance\"];\r\n this.level = _data[\"level\"];\r\n this.eventId = _data[\"eventId\"];\r\n this.pid = _data[\"pid\"];\r\n this.tid = _data[\"tid\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsLogItemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsLogItemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"partitionKey\"] = this.partitionKey;\r\n data[\"rowKey\"] = this.rowKey;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"eventTickCount\"] = this.eventTickCount;\r\n data[\"deploymentId\"] = this.deploymentId;\r\n data[\"role\"] = this.role;\r\n data[\"roleInstance\"] = this.roleInstance;\r\n data[\"level\"] = this.level;\r\n data[\"eventId\"] = this.eventId;\r\n data[\"pid\"] = this.pid;\r\n data[\"tid\"] = this.tid;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsLogItemDetails {\r\n partitionKey: string;\r\n rowKey: string;\r\n timestamp: string | undefined;\r\n eventTickCount: number;\r\n deploymentId: string | undefined;\r\n role: string | undefined;\r\n roleInstance: string | undefined;\r\n level: number;\r\n eventId: number;\r\n pid: number;\r\n tid: number;\r\n message: string | undefined;\r\n}\r\n\r\nexport class PoisonMessageViewModel implements IPoisonMessageViewModel {\r\n envelopeId!: string;\r\n messageType!: string;\r\n exception!: string;\r\n lastActivity!: string;\r\n machineType!: string;\r\n syncMode!: boolean;\r\n\r\n constructor(data?: IPoisonMessageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.envelopeId = _data[\"envelopeId\"];\r\n this.messageType = _data[\"messageType\"];\r\n this.exception = _data[\"exception\"];\r\n this.lastActivity = _data[\"lastActivity\"];\r\n this.machineType = _data[\"machineType\"];\r\n this.syncMode = _data[\"syncMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PoisonMessageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PoisonMessageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"envelopeId\"] = this.envelopeId;\r\n data[\"messageType\"] = this.messageType;\r\n data[\"exception\"] = this.exception;\r\n data[\"lastActivity\"] = this.lastActivity;\r\n data[\"machineType\"] = this.machineType;\r\n data[\"syncMode\"] = this.syncMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPoisonMessageViewModel {\r\n envelopeId: string;\r\n messageType: string;\r\n exception: string;\r\n lastActivity: string;\r\n machineType: string;\r\n syncMode: boolean;\r\n}\r\n\r\nexport class PoisonMessageDetailsViewModel implements IPoisonMessageDetailsViewModel {\r\n message!: any;\r\n quarantineMessage!: QuarantineMessage;\r\n\r\n constructor(data?: IPoisonMessageDetailsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.quarantineMessage = _data[\"quarantineMessage\"] ? QuarantineMessage.fromJS(_data[\"quarantineMessage\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PoisonMessageDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PoisonMessageDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"quarantineMessage\"] = this.quarantineMessage ? this.quarantineMessage.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPoisonMessageDetailsViewModel {\r\n message: any;\r\n quarantineMessage: QuarantineMessage;\r\n}\r\n\r\nexport class QuarantineMessage implements IQuarantineMessage {\r\n envelopeId!: string;\r\n retryCount!: number;\r\n envelopeBodyId!: string;\r\n exception!: string | undefined;\r\n queueName!: string | undefined;\r\n messageType!: string | undefined;\r\n machineType!: string | undefined;\r\n lastActivity!: string;\r\n compressed!: boolean;\r\n syncMode!: boolean;\r\n\r\n constructor(data?: IQuarantineMessage) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.envelopeId = _data[\"envelopeId\"];\r\n this.retryCount = _data[\"retryCount\"];\r\n this.envelopeBodyId = _data[\"envelopeBodyId\"];\r\n this.exception = _data[\"exception\"];\r\n this.queueName = _data[\"queueName\"];\r\n this.messageType = _data[\"messageType\"];\r\n this.machineType = _data[\"machineType\"];\r\n this.lastActivity = _data[\"lastActivity\"];\r\n this.compressed = _data[\"compressed\"];\r\n this.syncMode = _data[\"syncMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuarantineMessage {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuarantineMessage();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"envelopeId\"] = this.envelopeId;\r\n data[\"retryCount\"] = this.retryCount;\r\n data[\"envelopeBodyId\"] = this.envelopeBodyId;\r\n data[\"exception\"] = this.exception;\r\n data[\"queueName\"] = this.queueName;\r\n data[\"messageType\"] = this.messageType;\r\n data[\"machineType\"] = this.machineType;\r\n data[\"lastActivity\"] = this.lastActivity;\r\n data[\"compressed\"] = this.compressed;\r\n data[\"syncMode\"] = this.syncMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuarantineMessage {\r\n envelopeId: string;\r\n retryCount: number;\r\n envelopeBodyId: string;\r\n exception: string | undefined;\r\n queueName: string | undefined;\r\n messageType: string | undefined;\r\n machineType: string | undefined;\r\n lastActivity: string;\r\n compressed: boolean;\r\n syncMode: boolean;\r\n}\r\n\r\nexport class DiagnosticsShortUrlViewModel implements IDiagnosticsShortUrlViewModel {\r\n id!: string;\r\n url!: string;\r\n\r\n constructor(data?: IDiagnosticsShortUrlViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsShortUrlViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsShortUrlViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlViewModel {\r\n id: string;\r\n url: string;\r\n}\r\n\r\nexport class DiagnosticsShortUrlCreateModel implements IDiagnosticsShortUrlCreateModel {\r\n url!: string;\r\n\r\n constructor(data?: IDiagnosticsShortUrlCreateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsShortUrlCreateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsShortUrlCreateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlCreateModel {\r\n url: string;\r\n}\r\n\r\nexport class EditableInternationalConfigurationModel implements IEditableInternationalConfigurationModel {\r\n country!: string | undefined;\r\n currency!: CurrencyType;\r\n merchantAccountId!: string;\r\n allowCreditCardPayments!: boolean;\r\n onDemandServiceChargeEnabled!: boolean;\r\n onDemandServiceChargePercentage!: number;\r\n hourlySpaceVisibility!: SpaceVisibility;\r\n monthlySpaceVisibility!: SpaceVisibility;\r\n\r\n constructor(data?: IEditableInternationalConfigurationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n this.currency = _data[\"currency\"];\r\n this.merchantAccountId = _data[\"merchantAccountId\"];\r\n this.allowCreditCardPayments = _data[\"allowCreditCardPayments\"];\r\n this.onDemandServiceChargeEnabled = _data[\"onDemandServiceChargeEnabled\"];\r\n this.onDemandServiceChargePercentage = _data[\"onDemandServiceChargePercentage\"];\r\n this.hourlySpaceVisibility = _data[\"hourlySpaceVisibility\"];\r\n this.monthlySpaceVisibility = _data[\"monthlySpaceVisibility\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditableInternationalConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditableInternationalConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n data[\"currency\"] = this.currency;\r\n data[\"merchantAccountId\"] = this.merchantAccountId;\r\n data[\"allowCreditCardPayments\"] = this.allowCreditCardPayments;\r\n data[\"onDemandServiceChargeEnabled\"] = this.onDemandServiceChargeEnabled;\r\n data[\"onDemandServiceChargePercentage\"] = this.onDemandServiceChargePercentage;\r\n data[\"hourlySpaceVisibility\"] = this.hourlySpaceVisibility;\r\n data[\"monthlySpaceVisibility\"] = this.monthlySpaceVisibility;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditableInternationalConfigurationModel {\r\n country: string | undefined;\r\n currency: CurrencyType;\r\n merchantAccountId: string;\r\n allowCreditCardPayments: boolean;\r\n onDemandServiceChargeEnabled: boolean;\r\n onDemandServiceChargePercentage: number;\r\n hourlySpaceVisibility: SpaceVisibility;\r\n monthlySpaceVisibility: SpaceVisibility;\r\n}\r\n\r\nexport class InternationalConfigurationModel extends EditableInternationalConfigurationModel implements IInternationalConfigurationModel {\r\n id!: string;\r\n allowSearching!: boolean;\r\n allowNewListings!: boolean;\r\n allowVenueBilledPayments!: boolean;\r\n allowACHPayments!: boolean;\r\n\r\n constructor(data?: IInternationalConfigurationModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.allowSearching = _data[\"allowSearching\"];\r\n this.allowNewListings = _data[\"allowNewListings\"];\r\n this.allowVenueBilledPayments = _data[\"allowVenueBilledPayments\"];\r\n this.allowACHPayments = _data[\"allowACHPayments\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InternationalConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InternationalConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"allowSearching\"] = this.allowSearching;\r\n data[\"allowNewListings\"] = this.allowNewListings;\r\n data[\"allowVenueBilledPayments\"] = this.allowVenueBilledPayments;\r\n data[\"allowACHPayments\"] = this.allowACHPayments;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInternationalConfigurationModel extends IEditableInternationalConfigurationModel {\r\n id: string;\r\n allowSearching: boolean;\r\n allowNewListings: boolean;\r\n allowVenueBilledPayments: boolean;\r\n allowACHPayments: boolean;\r\n}\r\n\r\n/** 0 = Public 1 = EnterpriseOnly 2 = None */\r\nexport enum SpaceVisibility {\r\n Public = 0,\r\n EnterpriseOnly = 1,\r\n None = 2,\r\n}\r\n\r\nexport class MerchantAccountModel implements IMerchantAccountModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IMerchantAccountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MerchantAccountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MerchantAccountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMerchantAccountModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\n/* eslint-disable */\r\n//THIS FILE IS INCLUDED INTO NSWAG GENERATED CODE (API.ts)\r\n//KEEP SAME NESTING LEVEL\r\n\r\n//Hey, Hotshot! You are here due to error caused by exposed EntityBase to client.\r\ntype IEntityBase = never;\r\n\r\n//TODO: Use ReservationMethod instead\r\n// type WorkspaceReservationMethod = never;","import React from \"react\";\r\nimport { default as RBS_ModalBody, ModalBodyProps as RBS_ModalBodyProps } from \"reactstrap/lib/ModalBody\";\r\nimport classNames from \"classnames\";\r\n\r\n\r\nexport type ModalBodyProps = RBS_ModalBodyProps & { \r\n compact?: boolean,\r\n withoutLeftRightPaddings?: boolean,\r\n}\r\n\r\nconst ModalBody: React.FC = ({ compact = false, withoutLeftRightPaddings = false, className, ...rest }) => {\r\n return ()\r\n}\r\n\r\nexport default ModalBody;","import React from \"react\";\r\nimport { default as RBS_ModalHeader, ModalHeaderProps as RBS_ModalHeaderProps } from \"reactstrap/lib/ModalHeader\";\r\nimport { onlyText } from \"react-children-utilities\";\r\nimport ModalCloseButton from \"./ModalCloseButton\";\r\nimport classNames from \"classnames\";\r\n\r\n\r\nexport type ModalHeaderProps = RBS_ModalHeaderProps & {\r\n lightWordsCount?: number,\r\n compact?: boolean,\r\n}\r\n\r\nconst ModalHeader: React.FC = ({ children, lightWordsCount = 0, compact = false, className, toggle, cssModule, ...rest }) => {\r\n const splitWords = (): React.ReactNode => {\r\n const text = onlyText(children);\r\n const words = text.split(\" \");\r\n return (<>{words.slice(0, lightWordsCount).join(\" \")}{\" \"}{words.slice(lightWordsCount).join(\" \")})\r\n }\r\n\r\n const closeBtn = toggle ? : null;\r\n\r\n return ({lightWordsCount > 0 ? splitWords() : children})\r\n}\r\n\r\nexport default ModalHeader;","import { ApiException } from \"./API\";\r\n\r\nexport const ETag = Symbol(\"Response ETag\");\r\n\r\nexport default class ClientBase {\r\n public onError: (message: string, httpStatus: number) => void = () => void 0;\r\n\r\n public getBaseUrl(defaultUrl: string, baseUrl?: string): string { return LiquidSpaceConfig.LSWebUICoreURL!; }\r\n\r\n protected async transformResult(url: string, response: Response, processor: (response: Response) => Promise) {\r\n try {\r\n const result = await processor(response);\r\n\r\n const etag = response.headers.get(\"etag\");\r\n if (etag) {\r\n Object.defineProperty(result, ETag, {\r\n enumerable: false,\r\n value: etag\r\n });\r\n }\r\n return result;\r\n }\r\n catch (ex) {\r\n // Processor will throw exception for non-successful status codes:\r\n // 1. of type defined by ProducesResponseTypeAttribute \r\n // (ex.: [ProducesResponseType(StatusCodes.Status418ImATeapot)] will throw MyCustomException for HTTP Status 418)\r\n // 2. ProblemDetails when only status code is defined by ProducesResponseTypeAttribute. \r\n // A machine-readable format for specifying errors in HTTP API responses based on .\r\n // 3. ApiException when nothing was defined but status code is unsuccessfuff (not 200, not 204)\r\n // It is also possible to have not parsed ProblemDetails\r\n\r\n // IMPORTANT!\r\n // ProblemDetails for >=400 status codes generated automatically for controllers marked with [ApiControllerAttribute]. \r\n // https://learn.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-9.0#problem-details-for-error-status-codes\r\n\r\n // ApiException has its own default handler\r\n if (ApiException.isApiException(ex)) {\r\n this.handleApiException(ex, url);\r\n }\r\n // else {\r\n // exception intentionally thrown by processor\r\n // ex: ResponseWrapper, ProblemDetails\r\n // }\r\n\r\n throw ex;\r\n }\r\n }\r\n\r\n protected handleApiException(ex: ApiException, url: string) {\r\n if (ex.status === 401) {\r\n let redirectURL = `/account/logon?returnUrl=${encodeURIComponent(window.location.pathname)}`;\r\n let errorMessage = \"UNAUTHORIZED. You'll be redirected to login page\";\r\n\r\n const responseContentType = ex.headers[\"content-type\"]?.split(\";\")[0];\r\n if ([\"application/json\", \"application/problem+json\"].indexOf(responseContentType) != -1) {\r\n try {\r\n const data = JSON.parse(ex.response);\r\n if (data && data[\"ls.challengeReason\"] > 0) {\r\n if (data.detail) {\r\n errorMessage = \"UNAUTHORIZED. \" + data.detail;\r\n }\r\n if (data[\"ls.challengeReason\"] == 4) {\r\n //blocked\r\n redirectURL = `/?blockedUserMessageType=${LSCommon.Models.BlockedUserMessageType.Blocked}`;\r\n }\r\n else if (data[\"ls.challengeReason\"] == 5) {\r\n //locked\r\n redirectURL = `/?blockedUserMessageType=${LSCommon.Models.BlockedUserMessageType.Locked}`;\r\n }\r\n }\r\n }\r\n catch {/* */ }\r\n }\r\n\r\n this.onError(errorMessage, ex.status);\r\n window.location.href = redirectURL;\r\n } else if (ex.status === 403) {\r\n this.onError(`FORBIDDEN. You don't have permission to access ${new URL(url).pathname}`, ex.status);\r\n } else if (ex.status >= 500 && ex.status <= 600) {\r\n this.onError(ex.response, ex.status);\r\n }\r\n }\r\n\r\n protected transformOptions(options: RequestInit): Promise {\r\n options.credentials = \"include\";\r\n return new Promise((resolve) => {\r\n resolve(options);\r\n });\r\n }\r\n}\r\n","import React, { ButtonHTMLAttributes } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport * as Icons from \"Components/Icons\";\r\n\r\n\r\nexport type ModalCloseButtonProps = ButtonHTMLAttributes;\r\n\r\nconst ModalCloseButton: React.FC = ({ className, ...htmlProps }) => {\r\n const btnClasses = classNames(\"ls-modal-close\", className);\r\n\r\n return ()\r\n}\r\n\r\nexport default ModalCloseButton;","import React, { createContext } from \"react\";\r\n\r\nexport type DesignName = \"primary\" | \"marketing\";\r\n\r\nexport interface IDesignContext {\r\n name: DesignName\r\n}\r\nexport const DesignContext = createContext({\r\n name: \"marketing\"\r\n});\r\n\r\nexport interface IDesignContextProviderProps extends React.HTMLAttributes {\r\n name: DesignName\r\n}\r\n\r\nexport const DesignContextProvider: React.FC = function ({ children, name, ...rest }) {\r\n return (\r\n
{children}
\r\n
);\r\n}"],"names":["Operation","operation","constructor","op","this","toJSON","static","item","JSON","parse","forwardRef","color","size","onClick","rest","ref","React","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","isVenueBrief","venue","isResponseWrapper","obj","isWorkspaceHourlyModel","isWorkspacePeriodModel","isLegacyException","isException","isReactKey","objType","isProblemDetails","ProblemDetails","ModalFooter","compact","className","RBS_ModalFooter","classNames","legacyButtonColors","getBtnClasses","buttonProps","outline","includes","fluid","Button","children","htmlProps","buttonClasses","ButtonLink","PlayButton","SpinningButton","isLoading","props","designContext","useContext","DesignContext","RBS_Modal","name","usePageLeaveConfirmation","subscriptionId","options","deps","layoutContext","LayoutContext","useEffect","onPageLeave","offPageLeave","PAGE_LEAVE_MESSAGE","getPageLeaveMessage","message","createContext","showMessage","timeout","errorState","undefined","showError","error","title","onClose","setIsLoading","hasPageLeaveCallbacks","LayoutContextProvider","useState","setErrorState","onPageLeaveStack","useRef","pageLeaveCallback","setPageLeaveCallback","pageLeaveModalOptions","setPageLeaveModalOptions","Object","keys","current","length","registerOnPageLeave","id","removeOnPageLeave","showOnPageLeaveModal","callback","closeOnPageLeaveModal","closeOnPageLeaveModalInner","proceedToDestination","getUserConfirmation","callbackWrapper","ok","values","shouldDisplay","onBeforeUnload","event","returnValue","window","addEventListener","removeEventListener","layoutContextProvider","useMemo","console","log","currentError","errorObj","errorMessage","errorCode","debugTrace","detailedDebugException","Error","closeErrorDialog","useCallback","Provider","value","Modal","centered","isOpen","trapFocus","ModalHeader","ModalBody","href","style","whiteSpace","font","overflow","maxHeight","type","toggle","maxWidth","cancelButtonText","confirmAction","confirmButtonText","ImageTagConstants","PictureTypeEnum","MemberNotificationSettingType","SsoType","SocialVisibility","BlogTag","CollectionType","SpaceType","BookingMethod","WorkspaceStatus","WorkspaceReservationMethod","WorkspaceRequestType","EnterpriseAccountMembersImportMode","ConnectionMode","ConnectionKind","CurrencyType","ReservationMethod","ActivityReservationStatusFilter","ReservationStatus","PaymentProviderType","HourlyMonthly","DownloadFileFormat","VenueSource","SearchDeviceType","LocationAccuracy","SavedSearchSourceType","BrandedPortalType","ContentType","ContentStatus","EnterpriseAccountFeeType","EnterpriseAccountBillingStatus","InvoiceGenerationStatus","EnterpriseAccountPlan","EnterpriseAccountStatus","EnterpriseDemandType","EnterpriseClassification","DisplayExtendedNetwork","EnterpriseAccountBillingPeriod","PaymentTerm","EventHistoryType","EventHistoryState","EnterpriseAccountInvitationStatus","MemberGroupInvitationStatus","EnterpriseLocationType","ForceableExtendedSearchOptionsProperties","SearchSettingsEnum","ReservationState","CancellationPolicy","VenueAmenityType","RefundType","PayableType","PaymentMethod","HourlyRequestToBookStatus","ReservationTimeType","ImportExportStatus","LSLogLevel","EnterpriseDemoRequestMode","CompanySize","SolutionType","InterestReason","BrandsAccess","CreditCardTypeType","MemberRole","VenueConfirmationStatus","HourlyReservationUrgencyStatus","IntegrationTypeEnum","TourCancelReason","ImportType","VenueRoleEnum","NotificationsReservationType","VenueStatusNew","VenueGroupVisaType","DefaultMemberOriginationScenario","VenueGroupRank","VenueGroupVisibility","PriceMerchandising","VenueGroupIntegration","VenueGroupClassification","NeighborhoodType","VenueGroupVisaKind","ClaimVenueResult","VisaState","WorkspacePriceDuration","TimeState","TimeChunkSize","ManageVenueMode","PromotionDiscountType","MembershipPromotionType","MessageSource","MessageStatus","TourStatus","TourPostCompleteStatus","ProposalStatus","DepositMode","MessagesFilterEnum","MessengerAction","EntityType","MemberGroupUserType","MemberGroupType","CrosssiteBrandingType","HeaderMenuOptions","InvoiceStatus","VenueOpenStatus","LiquidSpaceProStatus","LicenseVersion","VenueTaxApplyType","ContactTypeEnum","BillingMethod","ACHAccountType","DayOfWeek","PhotoRankEnum","VenueClassification","VenueRank","GCalEndpoint","ExchangeEndpoint","ParkingType","PricingRateType","ManageVenueSectionEnum","ProfileChecklist","VenueEventType","HooMode","OpenCloseMode","MinAdvanceNoticeRangeType","InteractionStateEnum","DashboardLeadStatus","DenyVisaReason","ReservationSource","WorkspaceFreshness","ReservationType","OfficeRnDOrganizationType","OfficeRnDOrganizationConnectionType","DiagnosticsMethodRunner","ContentSecurityPolicyPlacement","DiagnosticsLogLevels","SpaceVisibility","PictureClient","ClientBase","http","baseUrl","jsonParseReviver","super","getBaseUrl","getMemberPictureViewModel","memberId","tag","signal","url_","replace","encodeURIComponent","options_","method","headers","transformOptions","then","transformedOptions_","fetch","_response","transformResult","processGetMemberPictureViewModel","response","status","_headers","forEach","v","k","text","_responseText","result200","resultData200","PictureViewModel","fromJS","throwException","Promise","resolve","AccountClient","forgotPassword","request","body","stringify","processForgotPassword","ResponseWrapper","result400","resultData400","changePassword","model","processChangePassword","personalInformation","processPersonalInformation","MemberDataModel","updatePersonalInformation","processUpdatePersonalInformation","notificationList","processNotificationList","Array","isArray","push","MemberNotificationModel","setNotificationValue","notificationSettingType","processSetNotificationValue","changeEmail","processChangeEmail","ssoMember","processSsoMember","SsoMemberModel","removeMemberSSO","ssoType","ssoId","processRemoveMemberSSO","setSocialVisibility","visibility","processSetSocialVisibility","ApiClientsClient","list","processList","ApiClientListItemViewModel","create","processCreate","result409","resultData409","get","clientId","processGet","EditableApiClientModel","result404","resultData404","patch","processPatch","delete","processDelete","contentDisposition","fileNameMatch","exec","fileName","decodeURIComponent","blob","data","BlogsClient","byTag","processByTag","BlogViewModel","BookingClient","prerequisites","processPrerequisites","BookingPrerequisitesValidationResult","representee","venueId","workspaceId","processRepresentee","BookingRepresenteeViewModel","check","processCheck","WorkspaceAvailabilityCheckViewModel","CollectionsClient","collections","processCollections","FavoriteCollectionViewModel","count","processCount","memberVenues","onlyHourlySpaces","processMemberVenues","VenueSearchResult","createCollection","newName","processCreateCollection","renameCollection","collectionId","processRenameCollection","copyCollection","processCopyCollection","deleteCollection","processDeleteCollection","collectionCollaborators","processCollectionCollaborators","CollaboratorViewModel","removeCollectionCollaborator","collaboratorId","processRemoveCollectionCollaborator","venues","processVenues","workspaces","processWorkspaces","FavoriteCollectionWorkspacesViewModel","deleteWorkspaceFromCollection","processDeleteWorkspaceFromCollection","shareCollectionData","processShareCollectionData","ShareCollectionModel","sharedCollections","processSharedCollections","deleteSharedCollection","processDeleteSharedCollection","ConciergeRequestClient","notifyMe","processNotifyMe","result401","resultData401","ConfigClient","classAndEnumConverter","processClassAndEnumConverter","ClassesAndEnumsToConvert","getMarketingStats","processGetMarketingStats","MarketingStats","getTimeZones","processGetTimeZones","key","hasOwnProperty","ConnectionsClient","connectionKind","ConnectionInfo","follow","targetUserId","processFollow","unfollow","processUnfollow","CostsClient","calculate","processCalculate","CostDetailsViewModel","CountriesClient","getCodes","forceAllCountries","processGetCodes","CountryCodeBase","listWithStates","processListWithStates","CountryCode","submitWaitlistForm","processSubmitWaitlistForm","DataRemovalRequestsClient","sendRequest","processSendRequest","ActivityReservationInternalClient","reservations","accountId","reservationsStatuses","teamId","start","end","requestId","processReservations","ActivityReservationInternalModel","ActivityReservationPrivateClient","ActivityReservationPrivateModel","reservationsCached","processReservationsCached","reservationsOverview","processReservationsOverview","ReservationOverview","reservationsOverviewCached","processReservationsOverviewCached","ActivityReservationReportClient","generate","hourlyMonthly","fileFormat","processGenerate","ActivityReservationReportStatus","reportId","ActivityReviewClient","reviews","processReviews","ActivityReview","reviewsOverview","processReviewsOverview","ReviewOverview","reviewDetails","reviewId","processReviewDetails","ActivityReviewDetails","ActivitySearchClient","searchesOverview","processSearchesOverview","SearchOverview","searches","processSearches","ActivitySearch","searchDetails","searchId","searchDate","processSearchDetails","ActivitySearchDetails","BrandingClient","BrandedOptionsModel","ContentClient","ContentItemModel","itemId","add","processAdd","order","contentOrder","processOrder","DashboardClient","dashboard","processDashboard","DashboardViewModel","dashboardCached","processDashboardCached","EnrollmentClient","EnrollmentSettingsModel","EnterpriseAccountAdminClient","AccountAdminInfoViewModel","EnterpriseAccountApiClientsClient","EnterpriseAccountApiClientListItemViewModel","EditableEnterpriseAccountApiClientViewModel","assignApiClient","processAssignApiClient","unassignApiClient","processUnassignApiClient","EnterpriseAccountBillingsClient","EnterpriseAccountBillingModel","billingId","cancel","processCancel","force","processForce","EnterpriseAccountClient","accountInfo","processAccountInfo","AccountInfoViewModel","EnterpriseAccountListViewModel","EnterpriseAccountSettingsModel","ssoUrl","processSsoUrl","teams","processTeams","TeamInfoViewModel","deleteTeam","processDeleteTeam","attachTeam","processAttachTeam","attachTeamList","processAttachTeamList","TeamListItemViewModel","AccountModel","importMessage","processImportMessage","EnterpriseAccountEventsClient","EventHistoryModel","edit","eventId","processEdit","EnterpriseAccountHeadquarterClient","getHeadquarters","processGetHeadquarters","EnterpriseAccountHeadquarterViewModel","addHeadquarter","processAddHeadquarter","getHeadquarter","headquarterId","processGetHeadquarter","deleteHeadquarter","processDeleteHeadquarter","updateHeadquarter","processUpdateHeadquarter","EnterpriseAccountMemberClient","take","TeamMemberInfoViewModel","register","invite","processRegister","TeamMemberViewModel","getInfo","processGetInfo","memberAutocomplete","emailPart","processMemberAutocomplete","MemberAutocomplete","resendInvite","processResendInvite","resendInvites","processResendInvites","result403","resultData403","spendThisMonth","processSpendThisMonth","TeamMemberSpendResponse","ratingCounters","processRatingCounters","TeamMemberRatingCounters","activity","processActivity","TeamMemberActivity","budgetSettings","processBudgetSettings","TeamMemberBudgetViewModel","updateBudgetSettings","settings","processUpdateBudgetSettings","listTeamMemberPaymentProfileSettings","processListTeamMemberPaymentProfileSettings","PaymentProfileSettingsViewModel","updateTeamMemberPaymentProfileSettings","paymentProvider","processUpdateTeamMemberPaymentProfileSettings","memberImportTemplate","processMemberImportTemplate","getImportResults","importId","processGetImportResults","EnterpriseAccountMembersImportResponse","import","csvFile","importMode","suppressInviteEmail","content_","FormData","append","toString","processImport","verifySignup","email","processVerifySignup","EnterprisePortalSignupInfoViewModel","onlineMembers","processOnlineMembers","billableUsersCount","processBillableUsersCount","EnterpriseAccountMemberReportClient","EnterpriseAccountMemberReservationClient","timeType","countOnPage","includeInviteeReservations","TeamMemberReservation","reservationCounters","processReservationCounters","TeamMemberReservationCounters","EnterpriseAccountSettingsClient","EnterpriseAccountsExportClient","export","processExport","EnterpriseAccountsExportStatusClient","getAll","processGetAll","ExportEnterpriseAccountStatus","exportId","EnterpriseAccountsImportClient","EnterpriseAccountsImportStatusClient","ImportEnterpriseAccountStatus","getDetails","processGetDetails","ImportEnterpriseAccountStatusDetails","EnterpriseAccountUnassignedMemberClient","EnterpriseClient","requestDemo","processRequestDemo","submitProRequest","processSubmitProRequest","EnterpriseAccountIntegrationOfficeRnDClient","officeRnDHybridSync","processOfficeRnDHybridSync","OfficeRnDHybridSyncResult","EnterpriseAccountIntegrationSlackClient","getInstallUrl","processGetInstallUrl","getConfigs","processGetConfigs","EnterpriseAccountIntegrationSlackConfig","deleteConfig","appId","processDeleteConfig","EnterpriseAccountLocationClient","onDemandLocations","processOnDemandLocations","OnDemandLocationViewModel","dedicatedLocations","processDedicatedLocations","DedicatedLocationViewModel","venueList","processVenueList","VenueListItemViewModel","venueGroupList","processVenueGroupList","VenueGroupListItemViewModel","getCollection","processGetCollection","EnterpriseAccountCollectionViewModel","updateCollection","processUpdateCollection","addCollection","processAddCollection","getBrands","processGetBrands","BrandsViewModel","setBrandsOptions","brandsOptionsModel","processSetBrandsOptions","PortalClient","currentMember","processCurrentMember","EnterpriseUserInfoViewModel","headquarters","processHeadquarters","CollectionViewModel","preferredCollectionVenues","processPreferredCollectionVenues","questionsAndAnswers","processQuestionsAndAnswers","ContentItemViewModel","onboardingContent","processOnboardingContent","OnboardingContentViewModel","PortalReviews","supportRequest","processSupportRequest","question","processQuestion","getMember","processGetMember","MemberViewModel","banner","processBanner","BrandedBannerViewModel","getMessengerTargets","processGetMessengerTargets","MessageTargetAutocompleteItem","completePortalGuide","processCompletePortalGuide","subscribeOnEmail","processSubscribeOnEmail","unsubscribeOnEmail","processUnsubscribeOnEmail","getColleaguesNearBy","processGetColleaguesNearBy","ReservationMemberViewModel","getActivities","selectedDate","processGetActivities","DayActivityViewModel","SingleSignOnClient","SSOSettingsModel","federationMetadata","processFederationMetadata","TeamClient","TeamViewModel","members","processMembers","addMember","processAddMember","deleteMember","processDeleteMember","setMemberSuspended","isSuspended","processSetMemberSuspended","addMembers","processAddMembers","TeamReportClient","GeocoderClient","geocode","requestModel","processGeocode","LocationViewModel","getPlacePredictions","processGetPlacePredictions","PlacePredictionViewModel","getPlaceDetails","placeId","sessionToken","processGetPlaceDetails","HourlyRequestsClient","accept","processAccept","decline","processDecline","pause","processPause","hourlyRequestReservationDetails","processHourlyRequestReservationDetails","ReservationRequestDetailsModel","InternationalClient","countries","processCountries","getMerchantAccounts","processGetMerchantAccounts","MerchantAccountModel","MarketplaceCustomerProfilesClient","getCustomerProfile","payableType","payableId","processGetCustomerProfile","MarketplaceCustomerProfileModel","createPaymentProfile","processCreatePaymentProfile","PaymentMethodResponse","MembersClient","emailFilter","firstNameFilter","lastNameFilter","lastReadEmail","MemberListItemViewModel","searchEmail","term","takeCount","roles","processSearchEmail","searchOrganizerListAutocomplete","ownerId","searchPart","processSearchOrganizerListAutocomplete","OrganizerViewModel","connections","processConnections","getPicture","processGetPicture","getMemberProfile","processGetMemberProfile","MemberProfileViewModel","isEnterpriseAccountMember","processIsEnterpriseAccountMember","getPictures","memberIdsRequest","processGetPictures","MemberPicture","PaymentMethodClient","paymentMethods","processPaymentMethods","PaymentMethodListViewModel","updateDescription","processUpdateDescription","createCreditCard","processCreateCreditCard","exchangePlaidToken","processExchangePlaidToken","createLinkToken","processCreateLinkToken","deletePaymentMethod","processDeletePaymentMethod","makeDefault","processMakeDefault","stateCodes","processStateCodes","CountryStateCodesRepsonse","supportedCurrencies","processSupportedCurrencies","ProposalClient","savedSearchId","savedSearchMemberId","validatedMessage","chainId","attachments","item_","proposalId","RatingClient","RatingViewModel","average","processAverage","AverageRatingModel","ownByReservationId","reservationId","processOwnByReservationId","save","ratingViewModel","processSave","ReportClient","hourlyReservations","processHourlyReservations","HourlyReservation","TourClient","guestNoShow","processGuestNoShow","reason","isFirstConfirmedTourInVenue","processIsFirstConfirmedTourInVenue","confirm","processConfirm","update","date","processUpdate","suggest","processSuggest","VenueGroupExportStatusClient","venueGroupId","ExportVenueGroupStatus","VenueGroupExportClient","VenueGroupImportClient","VenueGroupImportStatusClient","ImportVenueGroupStatus","ImportVenueGroupStatusDetails","VenueGroupAdminsClient","VenueAdminModel","pregeneratedPictureId","isPasswordChanging","VenueGroupPricingRatesClient","getPricingRate","pricingRateId","isMonthly","processGetPricingRate","PricingRateViewModel","deletePricingRate","processDeletePricingRate","addOrEditPricingRate","pricingRateViewModel","processAddOrEditPricingRate","VenueGroupReportsClient","reports","processReports","VenueGroupReportsViewModel","monthlyLeadsReport","processMonthlyLeadsReport","pdfReport","onDate","processPdfReport","deleteReport","processDeleteReport","downloadReport","processDownloadReport","VenueGroupReservationsClient","getDataTiles","processGetDataTiles","DataTilesViewModel","getUpcomingReservations","processGetUpcomingReservations","HourlyReservationViewModel","getPastReservations","processGetPastReservations","VenueGroupReservationsComposer","VenueGroupsClient","venueGroup","processVenueGroup","VenueGroupModel","hourlyRequestToBook","processHourlyRequestToBook","HourlyRequestToBookModel","venueGroupVenues","processVenueGroupVenues","VenueGroupVenueListItem","getLogoPictureUrl","processGetLogoPictureUrl","PictureURLViewModel","resendClaimProposals","processResendClaimProposals","setForceGrantVisa","forceGrant","processSetForceGrantVisa","sendClaimProposals","processSendClaimProposals","getBulkAddVenues","visaType","processGetBulkAddVenues","VenueGroupBulkAddVenueViewModel","bulkAddVenues","bulkData","processBulkAddVenues","qualifyingMemberGroups","processQualifyingMemberGroups","KeyValuePairOfGuidAndString","venueVisas","processVenueVisas","VenueGroupSettingsClient","VenueGroupSettingsViewModel","VenueGroupsRootClient","VenueGroupListViewModel","venueGroupModel","VenueGroupStatementsClient","statements","processStatements","VenueGroupVenuesStatementWrapper","reportXlsxByDataId","spreadsheetDataId","processReportXlsxByDataId","VenueGroupVisasClient","getVisas","processGetVisas","VenueGroupVisaViewModel","addVisa","processAddVisa","deleteVisa","visaId","processDeleteVisa","WorkspaceScenariosClient","WorkspaceScenarioViewModel","VenueAmenitiesClient","amenities","processAmenities","VenueAmenityViewModel","workspaceAmenities","processWorkspaceAmenities","VenueClaimClient","claim","resend","processClaim","verifyHost","ticketId","processVerifyHost","VenuePermissionsClient","permissions","processPermissions","VenuePermissionsViewModel","requestPermissions","processRequestPermissions","VenuesClient","VenueModel","hasLiquidspacePro","processHasLiquidspacePro","healthAndSafetyPolicy","processHealthAndSafetyPolicy","autocomplete","processAutocomplete","VenueAutocompleteItem","getHeadquarterData","processGetHeadquarterData","VenueHeadquarterDataViewModel","WorkspacesClient","VenueWorkspaceModel","VenueAvailabilityClient","hourlyAvailability","timeChunkSize","processHourlyAvailability","ReservationCalendarWorkspaceModel","WorkspaceAvailabilityClient","closedDays","processClosedDays","ClosedDayModel","openHours","processOpenHours","OpenHoursItem","openHoursForTour","processOpenHoursForTour","unavailableDays","existingReservationId","processUnavailableDays","occurrenceDate","ReservationCalendarTimeChunkStateModel","checkAvailability","processCheckAvailability","CheckAvailabilityResponse","quantityAvilable","processQuantityAvilable","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","DiagnosticsConsoleMethodProto","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","template","processTemplate","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","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","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","ReservationDetails","ChangeWorkspaceRequest","HourlyReservationDetails","DaypassReservationDetails","MonthlyReservationDetails","GenericReservationDetails","RecurrentReservationDetails","recurrencePattern","recurrenceExcludedDates","quantity","autoRenew","useExistingPrice","StateCode","WaitlistRequest","venueName","locationCount","comment","endDate","memberFullName","memberEmail","reservationType","venueXPPUrl","guestsCount","teamName","location","spaceName","spaceTypeDescription","cost","isOutOfBudget","memberRemovedFromAccount","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","externalAccountId","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","toProcess","processed","isCompleted","isActiveAndOnboarded","ssoRequired","singInRequired","isAuthorized","verificationCompleted","EnterprisePortalRegisterRequest","password","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","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","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","hasRegusIntegration","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","accountName","routingNumber","bankAccount","payPalEmailAddress","bankAndBranchNumber","taxId","allHolidays","forDayOfWeek","forHolidays","HolidayViewModel","HooRuleForDayOfWeekViewModel","HooRuleForHolidayViewModel","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","DiagnosticsConsoleMethodParameterProto","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","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":""}