{"version":3,"file":"8669.49a44f2129ec5bc3fc44.js","mappings":"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,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAAAA,EAAA,cACAA,EAA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AA,EAAA,gBACH,CAHD,CAAYA,KAAAA,GAAc,KAKnB,MAAMg3E,GACTjjF,KACAkjF,cACAC,mBAEA9mF,WAAAA,CAAYgY,GACR,GAAIA,EACA,IAAK,IAAIooC,KAAYpoC,EACbA,EAAKwE,eAAe4jC,IAAalgD,KAAKsc,eAAe4jC,KAC/ClgD,KAAMkgD,GAAkBpoC,EAAMooC,GAIpD,CAEAC,IAAAA,CAAKC,GACGA,IACApgD,KAAKyD,KAAO28C,EAAY,KACxBpgD,KAAK2mF,cAAgBvmC,EAAqB,cAC1CpgD,KAAK4mF,mBAAqBxmC,EAA0B,mBAE5D,CAEA,aAAOxsC,CAAOkE,GACVA,EAAuB,iBAATA,EAAoBA,EAAO,CAAC,EAC1C,IAAIuoC,EAAS,IAAIqmC,GAEjB,OADArmC,EAAOF,KAAKroC,GACLuoC,CACX,CAEApgD,MAAAA,CAAO6X,GAKH,OAJAA,EAAuB,iBAATA,EAAoBA,EAAO,CAAC,GAC/B,KAAI9X,KAAKyD,KACpBqU,EAAoB,cAAI9X,KAAK2mF,cAC7B7uE,EAAyB,mBAAI9X,KAAK4mF,mBAC3B9uE,CACX,EASG,MAAMu4B,GACTtqC,GACA09C,SACA5B,YACAJ,YACA0U,eACAC,eACA5kB,KACA6kB,IACA9kB,MACAD,QACAwT,SACAC,UACA8hC,cACAC,qBACAC,cACAC,eACAC,aACAC,sBACAC,eACAC,MACAC,UACAzhC,qBACAC,2BACAyhC,WACAd,eACAe,2BACAC,SACAC,eACAC,YACAC,aACAC,cACAC,cACAC,sBACAC,YACAC,sBACAC,sBACA16B,OACAkI,eACAmP,KACApc,SACA0/B,wBACAC,WACAjqE,UACAkqE,mBACAt3B,cACAu3B,2BACA1C,yBACAI,qBACAuC,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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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, accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/member/{memberId}\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMember(_response));\r\n });\r\n }\r\n\r\n protected processGetMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n banner(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/banner\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBanner(_response));\r\n });\r\n }\r\n\r\n protected processBanner(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = BrandedBannerViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMessengerTargets(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/messengertargets\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMessengerTargets(_response));\r\n });\r\n }\r\n\r\n protected processGetMessengerTargets(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MessageTargetAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n completePortalGuide(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/completePortalGuide\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCompletePortalGuide(_response));\r\n });\r\n }\r\n\r\n protected processCompletePortalGuide(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n subscribeOnEmail(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/subscribeOnEmail?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSubscribeOnEmail(_response));\r\n });\r\n }\r\n\r\n protected processSubscribeOnEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unsubscribeOnEmail(accountId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/unsubscribeOnEmail?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnsubscribeOnEmail(_response));\r\n });\r\n }\r\n\r\n protected processUnsubscribeOnEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getColleaguesNearBy(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/members/nearby\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetColleaguesNearBy(_response));\r\n });\r\n }\r\n\r\n protected processGetColleaguesNearBy(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationMemberViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getActivities(accountId: string, selectedDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/portal/activities?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (selectedDate !== undefined && selectedDate !== null)\r\n url_ += \"selectedDate=\" + encodeURIComponent(\"\" + selectedDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetActivities(_response));\r\n });\r\n }\r\n\r\n protected processGetActivities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DayActivityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SingleSignOnClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SSOSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(accountId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n federationMetadata(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/SingleSignOn/FederationMetadata\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processFederationMetadata(_response));\r\n });\r\n }\r\n\r\n protected processFederationMetadata(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TeamClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get team information\r\n */\r\n get(teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(teamId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(model: TeamAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List members assigned to the team\r\n * @param teamId Team ID\r\n * @param take (optional) Optional number of entried to return\r\n * @return List of members. Response length can be limited to return only first take members, ordered by ID\r\n */\r\n members(teamId: string, take: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (take !== undefined && take !== null)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMembers(_response));\r\n });\r\n }\r\n\r\n protected processMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberInfoViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Create and invite member to team\r\n * @param teamId Team ID\r\n * @param suppressInviteEmail (optional) true to supress sending invitation email\r\n * @param model Member model\r\n */\r\n addMember(teamId: string, suppressInviteEmail: boolean | undefined, model: TeamMemberAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (suppressInviteEmail === null)\r\n throw new Error(\"The parameter 'suppressInviteEmail' cannot be null.\");\r\n else if (suppressInviteEmail !== undefined)\r\n url_ += \"suppressInviteEmail=\" + encodeURIComponent(\"\" + suppressInviteEmail) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddMember(_response));\r\n });\r\n }\r\n\r\n protected processAddMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteMember(teamId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/{memberId}\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteMember(_response));\r\n });\r\n }\r\n\r\n protected processDeleteMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setMemberSuspended(teamId: string, memberId: string, isSuspended: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/{memberId}/suspended?\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isSuspended === null)\r\n throw new Error(\"The parameter 'isSuspended' cannot be null.\");\r\n else if (isSuspended !== undefined)\r\n url_ += \"isSuspended=\" + encodeURIComponent(\"\" + isSuspended) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetMemberSuspended(_response));\r\n });\r\n }\r\n\r\n protected processSetMemberSuspended(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addMembers(teamId: string, model: TeamMembersAddViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/members/import\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddMembers(_response));\r\n });\r\n }\r\n\r\n protected processAddMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendInvites(teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/teams/{teamId}/reinvite-all\";\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendInvites(_response));\r\n });\r\n }\r\n\r\n protected processResendInvites(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TeamReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n generate(accountId: string, teamId: string, fileFormat: DownloadFileFormat | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (fileFormat === null)\r\n throw new Error(\"The parameter 'fileFormat' cannot be null.\");\r\n else if (fileFormat !== undefined)\r\n url_ += \"fileFormat=\" + encodeURIComponent(\"\" + fileFormat) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerate(_response));\r\n });\r\n }\r\n\r\n protected processGenerate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(accountId: string, teamId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ActivityReservationReportStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(accountId: string, teamId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(accountId: string, teamId: string, reportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/enterpriseaccounts/{accountId}/teams/{teamId}/reports/{reportId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (teamId === undefined || teamId === null)\r\n throw new Error(\"The parameter 'teamId' must be defined.\");\r\n url_ = url_.replace(\"{teamId}\", encodeURIComponent(\"\" + teamId));\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class GeocoderClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n geocode(requestModel: GeocodeRequestModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/geocode\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGeocode(_response));\r\n });\r\n }\r\n\r\n protected processGeocode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(LocationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPlacePredictions(requestModel: PlacePredictionsRequestViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/getplacepredictions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(requestModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPlacePredictions(_response));\r\n });\r\n }\r\n\r\n protected processGetPlacePredictions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PlacePredictionViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPlaceDetails(placeId: string, sessionToken: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/geocoder/place/{placeId}?\";\r\n if (placeId === undefined || placeId === null)\r\n throw new Error(\"The parameter 'placeId' must be defined.\");\r\n url_ = url_.replace(\"{placeId}\", encodeURIComponent(\"\" + placeId));\r\n if (sessionToken !== undefined && sessionToken !== null)\r\n url_ += \"sessionToken=\" + encodeURIComponent(\"\" + sessionToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPlaceDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetPlaceDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LocationViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class HourlyRequestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n accept(requestId: string, model: AcceptRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/accept\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAccept(_response));\r\n });\r\n }\r\n\r\n protected processAccept(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n decline(requestId: string, model: DeclineRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/decline\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecline(_response));\r\n });\r\n }\r\n\r\n protected processDecline(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pause(requestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}/pause\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPause(_response));\r\n });\r\n }\r\n\r\n protected processPause(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hourlyRequestReservationDetails(requestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/hourly-requests/{requestId}\";\r\n if (requestId === undefined || requestId === null)\r\n throw new Error(\"The parameter 'requestId' must be defined.\");\r\n url_ = url_.replace(\"{requestId}\", encodeURIComponent(\"\" + requestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyRequestReservationDetails(_response));\r\n });\r\n }\r\n\r\n protected processHourlyRequestReservationDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReservationRequestDetailsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class InternationalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n countries(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/countries\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCountries(_response));\r\n });\r\n }\r\n\r\n protected processCountries(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMerchantAccounts(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/merchantaccount\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMerchantAccounts(_response));\r\n });\r\n }\r\n\r\n protected processGetMerchantAccounts(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MerchantAccountModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class LocationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n currentCountry(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/location/current/country\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCurrentCountry(_response));\r\n });\r\n }\r\n\r\n protected processCurrentCountry(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MarketplaceCustomerProfilesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getCustomerProfile(payableType: PayableType, payableId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace/{payableType}/{payableId}/customer-profiles\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCustomerProfile(_response));\r\n });\r\n }\r\n\r\n protected processGetCustomerProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MarketplaceCustomerProfileModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createPaymentProfile(payableType: PayableType, payableId: string, request: MarketplacePaymentProfileCreateRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace/{payableType}/{payableId}/customer-profiles/payment-profiles\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreatePaymentProfile(_response));\r\n });\r\n }\r\n\r\n protected processCreatePaymentProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MembersClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(emailFilter: string | null | undefined, firstNameFilter: string | null | undefined, lastNameFilter: string | null | undefined, lastReadEmail: string | null | undefined, take: number | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members?\";\r\n if (emailFilter !== undefined && emailFilter !== null)\r\n url_ += \"emailFilter=\" + encodeURIComponent(\"\" + emailFilter) + \"&\";\r\n if (firstNameFilter !== undefined && firstNameFilter !== null)\r\n url_ += \"firstNameFilter=\" + encodeURIComponent(\"\" + firstNameFilter) + \"&\";\r\n if (lastNameFilter !== undefined && lastNameFilter !== null)\r\n url_ += \"lastNameFilter=\" + encodeURIComponent(\"\" + lastNameFilter) + \"&\";\r\n if (lastReadEmail !== undefined && lastReadEmail !== null)\r\n url_ += \"lastReadEmail=\" + encodeURIComponent(\"\" + lastReadEmail) + \"&\";\r\n if (take === null)\r\n throw new Error(\"The parameter 'take' cannot be null.\");\r\n else if (take !== undefined)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(memberId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/memberId?\";\r\n if (memberId === null)\r\n throw new Error(\"The parameter 'memberId' cannot be null.\");\r\n else if (memberId !== undefined)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searchEmail(term: string | undefined, takeCount: number | undefined, roles: MemberRole[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/search?\";\r\n if (term === null)\r\n throw new Error(\"The parameter 'term' cannot be null.\");\r\n else if (term !== undefined)\r\n url_ += \"term=\" + encodeURIComponent(\"\" + term) + \"&\";\r\n if (takeCount === null)\r\n throw new Error(\"The parameter 'takeCount' cannot be null.\");\r\n else if (takeCount !== undefined)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n if (roles !== undefined && roles !== null)\r\n roles && roles.forEach(item => { url_ += \"roles=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchEmail(_response));\r\n });\r\n }\r\n\r\n protected processSearchEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n searchOrganizerListAutocomplete(venueId: string | undefined, workspaceId: string | undefined, ownerId: string | null | undefined, searchPart: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/organizer-list/autocomlete?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n if (searchPart !== undefined && searchPart !== null)\r\n url_ += \"searchPart=\" + encodeURIComponent(\"\" + searchPart) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSearchOrganizerListAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processSearchOrganizerListAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganizerViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n connections(ownerId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/connections?\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConnections(_response));\r\n });\r\n }\r\n\r\n protected processConnections(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OrganizerViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPicture(memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/{memberId}/picture\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPicture(_response));\r\n });\r\n }\r\n\r\n protected processGetPicture(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMemberProfile(memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/{memberId}/member-profile\";\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMemberProfile(_response));\r\n });\r\n }\r\n\r\n protected processGetMemberProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberProfileViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isEnterpriseAccountMember(email: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/is-enterprise-member?\";\r\n if (email === null)\r\n throw new Error(\"The parameter 'email' cannot be null.\");\r\n else if (email !== undefined)\r\n url_ += \"email=\" + encodeURIComponent(\"\" + email) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsEnterpriseAccountMember(_response));\r\n });\r\n }\r\n\r\n protected processIsEnterpriseAccountMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPictures(memberIdsRequest: string[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/members/pictures\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(memberIdsRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPictures(_response));\r\n });\r\n }\r\n\r\n protected processGetPictures(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberPicture.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PaymentMethodClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n paymentMethods(payableType: PayableType, payableId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/{payableType}/{payableId}\";\r\n if (payableType === undefined || payableType === null)\r\n throw new Error(\"The parameter 'payableType' must be defined.\");\r\n url_ = url_.replace(\"{payableType}\", encodeURIComponent(\"\" + payableType));\r\n if (payableId === undefined || payableId === null)\r\n throw new Error(\"The parameter 'payableId' must be defined.\");\r\n url_ = url_.replace(\"{payableId}\", encodeURIComponent(\"\" + payableId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPaymentMethods(_response));\r\n });\r\n }\r\n\r\n protected processPaymentMethods(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodListViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateDescription(request: UpdatePaymentMethodDescriptionRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/updatedescription\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateDescription(_response));\r\n });\r\n }\r\n\r\n protected processUpdateDescription(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createCreditCard(request: CreditCardRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/credit-card\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateCreditCard(_response));\r\n });\r\n }\r\n\r\n protected processCreateCreditCard(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exchangePlaidToken(request: ExchangePlaidTokenRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/exchangeplaidtoken\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExchangePlaidToken(_response));\r\n });\r\n }\r\n\r\n protected processExchangePlaidToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PaymentMethodResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n createLinkToken(request: CreatePlaidLinkTokenRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/create-link-token\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreateLinkToken(_response));\r\n });\r\n }\r\n\r\n protected processCreateLinkToken(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePaymentMethod(request: PaymentMethodRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePaymentMethod(_response));\r\n });\r\n }\r\n\r\n protected processDeletePaymentMethod(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n makeDefault(request: PaymentMethodRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/makedefault\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMakeDefault(_response));\r\n });\r\n }\r\n\r\n protected processMakeDefault(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n stateCodes(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/statecodes\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStateCodes(_response));\r\n });\r\n }\r\n\r\n protected processStateCodes(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CountryStateCodesRepsonse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n supportedCurrencies(signal?: AbortSignal): Promise<{ [key: string]: CurrencyType; }> {\r\n let url_ = this.baseUrl + \"/api/paymentmethods/SupportedCurrencies\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSupportedCurrencies(_response));\r\n });\r\n }\r\n\r\n protected processSupportedCurrencies(response: Response): Promise<{ [key: string]: CurrencyType; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: CurrencyType; }>(null as any);\r\n }\r\n}\r\n\r\nexport class ProposalClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n create(venueId: string | undefined, workspaceId: string | undefined, savedSearchId: string | undefined, savedSearchMemberId: string | undefined, message: string | undefined, validatedMessage: string | undefined, chainId: string | null | undefined, attachments: FileParameter[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Proposal/Create?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (savedSearchId === null)\r\n throw new Error(\"The parameter 'savedSearchId' cannot be null.\");\r\n else if (savedSearchId !== undefined)\r\n url_ += \"savedSearchId=\" + encodeURIComponent(\"\" + savedSearchId) + \"&\";\r\n if (savedSearchMemberId === null)\r\n throw new Error(\"The parameter 'savedSearchMemberId' cannot be null.\");\r\n else if (savedSearchMemberId !== undefined)\r\n url_ += \"savedSearchMemberId=\" + encodeURIComponent(\"\" + savedSearchMemberId) + \"&\";\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n if (validatedMessage === null)\r\n throw new Error(\"The parameter 'validatedMessage' cannot be null.\");\r\n else if (validatedMessage !== undefined)\r\n url_ += \"validatedMessage=\" + encodeURIComponent(\"\" + validatedMessage) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (attachments !== null && attachments !== undefined)\r\n attachments.forEach(item_ => content_.append(\"attachments\", item_.data, item_.fileName ? item_.fileName : \"attachments\") );\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n decline(proposalId: string | undefined, memberId: string | null | undefined, message: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Proposal/Decline?\";\r\n if (proposalId === null)\r\n throw new Error(\"The parameter 'proposalId' cannot be null.\");\r\n else if (proposalId !== undefined)\r\n url_ += \"proposalId=\" + encodeURIComponent(\"\" + proposalId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecline(_response));\r\n });\r\n }\r\n\r\n protected processDecline(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RatingClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(workspaceId: string, take: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/list/{workspaceId}?\";\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (take !== undefined && take !== null)\r\n url_ += \"take=\" + encodeURIComponent(\"\" + take) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(RatingViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n average(venueId: string, workspaceId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/average/{venueId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAverage(_response));\r\n });\r\n }\r\n\r\n protected processAverage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AverageRatingModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n ownByReservationId(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/own/reservation/{reservationId}\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOwnByReservationId(_response));\r\n });\r\n }\r\n\r\n protected processOwnByReservationId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = RatingViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n save(ratingViewModel: RatingUpsertModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/Rating/save\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(ratingViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSave(_response));\r\n });\r\n }\r\n\r\n protected processSave(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ResponseWrapper.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n hourlyReservations(start: string | undefined, end: string | undefined, requestId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reports/reservations/hourly?\";\r\n if (start === null)\r\n throw new Error(\"The parameter 'start' cannot be null.\");\r\n else if (start !== undefined)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end === null)\r\n throw new Error(\"The parameter 'end' cannot be null.\");\r\n else if (end !== undefined)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyReservations(_response));\r\n });\r\n }\r\n\r\n protected processHourlyReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservation.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class TourClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n guestNoShow(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/GuestNoShow\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGuestNoShow(_response));\r\n });\r\n }\r\n\r\n protected processGuestNoShow(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n cancel(id: string, reason: TourCancelReason | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/Cancel?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (reason === null)\r\n throw new Error(\"The parameter 'reason' cannot be null.\");\r\n else if (reason !== undefined)\r\n url_ += \"reason=\" + encodeURIComponent(\"\" + reason) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCancel(_response));\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isFirstConfirmedTourInVenue(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/IsFirstConfirmedTourInVenue\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsFirstConfirmedTourInVenue(_response));\r\n });\r\n }\r\n\r\n protected processIsFirstConfirmedTourInVenue(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n confirm(id: string, message: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}/Confirm?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (message !== undefined && message !== null)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConfirm(_response));\r\n });\r\n }\r\n\r\n protected processConfirm(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n \r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(id: string, date: string | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour/{id}?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (date === null)\r\n throw new Error(\"The parameter 'date' cannot be null.\");\r\n else if (date !== undefined)\r\n url_ += \"date=\" + encodeURIComponent(\"\" + date) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdate(_response));\r\n });\r\n }\r\n\r\n protected processUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = resultData400 !== undefined ? resultData400 : null;\r\n \r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n suggest(request: SuggestTourViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/tour\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSuggest(_response));\r\n });\r\n }\r\n\r\n protected processSuggest(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupExportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ExportVenueGroupStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueGroupId: string, exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status/{exportId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ExportVenueGroupStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, exportId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export/status/{exportId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (exportId === undefined || exportId === null)\r\n throw new Error(\"The parameter 'exportId' must be defined.\");\r\n url_ = url_.replace(\"{exportId}\", encodeURIComponent(\"\" + exportId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupExportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n export(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/export\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExport(_response));\r\n });\r\n }\r\n\r\n protected processExport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupImportClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n import(venueGroupId: string, model: VenueGroupImportViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processImport(_response));\r\n });\r\n }\r\n\r\n protected processImport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupImportStatusClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ImportVenueGroupStatus.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportVenueGroupStatus.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetails(venueGroupId: string, importId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/import/status/{importId}/details\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (importId === undefined || importId === null)\r\n throw new Error(\"The parameter 'importId' must be defined.\");\r\n url_ = url_.replace(\"{importId}\", encodeURIComponent(\"\" + importId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ImportVenueGroupStatusDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupAdminsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAdminModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(venueGroupId: string, pregeneratedPictureId: string | undefined, model: VenueAdminModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pregeneratedPictureId === null)\r\n throw new Error(\"The parameter 'pregeneratedPictureId' cannot be null.\");\r\n else if (pregeneratedPictureId !== undefined)\r\n url_ += \"pregeneratedPictureId=\" + encodeURIComponent(\"\" + pregeneratedPictureId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(venueGroupId: string, memberId: string, isPasswordChanging: boolean | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins/{memberId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isPasswordChanging === null)\r\n throw new Error(\"The parameter 'isPasswordChanging' cannot be null.\");\r\n else if (isPasswordChanging !== undefined)\r\n url_ += \"isPasswordChanging=\" + encodeURIComponent(\"\" + isPasswordChanging) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/admins/{memberId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupPricingRatesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getPricingRate(venueGroupId: string, pricingRateId: string, isMonthly: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates/{pricingRateId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pricingRateId === undefined || pricingRateId === null)\r\n throw new Error(\"The parameter 'pricingRateId' must be defined.\");\r\n url_ = url_.replace(\"{pricingRateId}\", encodeURIComponent(\"\" + pricingRateId));\r\n if (isMonthly === null)\r\n throw new Error(\"The parameter 'isMonthly' cannot be null.\");\r\n else if (isMonthly !== undefined)\r\n url_ += \"isMonthly=\" + encodeURIComponent(\"\" + isMonthly) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPricingRate(_response));\r\n });\r\n }\r\n\r\n protected processGetPricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PricingRateViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePricingRate(venueGroupId: string, pricingRateId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates/{pricingRateId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (pricingRateId === undefined || pricingRateId === null)\r\n throw new Error(\"The parameter 'pricingRateId' must be defined.\");\r\n url_ = url_.replace(\"{pricingRateId}\", encodeURIComponent(\"\" + pricingRateId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePricingRate(_response));\r\n });\r\n }\r\n\r\n protected processDeletePricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addOrEditPricingRate(venueGroupId: string, pricingRateViewModel: PricingRateViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pricing-rates\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pricingRateViewModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddOrEditPricingRate(_response));\r\n });\r\n }\r\n\r\n protected processAddOrEditPricingRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PricingRateViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupReportsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n reports(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReports(_response));\r\n });\r\n }\r\n\r\n protected processReports(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupReportsViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n monthlyLeadsReport(venueGroupId: string, model: VenueGroupMonthlyLeadsReportParamsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/monthly-leads\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMonthlyLeadsReport(_response));\r\n });\r\n }\r\n\r\n protected processMonthlyLeadsReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pdfReport(venueGroupId: string, onDate: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/pdf?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (onDate === null)\r\n throw new Error(\"The parameter 'onDate' cannot be null.\");\r\n else if (onDate !== undefined)\r\n url_ += \"onDate=\" + encodeURIComponent(\"\" + onDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPdfReport(_response));\r\n });\r\n }\r\n\r\n protected processPdfReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteReport(reportId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/{reportId}\";\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteReport(_response));\r\n });\r\n }\r\n\r\n protected processDeleteReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n downloadReport(reportId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reports/{reportId}/download\";\r\n if (reportId === undefined || reportId === null)\r\n throw new Error(\"The parameter 'reportId' must be defined.\");\r\n url_ = url_.replace(\"{reportId}\", encodeURIComponent(\"\" + reportId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDownloadReport(_response));\r\n });\r\n }\r\n\r\n protected processDownloadReport(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupReservationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getDataTiles(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/statistics\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDataTiles(_response));\r\n });\r\n }\r\n\r\n protected processGetDataTiles(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DataTilesViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUpcomingReservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/upcoming\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUpcomingReservations(_response));\r\n });\r\n }\r\n\r\n protected processGetUpcomingReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getPastReservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/past\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPastReservations(_response));\r\n });\r\n }\r\n\r\n protected processGetPastReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reservations(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/reservations/list\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReservations(_response));\r\n });\r\n }\r\n\r\n protected processReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupReservationsComposer.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n venueGroup(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroup(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroup(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hourlyRequestToBook(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/hourly-requests-to-book\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyRequestToBook(_response));\r\n });\r\n }\r\n\r\n protected processHourlyRequestToBook(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HourlyRequestToBookModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueGroupVenues(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroupVenues(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroupVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupVenueListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLogoPictureUrl(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/pictures/logo\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLogoPictureUrl(_response));\r\n });\r\n }\r\n\r\n protected processGetLogoPictureUrl(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PictureURLViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n resendClaimProposals(venueId: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues/{venueId}/resend-claim-proposals\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processResendClaimProposals(_response));\r\n });\r\n }\r\n\r\n protected processResendClaimProposals(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setForceGrantVisa(venueGroupId: string, forceGrant: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/force-grant-visa?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (forceGrant === null)\r\n throw new Error(\"The parameter 'forceGrant' cannot be null.\");\r\n else if (forceGrant !== undefined)\r\n url_ += \"forceGrant=\" + encodeURIComponent(\"\" + forceGrant) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetForceGrantVisa(_response));\r\n });\r\n }\r\n\r\n protected processSetForceGrantVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n sendClaimProposals(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/claim-proposals\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSendClaimProposals(_response));\r\n });\r\n }\r\n\r\n protected processSendClaimProposals(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBulkAddVenues(venueGroupId: string, visaType: VenueGroupVisaType, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/bulk-add-venues/{visaType}\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaType === undefined || visaType === null)\r\n throw new Error(\"The parameter 'visaType' must be defined.\");\r\n url_ = url_.replace(\"{visaType}\", encodeURIComponent(\"\" + visaType));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBulkAddVenues(_response));\r\n });\r\n }\r\n\r\n protected processGetBulkAddVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupBulkAddVenueViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bulkAddVenues(venueGroupId: string, bulkData: VenueGroupBulkData, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/bulk-add-venues\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(bulkData);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBulkAddVenues(_response));\r\n });\r\n }\r\n\r\n protected processBulkAddVenues(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n qualifyingMemberGroups(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/qualifying-member-groups\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQualifyingMemberGroups(_response));\r\n });\r\n }\r\n\r\n protected processQualifyingMemberGroups(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(KeyValuePairOfGuidAndString.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueVisas(venueGroupId: string, venueId: string, visaType: VenueGroupVisaType | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/venues/{venueId}/visas?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaType !== undefined && visaType !== null)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueVisas(_response));\r\n });\r\n }\r\n\r\n protected processVenueVisas(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(KeyValuePairOfGuidAndString.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupSettingsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/settings\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupSettingsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(venueGroupId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/settings\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupsRootClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupListViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(venueGroupModel: VenueGroupSettingsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(venueGroupModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupStatementsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n statements(venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/statements\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStatements(_response));\r\n });\r\n }\r\n\r\n protected processStatements(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueGroupVenuesStatementWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n reportXlsxByDataId(venueGroupId: string, spreadsheetDataId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/statements/{spreadsheetDataId}/report.xlsx\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (spreadsheetDataId === undefined || spreadsheetDataId === null)\r\n throw new Error(\"The parameter 'spreadsheetDataId' must be defined.\");\r\n url_ = url_.replace(\"{spreadsheetDataId}\", encodeURIComponent(\"\" + spreadsheetDataId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processReportXlsxByDataId(_response));\r\n });\r\n }\r\n\r\n protected processReportXlsxByDataId(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueGroupVisasClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getVisas(venueGroupId: string, visaType: VenueGroupVisaType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaType === null)\r\n throw new Error(\"The parameter 'visaType' cannot be null.\");\r\n else if (visaType !== undefined)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetVisas(_response));\r\n });\r\n }\r\n\r\n protected processGetVisas(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupVisaViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addVisa(venueGroupId: string, request: AddVisaRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddVisa(_response));\r\n });\r\n }\r\n\r\n protected processAddVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData400)) {\r\n result400 = [] as any;\r\n for (let item of resultData400)\r\n result400!.push(ResponseWrapper.fromJS(item));\r\n }\r\n else {\r\n result400 = null;\r\n }\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteVisa(venueGroupId: string, venueId: string | undefined, visaId: string, visaType: VenueGroupVisaType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-groups/{venueGroupId}/visas/{visaId}?\";\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (visaType === null)\r\n throw new Error(\"The parameter 'visaType' cannot be null.\");\r\n else if (visaType !== undefined)\r\n url_ += \"visaType=\" + encodeURIComponent(\"\" + visaType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteVisa(_response));\r\n });\r\n }\r\n\r\n protected processDeleteVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WebhookExampleClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Example webhook endpoint for API Clients\r\n */\r\n callback(event: WebhookEvent, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/webhook/example\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(event);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCallback(_response));\r\n });\r\n }\r\n\r\n protected processCallback(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspaceScenariosClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/workspace-scenarios\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(WorkspaceScenarioViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueAmenitiesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * List of all requestable/included amenities for reservation\r\n */\r\n amenities(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/amenities\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAmenities(_response));\r\n });\r\n }\r\n\r\n protected processAmenities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * List of all requestable/included workspace amenities for reservation\r\n */\r\n workspaceAmenities(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/amenities\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processWorkspaceAmenities(_response));\r\n });\r\n }\r\n\r\n protected processWorkspaceAmenities(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueClaimClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n claim(venueId: string, resend: boolean | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/claim?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (resend === null)\r\n throw new Error(\"The parameter 'resend' cannot be null.\");\r\n else if (resend !== undefined)\r\n url_ += \"resend=\" + encodeURIComponent(\"\" + resend) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClaim(_response));\r\n });\r\n }\r\n\r\n protected processClaim(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verifyHost(venueId: string, ticketId: number, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/claim/{ticketId}/verify\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (ticketId === undefined || ticketId === null)\r\n throw new Error(\"The parameter 'ticketId' must be defined.\");\r\n url_ = url_.replace(\"{ticketId}\", encodeURIComponent(\"\" + ticketId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVerifyHost(_response));\r\n });\r\n }\r\n\r\n protected processVerifyHost(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenuePermissionsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n permissions(venueId: string, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/permissions?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPermissions(_response));\r\n });\r\n }\r\n\r\n protected processPermissions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuePermissionsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n requestPermissions(venueId: string, request: VenuePermissionsRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/permissions\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRequestPermissions(_response));\r\n });\r\n }\r\n\r\n protected processRequestPermissions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenuesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get venue details\r\n * @param venueId Venue ID\r\n * @return Venue details\r\n */\r\n get(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hasLiquidspacePro(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/hasliquidspacepro\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHasLiquidspacePro(_response));\r\n });\r\n }\r\n\r\n protected processHasLiquidspacePro(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n healthAndSafetyPolicy(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/healthandsafetypolicy\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHealthAndSafetyPolicy(_response));\r\n });\r\n }\r\n\r\n protected processHealthAndSafetyPolicy(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Search venues by prefix term\r\n * @param term (optional) Venue name prefix term\r\n * @return List of venue ID+Name pairs\r\n */\r\n autocomplete(term: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/search?\";\r\n if (term !== undefined && term !== null)\r\n url_ += \"term=\" + encodeURIComponent(\"\" + term) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getHeadquarterData(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/headquarterdata\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetHeadquarterData(_response));\r\n });\r\n }\r\n\r\n protected processGetHeadquarterData(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueHeadquarterDataViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspacesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * List workspaces of venue\r\n * @param venueId Venue ID\r\n * @return List of workspace details\r\n */\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueWorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspaces details\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @return Workspace details\r\n */\r\n get(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueWorkspaceModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class VenueAvailabilityClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get venue hourly availability at requested date\r\n * @param venueId Venue ID\r\n * @param date Date on which the availability calculation is to be made (Venue time zone)\r\n * @param timeChunkSize (optional) Granularity of response time chunks. Min15 is most accurate\r\n */\r\n hourlyAvailability(venueId: string, date: string, timeChunkSize: TimeChunkSize | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/availability/hourly/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (timeChunkSize === null)\r\n throw new Error(\"The parameter 'timeChunkSize' cannot be null.\");\r\n else if (timeChunkSize !== undefined)\r\n url_ += \"timeChunkSize=\" + encodeURIComponent(\"\" + timeChunkSize) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyAvailability(_response));\r\n });\r\n }\r\n\r\n protected processHourlyAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationCalendarWorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class WorkspaceAvailabilityClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get workspace closed days for requested month\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date First day of month on which the availability calculation is to be made\r\n */\r\n closedDays(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/closed-days/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClosedDays(_response));\r\n });\r\n }\r\n\r\n protected processClosedDays(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ClosedDayModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace open hours at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made\r\n */\r\n openHours(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/open-hours/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenHours(_response));\r\n });\r\n }\r\n\r\n protected processOpenHours(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpenHoursItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace open for tour hours at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made\r\n */\r\n openHoursForTour(venueId: string, workspaceId: string, date: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/tour/open-hours/{date}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenHoursForTour(_response));\r\n });\r\n }\r\n\r\n protected processOpenHoursForTour(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OpenHoursItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get monthly workspace closed days for requested month\r\n * @param venueId Venue ID\r\n * @param workspaceId Monthly Workspace ID\r\n * @param date First day of month on which the availability calculation is to be made\r\n * @param memberId (optional) \r\n * @param existingReservationId (optional) Optional monthly reservation ID to be excluded from availability calculations.\r\n Shuold be used in order to calculated proper availability in edit reservation scenario.\r\n */\r\n unavailableDays(venueId: string, workspaceId: string, date: string, memberId: string | null | undefined, existingReservationId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/unavailable-days/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (existingReservationId !== undefined && existingReservationId !== null)\r\n url_ += \"existingReservationId=\" + encodeURIComponent(\"\" + existingReservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnavailableDays(_response));\r\n });\r\n }\r\n\r\n protected processUnavailableDays(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ClosedDayModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get workspace hourly availability at requested date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param date Date on which the availability calculation is to be made (Venue time zone)\r\n * @param timeChunkSize (optional) Granularity of response time chunks. Min15 is most accurate\r\n * @param reservationId (optional) Id of reservation to exclude from availability calculations (for example when editing)\r\n * @param occurrenceDate (optional) Occurrence date to exclude occurrence of recurrent from availability calculations\r\n */\r\n hourlyAvailability(venueId: string, workspaceId: string, date: string, timeChunkSize: TimeChunkSize | undefined, reservationId: string | null | undefined, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/hourly/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (timeChunkSize === null)\r\n throw new Error(\"The parameter 'timeChunkSize' cannot be null.\");\r\n else if (timeChunkSize !== undefined)\r\n url_ += \"timeChunkSize=\" + encodeURIComponent(\"\" + timeChunkSize) + \"&\";\r\n if (reservationId !== undefined && reservationId !== null)\r\n url_ += \"reservationId=\" + encodeURIComponent(\"\" + reservationId) + \"&\";\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHourlyAvailability(_response));\r\n });\r\n }\r\n\r\n protected processHourlyAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationCalendarTimeChunkStateModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ProblemDetails.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Check workspace availability and get next available date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param request Additional details (date, time, quantity, existing reservation id)\r\n * @return Next available date for the workspace in the venue time zone or null if none found\r\n */\r\n checkAvailability(venueId: string, workspaceId: string, request: CheckAvailabilityRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/check\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckAvailability(_response));\r\n });\r\n }\r\n\r\n protected processCheckAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CheckAvailabilityResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get available desks quantity for specific date.\r\n * @param existingReservationId (optional) Id of the reservation you are editing to exclude from quantity calculations (in case you plan to edit it's quantity)\r\n */\r\n quantityAvilable(venueId: string, workspaceId: string, date: string, existingReservationId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/quantity/{date}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n if (date === undefined || date === null)\r\n throw new Error(\"The parameter 'date' must be defined.\");\r\n url_ = url_.replace(\"{date}\", encodeURIComponent(\"\" + date));\r\n if (existingReservationId !== undefined && existingReservationId !== null)\r\n url_ += \"existingReservationId=\" + encodeURIComponent(\"\" + existingReservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processQuantityAvilable(_response));\r\n });\r\n }\r\n\r\n protected processQuantityAvilable(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Check workspace availability and get next available date\r\n * @param venueId Venue ID\r\n * @param workspaceId Workspace ID\r\n * @param request Additional details (date, time, quantity, existing reservation id)\r\n * @return Next available date for the workspace in the venue time zone or null if none found\r\n */\r\n checkRegusAvailability(venueId: string, workspaceId: string, request: CheckAvailabilityRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venues/{venueId}/workspaces/{workspaceId}/availability/checkregus\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckRegusAvailability(_response));\r\n });\r\n }\r\n\r\n protected processCheckRegusAvailability(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CheckRegusAvailabilityResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UserClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n currentMember(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCurrentMember(_response));\r\n });\r\n }\r\n\r\n protected processCurrentMember(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n enterpriseAccountMembership(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/ea\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEnterpriseAccountMembership(_response));\r\n });\r\n }\r\n\r\n protected processEnterpriseAccountMembership(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = UserInfoEnterpriseAccountResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getCounters(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/counters\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetCounters(_response));\r\n });\r\n }\r\n\r\n protected processGetCounters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HeaderMenuCountersViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class UserVenuesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getOwned(venueId: string | null | undefined, takeCount: number | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/venues/owned?\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (takeCount !== undefined && takeCount !== null)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetOwned(_response));\r\n });\r\n }\r\n\r\n protected processGetOwned(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MyVenueViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRecent(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/venues/recent\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRecent(_response));\r\n });\r\n }\r\n\r\n protected processGetRecent(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueSearchResult.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUnfinished(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/users/me/venues/owned/unfinished\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUnfinished(_response));\r\n });\r\n }\r\n\r\n protected processGetUnfinished(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SavedSearchRequestClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(savedSearchRequestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/request/{savedSearchRequestId}\";\r\n if (savedSearchRequestId === undefined || savedSearchRequestId === null)\r\n throw new Error(\"The parameter 'savedSearchRequestId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchRequestId}\", encodeURIComponent(\"\" + savedSearchRequestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SavedSearchRequestWithId.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n update(savedSearchRequestId: string, searchRequest: SavedSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/request/{savedSearchRequestId}\";\r\n if (savedSearchRequestId === undefined || savedSearchRequestId === null)\r\n throw new Error(\"The parameter 'savedSearchRequestId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchRequestId}\", encodeURIComponent(\"\" + savedSearchRequestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdate(_response));\r\n });\r\n }\r\n\r\n protected processUpdate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Create new Saved Search Request\r\n * @param searchRequest Payload\r\n * @return ID of just created entity\r\n */\r\n create(searchRequest: SavedSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/request\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(searchRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SearchAutocompleteClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n geoAutocomplete(query: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/geo?\";\r\n if (query === null)\r\n throw new Error(\"The parameter 'query' cannot be null.\");\r\n else if (query !== undefined)\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGeoAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processGeoAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(GeoSearchAutocomplete.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n liquidSpaceAutocomplete(query: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/ls?\";\r\n if (query === null)\r\n throw new Error(\"The parameter 'query' cannot be null.\");\r\n else if (query !== undefined)\r\n url_ += \"query=\" + encodeURIComponent(\"\" + query) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processLiquidSpaceAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processLiquidSpaceAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BaseSearchAutocomplete.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n dropdownAutocomplete(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/dropdown\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDropdownAutocomplete(_response));\r\n });\r\n }\r\n\r\n protected processDropdownAutocomplete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(BaseSearchAutocomplete.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n textToSearchQuery(text: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/autocomplete/query?\";\r\n if (text === null)\r\n throw new Error(\"The parameter 'text' cannot be null.\");\r\n else if (text !== undefined)\r\n url_ += \"text=\" + encodeURIComponent(\"\" + text) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTextToSearchQuery(_response));\r\n });\r\n }\r\n\r\n protected processTextToSearchQuery(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchQueryAutocomplete.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class SearchClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Execute default search request type\r\n * @param request Geo search request\r\n * @return Found spaces with geocoding information\r\n */\r\n default(request: DefaultSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDefault(_response));\r\n });\r\n }\r\n\r\n protected processDefault(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuesSearchResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Execute full-fledged search request\r\n * @param request Search request parameters model\r\n * @return Found spaces with geocoding information\r\n */\r\n execute(request: BaseSearchRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/execute\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExecute(_response));\r\n });\r\n }\r\n\r\n protected processExecute(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuesSearchResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Execute saved search request search\r\n * @param savedSearchRequestId Saved search request ID\r\n * @return Found spaces with geocoding information\r\n */\r\n executeSavedSearch(savedSearchRequestId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/{savedSearchRequestId}\";\r\n if (savedSearchRequestId === undefined || savedSearchRequestId === null)\r\n throw new Error(\"The parameter 'savedSearchRequestId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchRequestId}\", encodeURIComponent(\"\" + savedSearchRequestId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExecuteSavedSearch(_response));\r\n });\r\n }\r\n\r\n protected processExecuteSavedSearch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuesSearchResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n config(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/search/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConfig(_response));\r\n });\r\n }\r\n\r\n protected processConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SearchConfig.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationGuestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/guests\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationMaybeMemberViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n invite(reservationId: string, model: InviteGuestsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/guests\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processInvite(_response));\r\n });\r\n }\r\n\r\n protected processInvite(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationPagesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get reservations pages model for current User or defined by memberId\r\n * @param memberId (optional) Optional Member ID. This field is required in machine-to-machine context.\r\n * @return Model with list of page tokens\r\n */\r\n pager(memberId: string | null | undefined, pagerRequest: ReservationPagerRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/pages?\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(pagerRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPager(_response));\r\n });\r\n }\r\n\r\n protected processPager(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReservationPager.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Get page of reservations by page token\r\n * @param token Page token\r\n */\r\n page(token: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/pages?\";\r\n if (token === undefined || token === null)\r\n throw new Error(\"The parameter 'token' must be defined and cannot be null.\");\r\n else\r\n url_ += \"token=\" + encodeURIComponent(\"\" + token) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPage(_response));\r\n });\r\n }\r\n\r\n protected processPage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(TeamMemberReservation.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Get Reservation details\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Reservation occurrence date. Suitable only for Recurrent Reservation\r\n * @param applyDate (optional) Reservation apply date. Suitable only for Recurrent Reservation\r\n */\r\n get(reservationId: string, occurrenceDate: string | null | undefined, applyDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n if (applyDate !== undefined && applyDate !== null)\r\n url_ += \"applyDate=\" + encodeURIComponent(\"\" + applyDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = TeamMemberReservation.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Edit reservation\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Optional reservation occurrence data used to identify instance of recurrent resrvation\r\n * @param applyDate (optional) Setting this parameter for Recurrent Reservation will edit all following reservations since given date\r\n * @param request Request containing patch document with reservation updates and additional info\r\n */\r\n edit(reservationId: string, occurrenceDate: string | null | undefined, applyDate: string | null | undefined, request: EditReservationRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n if (applyDate !== undefined && applyDate !== null)\r\n url_ += \"applyDate=\" + encodeURIComponent(\"\" + applyDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EditReservationResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Cancel (delete) reservation\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Optional reservation occurrence data used to identify instance of recurrent resrvation\r\n * @param applyDate (optional) Setting this parameter for Recurrent Reservation will delete all following reservations since given date\r\n */\r\n cancel(reservationId: string, occurrenceDate: string | null | undefined, applyDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n if (applyDate !== undefined && applyDate !== null)\r\n url_ += \"applyDate=\" + encodeURIComponent(\"\" + applyDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCancel(_response));\r\n });\r\n }\r\n\r\n protected processCancel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ResponseWrapper.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getUrgencyStatus(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/urgency\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetUrgencyStatus(_response));\r\n });\r\n }\r\n\r\n protected processGetUrgencyStatus(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRaw(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/raw\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRaw(_response));\r\n });\r\n }\r\n\r\n protected processGetRaw(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ReservationRaw.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n closestFinishDate(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/closest-finish-date\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClosestFinishDate(_response));\r\n });\r\n }\r\n\r\n protected processClosestFinishDate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n stopAutoRenew(reservationId: string, finishDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/stop-autorenew?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (finishDate !== undefined && finishDate !== null)\r\n url_ += \"finishDate=\" + encodeURIComponent(\"\" + finishDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processStopAutoRenew(_response));\r\n });\r\n }\r\n\r\n protected processStopAutoRenew(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getReservationCardPicture(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/reservationcardpicture\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetReservationCardPicture(_response));\r\n });\r\n }\r\n\r\n protected processGetReservationCardPicture(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationsCreateClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n previewLicense(request: ReservationRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/license/preview\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPreviewLicense(_response));\r\n });\r\n }\r\n\r\n protected processPreviewLicense(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(request: ReservationRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CreateReservationResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationVenueConfirmationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n set(reservationId: string, status: VenueConfirmationStatus | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/venue-confirmation?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (status === null)\r\n throw new Error(\"The parameter 'status' cannot be null.\");\r\n else if (status !== undefined)\r\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSet(_response));\r\n });\r\n }\r\n\r\n protected processSet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(reservationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/venue-confirmation\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueConfirmationViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ReservationVisitStatesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n /**\r\n * Perform reservation check-in procedure\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Reservation occurrence date. Suitable only for Recurrent Reservation\r\n */\r\n checkIn(reservationId: string, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/visit-state/checkin?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckIn(_response));\r\n });\r\n }\r\n\r\n protected processCheckIn(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n /**\r\n * Perform reservation check-out procedure\r\n * @param reservationId Reservation ID\r\n * @param occurrenceDate (optional) Reservation occurrence date. Suitable only for Recurrent Reservation\r\n */\r\n checkOut(reservationId: string, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/visit-state/checkout?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCheckOut(_response));\r\n });\r\n }\r\n\r\n protected processCheckOut(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n set(reservationId: string, wasVisited: boolean | undefined, occurrenceDate: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/reservations/{reservationId}/visit-state?\";\r\n if (reservationId === undefined || reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' must be defined.\");\r\n url_ = url_.replace(\"{reservationId}\", encodeURIComponent(\"\" + reservationId));\r\n if (wasVisited === null)\r\n throw new Error(\"The parameter 'wasVisited' cannot be null.\");\r\n else if (wasVisited !== undefined)\r\n url_ += \"wasVisited=\" + encodeURIComponent(\"\" + wasVisited) + \"&\";\r\n if (occurrenceDate !== undefined && occurrenceDate !== null)\r\n url_ += \"occurrenceDate=\" + encodeURIComponent(\"\" + occurrenceDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSet(_response));\r\n });\r\n }\r\n\r\n protected processSet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getAll(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetAll(_response));\r\n });\r\n }\r\n\r\n protected processGetAll(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: PromotionSettingsViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PromotionListItemViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getRedemptions(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/redemptions\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetRedemptions(_response));\r\n });\r\n }\r\n\r\n protected processGetRedemptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionRedemptionListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n visibility(venueId: string | undefined, workspaceId: string | undefined, ownerId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/visibility?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVisibility(_response));\r\n });\r\n }\r\n\r\n protected processVisibility(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validate(code: string | undefined, venueId: string | undefined, workspaceId: string | undefined, ownerId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/validate?\";\r\n if (code === null)\r\n throw new Error(\"The parameter 'code' cannot be null.\");\r\n else if (code !== undefined)\r\n url_ += \"code=\" + encodeURIComponent(\"\" + code) + \"&\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' cannot be null.\");\r\n else if (workspaceId !== undefined)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processValidate(_response));\r\n });\r\n }\r\n\r\n protected processValidate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PromotionValidationResultViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getInitialCouponCode(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{venueId}/venues/initial-code\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetInitialCouponCode(_response));\r\n });\r\n }\r\n\r\n protected processGetInitialCouponCode(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n duplicate(id: string, newCode: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/duplicate?\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (newCode === null)\r\n throw new Error(\"The parameter 'newCode' cannot be null.\");\r\n else if (newCode !== undefined)\r\n url_ += \"newCode=\" + encodeURIComponent(\"\" + newCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDuplicate(_response));\r\n });\r\n }\r\n\r\n protected processDuplicate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionMemberGroupsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/membergroups\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionMemberGroupListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(id: string, memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/membergroups/{memberGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/membergroups/{memberGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionSettingsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/settings\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PromotionSettingsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(id: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/settings\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionVenueGroupsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venuegroups\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionVenueGroupListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(id: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venuegroups/{venueGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, venueGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venuegroups/{venueGroupId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueGroupId === undefined || venueGroupId === null)\r\n throw new Error(\"The parameter 'venueGroupId' must be defined.\");\r\n url_ = url_.replace(\"{venueGroupId}\", encodeURIComponent(\"\" + venueGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PromotionVenuesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venues\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PromotionVenueListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(id: string, venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venues/{venueId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"PUT\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/promotions/{id}/venues/{venueId}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MessageAttachmentsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/attachments/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MessagesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n sendMessage(targetId: string | undefined, chainId: string | null | undefined, subject: string | null | undefined, venueId: string | null | undefined, fromVenue: boolean | undefined, text: string | null | undefined, attachments: FileParameter[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages?\";\r\n if (targetId === null)\r\n throw new Error(\"The parameter 'targetId' cannot be null.\");\r\n else if (targetId !== undefined)\r\n url_ += \"targetId=\" + encodeURIComponent(\"\" + targetId) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (subject !== undefined && subject !== null)\r\n url_ += \"subject=\" + encodeURIComponent(\"\" + subject) + \"&\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (fromVenue === null)\r\n throw new Error(\"The parameter 'fromVenue' cannot be null.\");\r\n else if (fromVenue !== undefined)\r\n url_ += \"fromVenue=\" + encodeURIComponent(\"\" + fromVenue) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (text !== null && text !== undefined)\r\n content_.append(\"text\", text.toString());\r\n if (attachments !== null && attachments !== undefined)\r\n attachments.forEach(item_ => content_.append(\"attachments\", item_.data, item_.fileName ? item_.fileName : \"attachments\") );\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSendMessage(_response));\r\n });\r\n }\r\n\r\n protected processSendMessage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = SendMessageResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n messages(memberId: string | null | undefined, chainId: string | null | undefined, venueId: string | null | undefined, filter: MessagesFilterEnum | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages?\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (filter === null)\r\n throw new Error(\"The parameter 'filter' cannot be null.\");\r\n else if (filter !== undefined)\r\n url_ += \"filter=\" + encodeURIComponent(\"\" + filter) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMessages(_response));\r\n });\r\n }\r\n\r\n protected processMessages(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberMessagesModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getChain(chainId: string, venueId: string | null | undefined, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/{chainId}?\";\r\n if (chainId === undefined || chainId === null)\r\n throw new Error(\"The parameter 'chainId' must be defined.\");\r\n url_ = url_.replace(\"{chainId}\", encodeURIComponent(\"\" + chainId));\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetChain(_response));\r\n });\r\n }\r\n\r\n protected processGetChain(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MessageChain.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n markChainAsRead(chainId: string, venueId: string | null | undefined, memberId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/{chainId}/mark-as-read?\";\r\n if (chainId === undefined || chainId === null)\r\n throw new Error(\"The parameter 'chainId' must be defined.\");\r\n url_ = url_.replace(\"{chainId}\", encodeURIComponent(\"\" + chainId));\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (memberId !== undefined && memberId !== null)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMarkChainAsRead(_response));\r\n });\r\n }\r\n\r\n protected processMarkChainAsRead(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMessengerTargets(venueId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/targets?\";\r\n if (venueId !== undefined && venueId !== null)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMessengerTargets(_response));\r\n });\r\n }\r\n\r\n protected processGetMessengerTargets(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MessageTargetAutocompleteItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n chainArchiveAction(chainId: string, archive: boolean | undefined, ownerId: string | null | undefined, ownerType: EntityType | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/{chainId}/archive?\";\r\n if (chainId === undefined || chainId === null)\r\n throw new Error(\"The parameter 'chainId' must be defined.\");\r\n url_ = url_.replace(\"{chainId}\", encodeURIComponent(\"\" + chainId));\r\n if (archive === null)\r\n throw new Error(\"The parameter 'archive' cannot be null.\");\r\n else if (archive !== undefined)\r\n url_ += \"archive=\" + encodeURIComponent(\"\" + archive) + \"&\";\r\n if (ownerId !== undefined && ownerId !== null)\r\n url_ += \"ownerId=\" + encodeURIComponent(\"\" + ownerId) + \"&\";\r\n if (ownerType !== undefined && ownerType !== null)\r\n url_ += \"ownerType=\" + encodeURIComponent(\"\" + ownerType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processChainArchiveAction(_response));\r\n });\r\n }\r\n\r\n protected processChainArchiveAction(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n existingChain(memberId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/chains/existing?\";\r\n if (memberId === null)\r\n throw new Error(\"The parameter 'memberId' cannot be null.\");\r\n else if (memberId !== undefined)\r\n url_ += \"memberId=\" + encodeURIComponent(\"\" + memberId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExistingChain(_response));\r\n });\r\n }\r\n\r\n protected processExistingChain(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteMessage(messageId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/messages/{messageId}\";\r\n if (messageId === undefined || messageId === null)\r\n throw new Error(\"The parameter 'messageId' must be defined.\");\r\n url_ = url_.replace(\"{messageId}\", encodeURIComponent(\"\" + messageId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteMessage(_response));\r\n });\r\n }\r\n\r\n protected processDeleteMessage(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupAdminsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n addAdmin(memberGroupId: string, adminEmail: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/add?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (adminEmail !== undefined && adminEmail !== null)\r\n url_ += \"adminEmail=\" + encodeURIComponent(\"\" + adminEmail) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddAdmin(_response));\r\n });\r\n }\r\n\r\n protected processAddAdmin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberListItemViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeAdmin(memberGroupId: string, userId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/remove?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveAdmin(_response));\r\n });\r\n }\r\n\r\n protected processRemoveAdmin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addBookingDelegate(memberGroupId: string, bookingDelegateEmail: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/add-booking-delegate?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (bookingDelegateEmail !== undefined && bookingDelegateEmail !== null)\r\n url_ += \"bookingDelegateEmail=\" + encodeURIComponent(\"\" + bookingDelegateEmail) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddBookingDelegate(_response));\r\n });\r\n }\r\n\r\n protected processAddBookingDelegate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberListItemViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeBookingDelegate(memberGroupId: string, userId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/admins/remove-booking-delegate?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (userId === null)\r\n throw new Error(\"The parameter 'userId' cannot be null.\");\r\n else if (userId !== undefined)\r\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveBookingDelegate(_response));\r\n });\r\n }\r\n\r\n protected processRemoveBookingDelegate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MemberGroupViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberGroupListViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: MemberGroupViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(memberGroupId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{memberGroupId}\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getMembers(memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{memberGroupId}/members\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMembers(_response));\r\n });\r\n }\r\n\r\n protected processGetMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupHQClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n headquarters(memberGroupId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/headquarters\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHeadquarters(_response));\r\n });\r\n }\r\n\r\n protected processHeadquarters(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MemberGroupHeadquarterViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n saveHeadquarter(memberGroupId: string, headquarterModel: MemberGroupHeadquarterViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/headquarters/save\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(headquarterModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSaveHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processSaveHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeHeadquarter(memberGroupId: string, hqId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/${memberGroupId}/headquarters/remove?\";\r\n if (memberGroupId === undefined || memberGroupId === null)\r\n throw new Error(\"The parameter 'memberGroupId' must be defined.\");\r\n url_ = url_.replace(\"{memberGroupId}\", encodeURIComponent(\"\" + memberGroupId));\r\n if (hqId === null)\r\n throw new Error(\"The parameter 'hqId' cannot be null.\");\r\n else if (hqId !== undefined)\r\n url_ += \"hqId=\" + encodeURIComponent(\"\" + hqId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveHeadquarter(_response));\r\n });\r\n }\r\n\r\n protected processRemoveHeadquarter(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MemberGroupInvitationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n previewEmail(id: string, model: ManageMemberGroupInvitationPreviewEmailViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/member-groups/{id}/invitation/email/render\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPreviewEmail(_response));\r\n });\r\n }\r\n\r\n protected processPreviewEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MarketplaceAccountsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceAccount.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n transactions(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/transactions\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTransactions(_response));\r\n });\r\n }\r\n\r\n protected processTransactions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceTransaction.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n transactionsWithReservationStartDate(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/transactions/with-start-date\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTransactionsWithReservationStartDate(_response));\r\n });\r\n }\r\n\r\n protected processTransactionsWithReservationStartDate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceTransactionWithStartDate.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n invoices(accountId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processInvoices(_response));\r\n });\r\n }\r\n\r\n protected processInvoices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(MarketplaceInvoice.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n addInvoice(accountId: string, request: AddMarketplaceInvoiceRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(request);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAddInvoice(_response));\r\n });\r\n }\r\n\r\n protected processAddInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MarketplaceInvoice.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteInvoice(accountId: string, invoiceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices/{invoiceId}\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (invoiceId === undefined || invoiceId === null)\r\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\r\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteInvoice(_response));\r\n });\r\n }\r\n\r\n protected processDeleteInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n syncInvoice(accountId: string, invoiceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices/{invoiceId}/sync\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (invoiceId === undefined || invoiceId === null)\r\n throw new Error(\"The parameter 'invoiceId' must be defined.\");\r\n url_ = url_.replace(\"{invoiceId}\", encodeURIComponent(\"\" + invoiceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSyncInvoice(_response));\r\n });\r\n }\r\n\r\n protected processSyncInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n generateInvoice(accountId: string, periodDate: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/marketplace-accounts/{accountId}/invoices/generate?\";\r\n if (accountId === undefined || accountId === null)\r\n throw new Error(\"The parameter 'accountId' must be defined.\");\r\n url_ = url_.replace(\"{accountId}\", encodeURIComponent(\"\" + accountId));\r\n if (periodDate === null)\r\n throw new Error(\"The parameter 'periodDate' cannot be null.\");\r\n else if (periodDate !== undefined)\r\n url_ += \"periodDate=\" + encodeURIComponent(\"\" + periodDate) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGenerateInvoice(_response));\r\n });\r\n }\r\n\r\n protected processGenerateInvoice(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueAdminsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n admins(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdmins(_response));\r\n });\r\n }\r\n\r\n protected processAdmins(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueAdminModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(venueId: string, pregeneratedPictureId: string | undefined, model: VenueAdminModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (pregeneratedPictureId === null)\r\n throw new Error(\"The parameter 'pregeneratedPictureId' cannot be null.\");\r\n else if (pregeneratedPictureId !== undefined)\r\n url_ += \"pregeneratedPictureId=\" + encodeURIComponent(\"\" + pregeneratedPictureId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n remove(venueId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins/{memberId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemove(_response));\r\n });\r\n }\r\n\r\n protected processRemove(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n admin(venueId: string, memberId: string, isPasswordChanging: boolean | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/admins/{memberId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (isPasswordChanging === null)\r\n throw new Error(\"The parameter 'isPasswordChanging' cannot be null.\");\r\n else if (isPasswordChanging !== undefined)\r\n url_ += \"isPasswordChanging=\" + encodeURIComponent(\"\" + isPasswordChanging) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdmin(_response));\r\n });\r\n }\r\n\r\n protected processAdmin(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n venueSelector(currentVenueId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management?\";\r\n if (currentVenueId !== undefined && currentVenueId !== null)\r\n url_ += \"currentVenueId=\" + encodeURIComponent(\"\" + currentVenueId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueSelector(_response));\r\n });\r\n }\r\n\r\n protected processVenueSelector(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueSelectorListItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueBrief(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/brief\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueBrief(_response));\r\n });\r\n }\r\n\r\n protected processVenueBrief(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueBrief.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n removeSavedSearch(venueId: string, savedSearchId: string, chainId: string | null | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/searches/{savedSearchId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (savedSearchId === undefined || savedSearchId === null)\r\n throw new Error(\"The parameter 'savedSearchId' must be defined.\");\r\n url_ = url_.replace(\"{savedSearchId}\", encodeURIComponent(\"\" + savedSearchId));\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRemoveSavedSearch(_response));\r\n });\r\n }\r\n\r\n protected processRemoveSavedSearch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n newMessagesCount(signal?: AbortSignal): Promise<{ [key: string]: number; }> {\r\n let url_ = this.baseUrl + \"/api/venue-management/new-messages-count\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processNewMessagesCount(_response));\r\n });\r\n }\r\n\r\n protected processNewMessagesCount(response: Response): Promise<{ [key: string]: number; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: number; }>(null as any);\r\n }\r\n\r\n newMessagesCountByVenue(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/new-messages-count\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processNewMessagesCountByVenue(_response));\r\n });\r\n }\r\n\r\n protected processNewMessagesCountByVenue(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n hasReservations(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/has-reservations\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processHasReservations(_response));\r\n });\r\n }\r\n\r\n protected processHasReservations(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setIntegrationOption(venueId: string, integrationOptionRequest: IntegrationOptionRequest, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integration-option\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(integrationOptionRequest);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetIntegrationOption(_response));\r\n });\r\n }\r\n\r\n protected processSetIntegrationOption(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n settings(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSettings(_response));\r\n });\r\n }\r\n\r\n protected processSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueSettingsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patchSettings(venueId: string, applyDefaultBookingMethodForExistingSpaces: HourlyMonthly | undefined, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (applyDefaultBookingMethodForExistingSpaces === null)\r\n throw new Error(\"The parameter 'applyDefaultBookingMethodForExistingSpaces' cannot be null.\");\r\n else if (applyDefaultBookingMethodForExistingSpaces !== undefined)\r\n url_ += \"applyDefaultBookingMethodForExistingSpaces=\" + encodeURIComponent(\"\" + applyDefaultBookingMethodForExistingSpaces) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatchSettings(_response));\r\n });\r\n }\r\n\r\n protected processPatchSettings(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n openStatus(venueId: string, openStatus: VenueOpenStatus | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/open-status?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (openStatus === null)\r\n throw new Error(\"The parameter 'openStatus' cannot be null.\");\r\n else if (openStatus !== undefined)\r\n url_ += \"openStatus=\" + encodeURIComponent(\"\" + openStatus) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOpenStatus(_response));\r\n });\r\n }\r\n\r\n protected processOpenStatus(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n venueGroupMembership(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/venue-groups\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueGroupMembership(_response));\r\n });\r\n }\r\n\r\n protected processVenueGroupMembership(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueGroupMembershipModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n priceRate(venueId: string, reservationStartTime: string | undefined, isMonthly: boolean | undefined, reservationCount: number | undefined, pricingRateType: PricingRateType | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/price-rates?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (reservationStartTime === null)\r\n throw new Error(\"The parameter 'reservationStartTime' cannot be null.\");\r\n else if (reservationStartTime !== undefined)\r\n url_ += \"reservationStartTime=\" + encodeURIComponent(\"\" + reservationStartTime) + \"&\";\r\n if (isMonthly === null)\r\n throw new Error(\"The parameter 'isMonthly' cannot be null.\");\r\n else if (isMonthly !== undefined)\r\n url_ += \"isMonthly=\" + encodeURIComponent(\"\" + isMonthly) + \"&\";\r\n if (reservationCount === null)\r\n throw new Error(\"The parameter 'reservationCount' cannot be null.\");\r\n else if (reservationCount !== undefined)\r\n url_ += \"reservationCount=\" + encodeURIComponent(\"\" + reservationCount) + \"&\";\r\n if (pricingRateType === null)\r\n throw new Error(\"The parameter 'pricingRateType' cannot be null.\");\r\n else if (pricingRateType !== undefined)\r\n url_ += \"pricingRateType=\" + encodeURIComponent(\"\" + pricingRateType) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPriceRate(_response));\r\n });\r\n }\r\n\r\n protected processPriceRate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PriceRateCheckerResponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n verifyPermalink(venueId: string, permalinkToVerify: string | null | undefined, country: string | null | undefined, state: string | null | undefined, city: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/verify-permalink?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (permalinkToVerify !== undefined && permalinkToVerify !== null)\r\n url_ += \"permalinkToVerify=\" + encodeURIComponent(\"\" + permalinkToVerify) + \"&\";\r\n if (country !== undefined && country !== null)\r\n url_ += \"country=\" + encodeURIComponent(\"\" + country) + \"&\";\r\n if (state !== undefined && state !== null)\r\n url_ += \"state=\" + encodeURIComponent(\"\" + state) + \"&\";\r\n if (city !== undefined && city !== null)\r\n url_ += \"city=\" + encodeURIComponent(\"\" + city) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVerifyPermalink(_response));\r\n });\r\n }\r\n\r\n protected processVerifyPermalink(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VerifyVenueParmalinkResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n populationPercent(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/population-percent\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPopulationPercent(_response));\r\n });\r\n }\r\n\r\n protected processPopulationPercent(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuePopulationPercentModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n properties(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/properties\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processProperties(_response));\r\n });\r\n }\r\n\r\n protected processProperties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenuePropertiesModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isPaymentInformationRequired(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/is-payment-information-required\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsPaymentInformationRequired(_response));\r\n });\r\n }\r\n\r\n protected processIsPaymentInformationRequired(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n checklist(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/checklist\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processChecklist(_response));\r\n });\r\n }\r\n\r\n protected processChecklist(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueEventsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueEventModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData404)) {\r\n result404 = [] as any;\r\n for (let item of resultData404)\r\n result404!.push(VenueEventModel.fromJS(item));\r\n }\r\n else {\r\n result404 = null;\r\n }\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(venueId: string, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n edit(venueId: string, eventId: string, createdTicks: string | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events/{eventId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (eventId === undefined || eventId === null)\r\n throw new Error(\"The parameter 'eventId' must be defined.\");\r\n url_ = url_.replace(\"{eventId}\", encodeURIComponent(\"\" + eventId));\r\n if (createdTicks === null)\r\n throw new Error(\"The parameter 'createdTicks' cannot be null.\");\r\n else if (createdTicks !== undefined)\r\n url_ += \"createdTicks=\" + encodeURIComponent(\"\" + createdTicks) + \"&\";\r\n if (message === null)\r\n throw new Error(\"The parameter 'message' cannot be null.\");\r\n else if (message !== undefined)\r\n url_ += \"message=\" + encodeURIComponent(\"\" + message) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEdit(_response));\r\n });\r\n }\r\n\r\n protected processEdit(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueId: string, eventId: string, created: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/events/{eventId}?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (eventId === undefined || eventId === null)\r\n throw new Error(\"The parameter 'eventId' must be defined.\");\r\n url_ = url_.replace(\"{eventId}\", encodeURIComponent(\"\" + eventId));\r\n if (created === null)\r\n throw new Error(\"The parameter 'created' cannot be null.\");\r\n else if (created !== undefined)\r\n url_ += \"created=\" + encodeURIComponent(\"\" + created) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueHooRulesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getExceptionHooRuleList(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetExceptionHooRuleList(_response));\r\n });\r\n }\r\n\r\n protected processGetExceptionHooRuleList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editExceptionHooRule(venueId: string, model: HooRuleSplitEditViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEditExceptionHooRule(_response));\r\n });\r\n }\r\n\r\n protected processEditExceptionHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getExceptionHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetExceptionHooRule(_response));\r\n });\r\n }\r\n\r\n protected processGetExceptionHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HooRuleSplitEditViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteExceptionHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteExceptionHooRule(_response));\r\n });\r\n }\r\n\r\n protected processDeleteExceptionHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exceptionHooRuleReorderUp(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}/reorder-up\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExceptionHooRuleReorderUp(_response));\r\n });\r\n }\r\n\r\n protected processExceptionHooRuleReorderUp(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exceptionHooRuleReorderDown(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/exceptions/{hooRuleId}/reorder-down\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExceptionHooRuleReorderDown(_response));\r\n });\r\n }\r\n\r\n protected processExceptionHooRuleReorderDown(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleSplitViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBookingWindowHooRuleList(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBookingWindowHooRuleList(_response));\r\n });\r\n }\r\n\r\n protected processGetBookingWindowHooRuleList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editBookingWindowHooRule(venueId: string, model: HooRuleForBookingWindowFlexEditViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEditBookingWindowHooRule(_response));\r\n });\r\n }\r\n\r\n protected processEditBookingWindowHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getBookingWindowHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetBookingWindowHooRule(_response));\r\n });\r\n }\r\n\r\n protected processGetBookingWindowHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = HooRuleForBookingWindowFlexEditViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteBookingWindowHooRule(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteBookingWindowHooRule(_response));\r\n });\r\n }\r\n\r\n protected processDeleteBookingWindowHooRule(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bookingWindowHooRuleReorderUp(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}/reorder-up\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBookingWindowHooRuleReorderUp(_response));\r\n });\r\n }\r\n\r\n protected processBookingWindowHooRuleReorderUp(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n bookingWindowHooRuleReorderDown(venueId: string, hooRuleId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/guest-hours/booking-windows/{hooRuleId}/reorder-down\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (hooRuleId === undefined || hooRuleId === null)\r\n throw new Error(\"The parameter 'hooRuleId' must be defined.\");\r\n url_ = url_.replace(\"{hooRuleId}\", encodeURIComponent(\"\" + hooRuleId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processBookingWindowHooRuleReorderDown(_response));\r\n });\r\n }\r\n\r\n protected processBookingWindowHooRuleReorderDown(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(HooRuleForBookingWindowFlexViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueHourlyRequestsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, start: string | null | undefined, end: string | null | undefined, status: HourlyRequestToBookStatus[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/hourly-requests?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (status !== undefined && status !== null)\r\n status && status.forEach(item => { url_ += \"status=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(ReservationRequestDetailsModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n loadOwners(venueId: string, workspaceId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/owners?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processLoadOwners(_response));\r\n });\r\n }\r\n\r\n protected processLoadOwners(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OwnerInfoModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n loadOwnersForDeskimo(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/owners-deskimo\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processLoadOwnersForDeskimo(_response));\r\n });\r\n }\r\n\r\n protected processLoadOwnersForDeskimo(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OwnerInfoModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n exchangeConfiguration(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/exchange/configuration\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExchangeConfiguration(_response));\r\n });\r\n }\r\n\r\n protected processExchangeConfiguration(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ExchangeConfigurationModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n pushToCalendar(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/push-to-calendar\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPushToCalendar(_response));\r\n });\r\n }\r\n\r\n protected processPushToCalendar(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getOfficeRnDWorkspacesSync(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/officernd/workspaces\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetOfficeRnDWorkspacesSync(_response));\r\n });\r\n }\r\n\r\n protected processGetOfficeRnDWorkspacesSync(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = OfficeRnDWorkspacesSyncModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n submitOfficeRnDWorkspacesSync(venueId: string, requestId: string | null | undefined, model: OfficeRnDWorkspacesSyncSubmitModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/integrations/officernd/workspaces?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (requestId !== undefined && requestId !== null)\r\n url_ += \"requestId=\" + encodeURIComponent(\"\" + requestId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSubmitOfficeRnDWorkspacesSync(_response));\r\n });\r\n }\r\n\r\n protected processSubmitOfficeRnDWorkspacesSync(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(item);\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueLeadsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, dashboardLeadStatuses: DashboardLeadStatus[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (dashboardLeadStatuses !== undefined && dashboardLeadStatuses !== null)\r\n dashboardLeadStatuses && dashboardLeadStatuses.forEach(item => { url_ += \"dashboardLeadStatuses=\" + encodeURIComponent(\"\" + item) + \"&\"; });\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DashboardLeadViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n updateToActive(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}/update-to-active\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpdateToActive(_response));\r\n });\r\n }\r\n\r\n protected processUpdateToActive(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n archive(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}/archive\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processArchive(_response));\r\n });\r\n }\r\n\r\n protected processArchive(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n unarchive(venueId: string, workflowId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/leads/{workflowId}/unarchive\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workflowId === undefined || workflowId === null)\r\n throw new Error(\"The parameter 'workflowId' must be defined.\");\r\n url_ = url_.replace(\"{workflowId}\", encodeURIComponent(\"\" + workflowId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUnarchive(_response));\r\n });\r\n }\r\n\r\n protected processUnarchive(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DashboardLeadViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueLicensesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n uploadCustomLicensePdfTemplate(venueId: string, customLicensePdfTemplates: FileParameter[] | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/licenses/custom\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = new FormData();\r\n if (customLicensePdfTemplates !== null && customLicensePdfTemplates !== undefined)\r\n customLicensePdfTemplates.forEach(item_ => content_.append(\"customLicensePdfTemplates\", item_.data, item_.fileName ? item_.fileName : \"customLicensePdfTemplates\") );\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUploadCustomLicensePdfTemplate(_response));\r\n });\r\n }\r\n\r\n protected processUploadCustomLicensePdfTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteCustomLicensePdfTemplate(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/licenses/custom\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteCustomLicensePdfTemplate(_response));\r\n });\r\n }\r\n\r\n protected processDeleteCustomLicensePdfTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n validateTemplate(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/licenses/ValidateTemplate\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processValidateTemplate(_response));\r\n });\r\n }\r\n\r\n protected processValidateTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = CheckResult.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueMemberInvitationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n previewEmail(venueId: string, model: ManageVenueMemberInvitationPreviewEmailViewModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/invitation/email/render\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPreviewEmail(_response));\r\n });\r\n }\r\n\r\n protected processPreviewEmail(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueMembersClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueMemberModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ResponseWrapper.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n profile(venueId: string, memberId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/{memberId}/profile\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processProfile(_response));\r\n });\r\n }\r\n\r\n protected processProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueMemberProfileModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n editProfile(venueId: string, memberId: string, model: VenueMemberProfileModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/{memberId}/profile\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEditProfile(_response));\r\n });\r\n }\r\n\r\n protected processEditProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deleteProfile(venueId: string, memberId: string, visaId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/{memberId}/visas/{visaId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeleteProfile(_response));\r\n });\r\n }\r\n\r\n protected processDeleteProfile(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n assignVisaGET(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/assign-visa\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignVisaGET(_response));\r\n });\r\n }\r\n\r\n protected processAssignVisaGET(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = AddMemberToVisaModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n assignVisaPOST(venueId: string, model: AddMemberToVisaModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/members/assign-visa\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAssignVisaPOST(_response));\r\n });\r\n }\r\n\r\n protected processAssignVisaPOST(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueMemberVisaStatesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n grant(venueId: string, visaId: string, memberId: string, workspaceId: string | null | undefined, bookingDate: string | null | undefined, workflowId: string | null | undefined, sync: boolean | undefined, chainId: string | null | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}/members/{memberId}/grant?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (bookingDate !== undefined && bookingDate !== null)\r\n url_ += \"bookingDate=\" + encodeURIComponent(\"\" + bookingDate) + \"&\";\r\n if (workflowId !== undefined && workflowId !== null)\r\n url_ += \"workflowId=\" + encodeURIComponent(\"\" + workflowId) + \"&\";\r\n if (sync === null)\r\n throw new Error(\"The parameter 'sync' cannot be null.\");\r\n else if (sync !== undefined)\r\n url_ += \"sync=\" + encodeURIComponent(\"\" + sync) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGrant(_response));\r\n });\r\n }\r\n\r\n protected processGrant(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChangeVisaStateReponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deny(venueId: string, visaId: string, memberId: string, workspaceId: string | null | undefined, workflowId: string | null | undefined, sync: boolean | undefined, chainId: string | null | undefined, reason: DenyVisaReason | undefined, message: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}/members/{memberId}/deny?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n if (memberId === undefined || memberId === null)\r\n throw new Error(\"The parameter 'memberId' must be defined.\");\r\n url_ = url_.replace(\"{memberId}\", encodeURIComponent(\"\" + memberId));\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (workflowId !== undefined && workflowId !== null)\r\n url_ += \"workflowId=\" + encodeURIComponent(\"\" + workflowId) + \"&\";\r\n if (sync === null)\r\n throw new Error(\"The parameter 'sync' cannot be null.\");\r\n else if (sync !== undefined)\r\n url_ += \"sync=\" + encodeURIComponent(\"\" + sync) + \"&\";\r\n if (chainId !== undefined && chainId !== null)\r\n url_ += \"chainId=\" + encodeURIComponent(\"\" + chainId) + \"&\";\r\n if (reason === null)\r\n throw new Error(\"The parameter 'reason' cannot be null.\");\r\n else if (reason !== undefined)\r\n url_ += \"reason=\" + encodeURIComponent(\"\" + reason) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(message);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeny(_response));\r\n });\r\n }\r\n\r\n protected processDeny(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ChangeVisaStateReponse.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueReservationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, start: string | null | undefined, end: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/reservations?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueReservationViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueScoreClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n venueScore(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/score\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVenueScore(_response));\r\n });\r\n }\r\n\r\n protected processVenueScore(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VenueScoreViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueStatementsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, start: string | null | undefined, end: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/statements?\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (start !== undefined && start !== null)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end !== undefined && end !== null)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VenueStatementSummaryModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueVisasClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(VisaInfoModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n upsert(venueId: string, model: VisaModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processUpsert(_response));\r\n });\r\n }\r\n\r\n protected processUpsert(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueId: string, visaId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n visa(venueId: string, visaId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/visas/{visaId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (visaId === undefined || visaId === null)\r\n throw new Error(\"The parameter 'visaId' must be defined.\");\r\n url_ = url_.replace(\"{visaId}\", encodeURIComponent(\"\" + visaId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processVisa(_response));\r\n });\r\n }\r\n\r\n protected processVisa(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = VisaModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 403) {\r\n return response.text().then((_responseText) => {\r\n let result403: any = null;\r\n let resultData403 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result403 = ProblemDetails.fromJS(resultData403);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result403);\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ManageVenueWorkspacesClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(WorkspaceModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n order(venueId: string, workspacesOrder: { [key: string]: number; }, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/order\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(workspacesOrder);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOrder(_response));\r\n });\r\n }\r\n\r\n protected processOrder(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n confirm(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/confirm\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processConfirm(_response));\r\n });\r\n }\r\n\r\n protected processConfirm(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n isBooked(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/{workspaceId}/is-booked\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processIsBooked(_response));\r\n });\r\n }\r\n\r\n protected processIsBooked(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/{workspaceId}\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n duplicate(venueId: string, workspaceId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/venue-management/{venueId}/spaces/{workspaceId}/duplicate\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n if (workspaceId === undefined || workspaceId === null)\r\n throw new Error(\"The parameter 'workspaceId' must be defined.\");\r\n url_ = url_.replace(\"{workspaceId}\", encodeURIComponent(\"\" + workspaceId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDuplicate(_response));\r\n });\r\n }\r\n\r\n protected processDuplicate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class ProBannerClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getLiquidSpaceProOverlayModel(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/probanner/{venueId}/liquidspaceprooverlaymodel\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLiquidSpaceProOverlayModel(_response));\r\n });\r\n }\r\n\r\n protected processGetLiquidSpaceProOverlayModel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = LiquidspaceProOverlayViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLiquidspaceProEnableDate(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/probanner/{venueId}/liquidspaceproenabledate\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLiquidspaceProEnableDate(_response));\r\n });\r\n }\r\n\r\n protected processGetLiquidspaceProEnableDate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n activateLiquidspacePro(venueId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/probanner/{venueId}/activateliquidspacepro\";\r\n if (venueId === undefined || venueId === null)\r\n throw new Error(\"The parameter 'venueId' must be defined.\");\r\n url_ = url_.replace(\"{venueId}\", encodeURIComponent(\"\" + venueId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processActivateLiquidspacePro(_response));\r\n });\r\n }\r\n\r\n protected processActivateLiquidspacePro(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DeskimoIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n markets(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/deskimo/markets\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMarkets(_response));\r\n });\r\n }\r\n\r\n protected processMarkets(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DeskimoMarketModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n properties(marketCode: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/deskimo/properties?\";\r\n if (marketCode === null)\r\n throw new Error(\"The parameter 'marketCode' cannot be null.\");\r\n else if (marketCode !== undefined)\r\n url_ += \"marketCode=\" + encodeURIComponent(\"\" + marketCode) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processProperties(_response));\r\n });\r\n }\r\n\r\n protected processProperties(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DeskimoPropertyModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EvoIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n options(evoApiId: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/evo/options?\";\r\n if (evoApiId !== undefined && evoApiId !== null)\r\n url_ += \"evoApiId=\" + encodeURIComponent(\"\" + evoApiId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOptions(_response));\r\n });\r\n }\r\n\r\n protected processOptions(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = EvoOptionsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MicrosoftGraphIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n callback(venueId: string | undefined, workspaceId: string | null | undefined, accesstoken: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/msgraph/callback?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n if (workspaceId !== undefined && workspaceId !== null)\r\n url_ += \"workspaceId=\" + encodeURIComponent(\"\" + workspaceId) + \"&\";\r\n if (accesstoken === null)\r\n throw new Error(\"The parameter 'accesstoken' cannot be null.\");\r\n else if (accesstoken !== undefined)\r\n url_ += \"accesstoken=\" + encodeURIComponent(\"\" + accesstoken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCallback(_response));\r\n });\r\n }\r\n\r\n protected processCallback(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = MSGraphUserModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class MorningstarIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n validate(venueId: string | undefined, settings: MorningStarSettingsModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/morningstar/validate?\";\r\n if (venueId === null)\r\n throw new Error(\"The parameter 'venueId' cannot be null.\");\r\n else if (venueId !== undefined)\r\n url_ += \"venueId=\" + encodeURIComponent(\"\" + venueId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(settings);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processValidate(_response));\r\n });\r\n }\r\n\r\n protected processValidate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class OfficeRnDOrganizationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRnDOrganizationListItemModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n add(organizationModel: OfficeRnDOrganizationEditModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(organizationModel);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processAdd(_response));\r\n });\r\n }\r\n\r\n protected processAdd(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = OfficeRnDOrganizationDetailsModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(organizationId: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n savePartnerIntegrationContact(organizationId: string, postConnectToken: string | null | undefined, model: OfficeRnDOrganizationPartnerIntegrationContactEditModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/partnerintegration/contact?\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n if (postConnectToken !== undefined && postConnectToken !== null)\r\n url_ += \"postConnectToken=\" + encodeURIComponent(\"\" + postConnectToken) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSavePartnerIntegrationContact(_response));\r\n });\r\n }\r\n\r\n protected processSavePartnerIntegrationContact(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n deletePartnerIntegration(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/partnerintegration\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDeletePartnerIntegration(_response));\r\n });\r\n }\r\n\r\n protected processDeletePartnerIntegration(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n offices(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/offices\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOffices(_response));\r\n });\r\n }\r\n\r\n protected processOffices(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRndOfficeModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n teams(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/teams\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTeams(_response));\r\n });\r\n }\r\n\r\n protected processTeams(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRndTeamModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n members(organizationId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/integrations/officernd/organizations/{organizationId}/members\";\r\n if (organizationId === undefined || organizationId === null)\r\n throw new Error(\"The parameter 'organizationId' must be defined.\");\r\n url_ = url_.replace(\"{organizationId}\", encodeURIComponent(\"\" + organizationId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processMembers(_response));\r\n });\r\n }\r\n\r\n protected processMembers(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(OfficeRndMemberModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 404) {\r\n return response.text().then((_responseText) => {\r\n let result404: any = null;\r\n let resultData404 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result404 = ProblemDetails.fromJS(resultData404);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class RJmetisIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n options(signal?: AbortSignal): Promise<{ [key: string]: string; }> {\r\n let url_ = this.baseUrl + \"/api/integrations/rjmetis/options\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processOptions(_response));\r\n });\r\n }\r\n\r\n protected processOptions(response: Response): Promise<{ [key: string]: string; }> {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (resultData200) {\r\n result200 = {} as any;\r\n for (let key in resultData200) {\r\n if (resultData200.hasOwnProperty(key))\r\n (result200)![key] = resultData200[key] !== undefined ? resultData200[key] : null;\r\n }\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve<{ [key: string]: string; }>(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsConsoleClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getMethods(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/method\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetMethods(_response));\r\n });\r\n }\r\n\r\n protected processGetMethods(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsConsoleMethod.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n executeMethod(methodName: string | undefined, runner: DiagnosticsMethodRunner | undefined, parameters: { [key: string]: string; }, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/method?\";\r\n if (methodName === null)\r\n throw new Error(\"The parameter 'methodName' cannot be null.\");\r\n else if (methodName !== undefined)\r\n url_ += \"methodName=\" + encodeURIComponent(\"\" + methodName) + \"&\";\r\n if (runner === null)\r\n throw new Error(\"The parameter 'runner' cannot be null.\");\r\n else if (runner !== undefined)\r\n url_ += \"runner=\" + encodeURIComponent(\"\" + runner) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(parameters);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processExecuteMethod(_response));\r\n });\r\n }\r\n\r\n protected processExecuteMethod(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsConsoleRunKey.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getLog(lastKnownTick: string | null | undefined, taskId: string | null | undefined, takeCount: number | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/log?\";\r\n if (lastKnownTick !== undefined && lastKnownTick !== null)\r\n url_ += \"lastKnownTick=\" + encodeURIComponent(\"\" + lastKnownTick) + \"&\";\r\n if (taskId !== undefined && taskId !== null)\r\n url_ += \"taskId=\" + encodeURIComponent(\"\" + taskId) + \"&\";\r\n if (takeCount === null)\r\n throw new Error(\"The parameter 'takeCount' cannot be null.\");\r\n else if (takeCount !== undefined)\r\n url_ += \"takeCount=\" + encodeURIComponent(\"\" + takeCount) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetLog(_response));\r\n });\r\n }\r\n\r\n protected processGetLog(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsConsoleLineViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n clearLog(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/console/log\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processClearLog(_response));\r\n });\r\n }\r\n\r\n protected processClearLog(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsContentSecurityPolicyClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/csp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ContentSecurityPolicyViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/csp\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsCryptoClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n decrypt(input: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/crypto/decrypt\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDecrypt(_response));\r\n });\r\n }\r\n\r\n protected processDecrypt(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n encrypt(input: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/crypto/encrypt\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(input);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processEncrypt(_response));\r\n });\r\n }\r\n\r\n protected processEncrypt(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsEmailsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n templates(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTemplates(_response));\r\n });\r\n }\r\n\r\n protected processTemplates(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(EmailTemplate.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n model(emailTypeName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}/model\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processModel(_response));\r\n });\r\n }\r\n\r\n protected processModel(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsEmailModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n template(emailTypeName: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processTemplate(_response));\r\n });\r\n }\r\n\r\n protected processTemplate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n render(emailTypeName: string, model: any, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email/template/{emailTypeName}\";\r\n if (emailTypeName === undefined || emailTypeName === null)\r\n throw new Error(\"The parameter 'emailTypeName' must be defined.\");\r\n url_ = url_.replace(\"{emailTypeName}\", encodeURIComponent(\"\" + emailTypeName));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRender(_response));\r\n });\r\n }\r\n\r\n protected processRender(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n return;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n send(model: SendTestEmailModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/email\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSend(_response));\r\n });\r\n }\r\n\r\n protected processSend(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsIntegrationsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/integrations\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsIntegrationListItemModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsLogsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(start: string | undefined, end: string | undefined, messageSubstring: string | null | undefined, levels: DiagnosticsLogLevels | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log?\";\r\n if (start === null)\r\n throw new Error(\"The parameter 'start' cannot be null.\");\r\n else if (start !== undefined)\r\n url_ += \"start=\" + encodeURIComponent(\"\" + start) + \"&\";\r\n if (end === null)\r\n throw new Error(\"The parameter 'end' cannot be null.\");\r\n else if (end !== undefined)\r\n url_ += \"end=\" + encodeURIComponent(\"\" + end) + \"&\";\r\n if (messageSubstring !== undefined && messageSubstring !== null)\r\n url_ += \"messageSubstring=\" + encodeURIComponent(\"\" + messageSubstring) + \"&\";\r\n if (levels === null)\r\n throw new Error(\"The parameter 'levels' cannot be null.\");\r\n else if (levels !== undefined)\r\n url_ += \"levels=\" + encodeURIComponent(\"\" + levels) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsLogItem.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDetails(partitionKey: string, rowKey: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/{partitionKey}/{rowKey}\";\r\n if (partitionKey === undefined || partitionKey === null)\r\n throw new Error(\"The parameter 'partitionKey' must be defined.\");\r\n url_ = url_.replace(\"{partitionKey}\", encodeURIComponent(\"\" + partitionKey));\r\n if (rowKey === undefined || rowKey === null)\r\n throw new Error(\"The parameter 'rowKey' must be defined.\");\r\n url_ = url_.replace(\"{rowKey}\", encodeURIComponent(\"\" + rowKey));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDetails(_response));\r\n });\r\n }\r\n\r\n protected processGetDetails(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsLogItemDetails.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getConfig(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetConfig(_response));\r\n });\r\n }\r\n\r\n protected processGetConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n setConfig(config: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/log/config\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(config);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processSetConfig(_response));\r\n });\r\n }\r\n\r\n protected processSetConfig(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsPoisonsClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(PoisonMessageViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = PoisonMessageDetailsViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n restart(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRestart(_response));\r\n });\r\n }\r\n\r\n protected processRestart(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n raw(envelopeId: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/poison/{envelopeId}/raw\";\r\n if (envelopeId === undefined || envelopeId === null)\r\n throw new Error(\"The parameter 'envelopeId' must be defined.\");\r\n url_ = url_.replace(\"{envelopeId}\", encodeURIComponent(\"\" + envelopeId));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processRaw(_response));\r\n });\r\n }\r\n\r\n protected processRaw(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsShortUrlClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(fromIdExclusive: string | null | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl?\";\r\n if (fromIdExclusive !== undefined && fromIdExclusive !== null)\r\n url_ += \"fromIdExclusive=\" + encodeURIComponent(\"\" + fromIdExclusive) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsShortUrlViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: DiagnosticsShortUrlCreateModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = resultData200 !== undefined ? resultData200 : null;\r\n \r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n get(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/shorturl/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = DiagnosticsShortUrlViewModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class DiagnosticsWorkspaceScenariosClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n list(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/workspace-scenarios\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processList(_response));\r\n });\r\n }\r\n\r\n protected processList(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(DiagnosticsWorkspaceScenarioViewModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class EchoClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/echo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n post(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/echo\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPost(_response));\r\n });\r\n }\r\n\r\n protected processPost(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PaymentClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n getPaymentsCsv(reservationId: string | undefined, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/diagnostics/payment/csv?\";\r\n if (reservationId === null)\r\n throw new Error(\"The parameter 'reservationId' cannot be null.\");\r\n else if (reservationId !== undefined)\r\n url_ += \"reservationId=\" + encodeURIComponent(\"\" + reservationId) + \"&\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetPaymentsCsv(_response));\r\n });\r\n }\r\n\r\n protected processGetPaymentsCsv(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class InternationalConfigurationClient extends ClientBase {\r\n private http: { fetch(url: RequestInfo, init?: RequestInit): Promise };\r\n private baseUrl: string;\r\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\r\n\r\n constructor(baseUrl?: string, http?: { fetch(url: RequestInfo, init?: RequestInit): Promise }) {\r\n super();\r\n this.http = http ? http : window as any;\r\n this.baseUrl = this.getBaseUrl(\"\", baseUrl);\r\n }\r\n\r\n get(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGet(_response));\r\n });\r\n }\r\n\r\n protected processGet(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n if (Array.isArray(resultData200)) {\r\n result200 = [] as any;\r\n for (let item of resultData200)\r\n result200!.push(InternationalConfigurationModel.fromJS(item));\r\n }\r\n else {\r\n result200 = null;\r\n }\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n create(model: EditableInternationalConfigurationModel, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(model);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"POST\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processCreate(_response));\r\n });\r\n }\r\n\r\n protected processCreate(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n getDefault(signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration/default\";\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"GET\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processGetDefault(_response));\r\n });\r\n }\r\n\r\n protected processGetDefault(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = InternationalConfigurationModel.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n patch(id: string, patch: Operation[], signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n const content_ = JSON.stringify(patch);\r\n\r\n let options_: RequestInit = {\r\n body: content_,\r\n method: \"PATCH\",\r\n signal,\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n \"Accept\": \"application/json\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processPatch(_response));\r\n });\r\n }\r\n\r\n protected processPatch(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200) {\r\n return response.text().then((_responseText) => {\r\n let result200: any = null;\r\n let resultData200 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result200 = ResponseWrapper.fromJS(resultData200);\r\n return result200;\r\n });\r\n } else if (status === 400) {\r\n return response.text().then((_responseText) => {\r\n let result400: any = null;\r\n let resultData400 = _responseText === \"\" ? null : JSON.parse(_responseText, this.jsonParseReviver);\r\n result400 = ResponseWrapper.fromJS(resultData400);\r\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\r\n });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n\r\n delete(id: string, signal?: AbortSignal): Promise {\r\n let url_ = this.baseUrl + \"/api/international/configuration/{id}\";\r\n if (id === undefined || id === null)\r\n throw new Error(\"The parameter 'id' must be defined.\");\r\n url_ = url_.replace(\"{id}\", encodeURIComponent(\"\" + id));\r\n url_ = url_.replace(/[?&]$/, \"\");\r\n\r\n let options_: RequestInit = {\r\n method: \"DELETE\",\r\n signal,\r\n headers: {\r\n \"Accept\": \"application/octet-stream\"\r\n }\r\n };\r\n\r\n return this.transformOptions(options_).then(transformedOptions_ => {\r\n return this.http.fetch(url_, transformedOptions_);\r\n }).then((_response: Response) => {\r\n return this.transformResult(url_, _response, (_response: Response) => this.processDelete(_response));\r\n });\r\n }\r\n\r\n protected processDelete(response: Response): Promise {\r\n const status = response.status;\r\n let _headers: any = {}; if (response.headers && response.headers.forEach) { response.headers.forEach((v: any, k: any) => _headers[k] = v); };\r\n if (status === 200 || status === 206) {\r\n const contentDisposition = response.headers ? response.headers.get(\"content-disposition\") : undefined;\r\n let fileNameMatch = contentDisposition ? /filename\\*=(?:(\\\\?['\"])(.*?)\\1|(?:[^\\s]+'.*?')?([^;\\n]*))/g.exec(contentDisposition) : undefined;\r\n let fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[3] || fileNameMatch[2] : undefined;\r\n if (fileName) {\r\n fileName = decodeURIComponent(fileName);\r\n } else {\r\n fileNameMatch = contentDisposition ? /filename=\"?([^\"]*?)\"?(;|$)/g.exec(contentDisposition) : undefined;\r\n fileName = fileNameMatch && fileNameMatch.length > 1 ? fileNameMatch[1] : undefined;\r\n }\r\n return response.blob().then(blob => { return { fileName: fileName, data: blob, status: status, headers: _headers }; });\r\n } else if (status !== 200 && status !== 204) {\r\n return response.text().then((_responseText) => {\r\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\r\n });\r\n }\r\n return Promise.resolve(null as any);\r\n }\r\n}\r\n\r\nexport class PictureViewModel implements IPictureViewModel {\r\n pictureId!: string;\r\n pictureOwnerId!: string;\r\n pictureUrls!: PictureURLViewModel[];\r\n imageTagConstant!: ImageTagConstants;\r\n pictureType!: PictureTypeEnum;\r\n url!: string | undefined;\r\n\r\n constructor(data?: IPictureViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.pictureId = _data[\"pictureId\"];\r\n this.pictureOwnerId = _data[\"pictureOwnerId\"];\r\n if (Array.isArray(_data[\"pictureUrls\"])) {\r\n this.pictureUrls = [] as any;\r\n for (let item of _data[\"pictureUrls\"])\r\n this.pictureUrls!.push(PictureURLViewModel.fromJS(item));\r\n }\r\n this.imageTagConstant = _data[\"imageTagConstant\"];\r\n this.pictureType = _data[\"pictureType\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PictureViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PictureViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"pictureId\"] = this.pictureId;\r\n data[\"pictureOwnerId\"] = this.pictureOwnerId;\r\n if (Array.isArray(this.pictureUrls)) {\r\n data[\"pictureUrls\"] = [];\r\n for (let item of this.pictureUrls)\r\n data[\"pictureUrls\"].push(item.toJSON());\r\n }\r\n data[\"imageTagConstant\"] = this.imageTagConstant;\r\n data[\"pictureType\"] = this.pictureType;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPictureViewModel {\r\n pictureId: string;\r\n pictureOwnerId: string;\r\n pictureUrls: PictureURLViewModel[];\r\n imageTagConstant: ImageTagConstants;\r\n pictureType: PictureTypeEnum;\r\n url: string | undefined;\r\n}\r\n\r\nexport class PictureURLViewModel implements IPictureURLViewModel {\r\n id!: string;\r\n tags!: string;\r\n\r\n constructor(data?: IPictureURLViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.tags = _data[\"tags\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PictureURLViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PictureURLViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"tags\"] = this.tags;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPictureURLViewModel {\r\n id: string;\r\n tags: string;\r\n}\r\n\r\n/** 0 = Logo 1 = Logo100 2 = Help 3 = Favorite 4 = UserPicture 5 = AdCampaignPicture 6 = HeroPicture 7 = Gallery 8 = Cover 9 = PublisherLogo 10 = VenueFloorPlan 11 = AmenityIcon 12 = AmenityPaidIcon 13 = IOSAmenityIcon 14 = IOSAmenityPaidIcon 15 = AndroidAmenityIcon 16 = AndroidAmenityPaidIcon 17 = CityPageHero 18 = Neighborhood 19 = CompanyLogo 20 = ProfilePageCover 21 = Unassigned 22 = EmailLogo 101 = ExteriorEntrance 102 = Entrance 103 = BuildingLobby 104 = Reception 105 = VenueLobby 201 = FullView 202 = SideView 203 = RoomHighlight 204 = Drawing 205 = MessageAttachment 206 = OnboardingImage 207 = MapPin 208 = ReservationCard 209 = MeetingRoom 210 = DayOffice 211 = DayDesk */\r\nexport enum ImageTagConstants {\r\n Logo = 0,\r\n Logo100 = 1,\r\n Help = 2,\r\n Favorite = 3,\r\n UserPicture = 4,\r\n AdCampaignPicture = 5,\r\n HeroPicture = 6,\r\n Gallery = 7,\r\n Cover = 8,\r\n PublisherLogo = 9,\r\n VenueFloorPlan = 10,\r\n AmenityIcon = 11,\r\n AmenityPaidIcon = 12,\r\n IOSAmenityIcon = 13,\r\n IOSAmenityPaidIcon = 14,\r\n AndroidAmenityIcon = 15,\r\n AndroidAmenityPaidIcon = 16,\r\n CityPageHero = 17,\r\n Neighborhood = 18,\r\n CompanyLogo = 19,\r\n ProfilePageCover = 20,\r\n Unassigned = 21,\r\n EmailLogo = 22,\r\n ExteriorEntrance = 101,\r\n Entrance = 102,\r\n BuildingLobby = 103,\r\n Reception = 104,\r\n VenueLobby = 105,\r\n FullView = 201,\r\n SideView = 202,\r\n RoomHighlight = 203,\r\n Drawing = 204,\r\n MessageAttachment = 205,\r\n OnboardingImage = 206,\r\n MapPin = 207,\r\n ReservationCard = 208,\r\n MeetingRoom = 209,\r\n DayOffice = 210,\r\n DayDesk = 211,\r\n}\r\n\r\n/** 0 = Venue 1 = WorkSpace 2 = Member 3 = AdCampaign 4 = VenueCampaign 5 = MemberGroup 6 = FeaturedCampaign 7 = BrowseCity 8 = Announcement 9 = AnnouncementButton 10 = PublisherLogo 11 = AmenityIcon 12 = CityPage 13 = Neighborhood 14 = CompanyLogo 15 = ProfilePageCover 16 = EnterpriseAccount 17 = VenueGroup */\r\nexport enum PictureTypeEnum {\r\n Venue = 0,\r\n WorkSpace = 1,\r\n Member = 2,\r\n AdCampaign = 3,\r\n VenueCampaign = 4,\r\n MemberGroup = 5,\r\n FeaturedCampaign = 6,\r\n BrowseCity = 7,\r\n Announcement = 8,\r\n AnnouncementButton = 9,\r\n PublisherLogo = 10,\r\n AmenityIcon = 11,\r\n CityPage = 12,\r\n Neighborhood = 13,\r\n CompanyLogo = 14,\r\n ProfilePageCover = 15,\r\n EnterpriseAccount = 16,\r\n VenueGroup = 17,\r\n}\r\n\r\nexport class SlackToken implements ISlackToken {\r\n id!: string;\r\n /** Slack App Id.\r\nhttps://api.slack.com/apps */\r\n appId!: string;\r\n /** Is installed at Slack Enterprise level */\r\n isEnterpriseInstall!: boolean;\r\n /** Slack Enterprise ID */\r\n enterpriseId!: string | undefined;\r\n /** Slack Team ID */\r\n teamId!: string | undefined;\r\n userId!: string;\r\n botId!: string;\r\n timestamp!: string;\r\n accessToken!: string;\r\n refreshToken!: string | undefined;\r\n /** Relative to Timestamp */\r\n expiresIn!: number | undefined;\r\n /** Id */\r\n enterpriseAccountId!: string;\r\n\r\n constructor(data?: ISlackToken) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.appId = _data[\"appId\"];\r\n this.isEnterpriseInstall = _data[\"isEnterpriseInstall\"];\r\n this.enterpriseId = _data[\"enterpriseId\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.userId = _data[\"userId\"];\r\n this.botId = _data[\"botId\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.accessToken = _data[\"accessToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.expiresIn = _data[\"expiresIn\"];\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SlackToken {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SlackToken();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"appId\"] = this.appId;\r\n data[\"isEnterpriseInstall\"] = this.isEnterpriseInstall;\r\n data[\"enterpriseId\"] = this.enterpriseId;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"userId\"] = this.userId;\r\n data[\"botId\"] = this.botId;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"accessToken\"] = this.accessToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"expiresIn\"] = this.expiresIn;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISlackToken {\r\n id: string;\r\n /** Slack App Id.\r\nhttps://api.slack.com/apps */\r\n appId: string;\r\n /** Is installed at Slack Enterprise level */\r\n isEnterpriseInstall: boolean;\r\n /** Slack Enterprise ID */\r\n enterpriseId: string | undefined;\r\n /** Slack Team ID */\r\n teamId: string | undefined;\r\n userId: string;\r\n botId: string;\r\n timestamp: string;\r\n accessToken: string;\r\n refreshToken: string | undefined;\r\n /** Relative to Timestamp */\r\n expiresIn: number | undefined;\r\n /** Id */\r\n enterpriseAccountId: string;\r\n}\r\n\r\nexport class ProblemDetails implements IProblemDetails {\r\n type!: string | undefined;\r\n title!: string | undefined;\r\n status!: number | undefined;\r\n detail!: string | undefined;\r\n instance!: string | undefined;\r\n extensions!: { [key: string]: any; };\r\n\r\n [key: string]: any;\r\n\r\n constructor(data?: IProblemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n for (var property in _data) {\r\n if (_data.hasOwnProperty(property))\r\n this[property] = _data[property];\r\n }\r\n this.type = _data[\"type\"];\r\n this.title = _data[\"title\"];\r\n this.status = _data[\"status\"];\r\n this.detail = _data[\"detail\"];\r\n this.instance = _data[\"instance\"];\r\n if (_data[\"extensions\"]) {\r\n this.extensions = {} as any;\r\n for (let key in _data[\"extensions\"]) {\r\n if (_data[\"extensions\"].hasOwnProperty(key))\r\n (this.extensions)![key] = _data[\"extensions\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProblemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProblemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n for (var property in this) {\r\n if (this.hasOwnProperty(property))\r\n data[property] = this[property];\r\n }\r\n data[\"type\"] = this.type;\r\n data[\"title\"] = this.title;\r\n data[\"status\"] = this.status;\r\n data[\"detail\"] = this.detail;\r\n data[\"instance\"] = this.instance;\r\n if (this.extensions) {\r\n data[\"extensions\"] = {};\r\n for (let key in this.extensions) {\r\n if (this.extensions.hasOwnProperty(key))\r\n (data[\"extensions\"])[key] = (this.extensions)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProblemDetails {\r\n type: string | undefined;\r\n title: string | undefined;\r\n status: number | undefined;\r\n detail: string | undefined;\r\n instance: string | undefined;\r\n extensions: { [key: string]: any; };\r\n\r\n [key: string]: any;\r\n}\r\n\r\nexport class ResponseWrapper implements IResponseWrapper {\r\n isResponseWrapper!: boolean;\r\n success!: boolean;\r\n errorMessage!: string | undefined;\r\n validationErrors!: SerializableError | undefined;\r\n errorCode!: string | undefined;\r\n detailedDebugException!: string | undefined;\r\n\r\n constructor(data?: IResponseWrapper) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isResponseWrapper = _data[\"isResponseWrapper\"];\r\n this.success = _data[\"success\"];\r\n this.errorMessage = _data[\"errorMessage\"];\r\n this.validationErrors = _data[\"validationErrors\"] ? SerializableError.fromJS(_data[\"validationErrors\"]) : undefined;\r\n this.errorCode = _data[\"errorCode\"];\r\n this.detailedDebugException = _data[\"detailedDebugException\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ResponseWrapper {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ResponseWrapper();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isResponseWrapper\"] = this.isResponseWrapper;\r\n data[\"success\"] = this.success;\r\n data[\"errorMessage\"] = this.errorMessage;\r\n data[\"validationErrors\"] = this.validationErrors ? this.validationErrors.toJSON() : undefined;\r\n data[\"errorCode\"] = this.errorCode;\r\n data[\"detailedDebugException\"] = this.detailedDebugException;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IResponseWrapper {\r\n isResponseWrapper: boolean;\r\n success: boolean;\r\n errorMessage: string | undefined;\r\n validationErrors: SerializableError | undefined;\r\n errorCode: string | undefined;\r\n detailedDebugException: string | undefined;\r\n}\r\n\r\nexport class SerializableError implements ISerializableError {\r\n\r\n [key: string]: any;\r\n\r\n constructor(data?: ISerializableError) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n for (var property in _data) {\r\n if (_data.hasOwnProperty(property))\r\n this[property] = _data[property];\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SerializableError {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SerializableError();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n for (var property in this) {\r\n if (this.hasOwnProperty(property))\r\n data[property] = this[property];\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISerializableError {\r\n\r\n [key: string]: any;\r\n}\r\n\r\nexport abstract class RecaptchaRequestBase implements IRecaptchaRequestBase {\r\n recaptchaToken!: string;\r\n\r\n constructor(data?: IRecaptchaRequestBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.recaptchaToken = _data[\"recaptchaToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RecaptchaRequestBase {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'RecaptchaRequestBase' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recaptchaToken\"] = this.recaptchaToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRecaptchaRequestBase {\r\n recaptchaToken: string;\r\n}\r\n\r\nexport class ForgotPasswordRequest extends RecaptchaRequestBase implements IForgotPasswordRequest {\r\n email!: string;\r\n enterpriseAccountId!: string | undefined;\r\n\r\n constructor(data?: IForgotPasswordRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ForgotPasswordRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ForgotPasswordRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IForgotPasswordRequest extends IRecaptchaRequestBase {\r\n email: string;\r\n enterpriseAccountId: string | undefined;\r\n}\r\n\r\nexport class ChangePasswordModel implements IChangePasswordModel {\r\n currentPassword!: string | undefined;\r\n confirmPassword!: string;\r\n newPassword!: string;\r\n skipPasswordValidation!: boolean;\r\n\r\n constructor(data?: IChangePasswordModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentPassword = _data[\"currentPassword\"];\r\n this.confirmPassword = _data[\"confirmPassword\"];\r\n this.newPassword = _data[\"newPassword\"];\r\n this.skipPasswordValidation = _data[\"skipPasswordValidation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangePasswordModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangePasswordModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentPassword\"] = this.currentPassword;\r\n data[\"confirmPassword\"] = this.confirmPassword;\r\n data[\"newPassword\"] = this.newPassword;\r\n data[\"skipPasswordValidation\"] = this.skipPasswordValidation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangePasswordModel {\r\n currentPassword: string | undefined;\r\n confirmPassword: string;\r\n newPassword: string;\r\n skipPasswordValidation: boolean;\r\n}\r\n\r\nexport class MemberDataModel implements IMemberDataModel {\r\n firstName!: string;\r\n lastName!: string;\r\n company!: string | undefined;\r\n title!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n postalCode!: string | undefined;\r\n address!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n\r\n constructor(data?: IMemberDataModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.title = _data[\"title\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n this.address = _data[\"address\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberDataModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberDataModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"title\"] = this.title;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"postalCode\"] = this.postalCode;\r\n data[\"address\"] = this.address;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberDataModel {\r\n firstName: string;\r\n lastName: string;\r\n company: string | undefined;\r\n title: string | undefined;\r\n phoneNumber: string | undefined;\r\n postalCode: string | undefined;\r\n address: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n}\r\n\r\nexport class MemberNotificationModel implements IMemberNotificationModel {\r\n type!: MemberNotificationSettingType;\r\n enabled!: boolean;\r\n order!: number;\r\n description!: string;\r\n subDescription!: string;\r\n\r\n constructor(data?: IMemberNotificationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.enabled = _data[\"enabled\"];\r\n this.order = _data[\"order\"];\r\n this.description = _data[\"description\"];\r\n this.subDescription = _data[\"subDescription\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberNotificationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberNotificationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"enabled\"] = this.enabled;\r\n data[\"order\"] = this.order;\r\n data[\"description\"] = this.description;\r\n data[\"subDescription\"] = this.subDescription;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberNotificationModel {\r\n type: MemberNotificationSettingType;\r\n enabled: boolean;\r\n order: number;\r\n description: string;\r\n subDescription: string;\r\n}\r\n\r\n/** 0 = SpecialOffersAndEvents 1 = MonthlyNewsLetters 2 = MeetingReminders 3 = TextMessages 4 = SearchAlerts 5 = DemandSignal 6 = ProposalAlerts 7 = LiquidSpaceTutarials 8 = PreferWeeklyOverDaily 9 = ClaimProfile */\r\nexport enum MemberNotificationSettingType {\r\n SpecialOffersAndEvents = 0,\r\n MonthlyNewsLetters = 1,\r\n MeetingReminders = 2,\r\n TextMessages = 3,\r\n SearchAlerts = 4,\r\n DemandSignal = 5,\r\n ProposalAlerts = 6,\r\n LiquidSpaceTutarials = 7,\r\n PreferWeeklyOverDaily = 8,\r\n ClaimProfile = 9,\r\n}\r\n\r\nexport class ChangeEmailModel implements IChangeEmailModel {\r\n email!: string;\r\n confirmationPassword!: string | undefined;\r\n skipPasswordValidation!: boolean;\r\n\r\n constructor(data?: IChangeEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.confirmationPassword = _data[\"confirmationPassword\"];\r\n this.skipPasswordValidation = _data[\"skipPasswordValidation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n data[\"confirmationPassword\"] = this.confirmationPassword;\r\n data[\"skipPasswordValidation\"] = this.skipPasswordValidation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeEmailModel {\r\n email: string;\r\n confirmationPassword: string | undefined;\r\n skipPasswordValidation: boolean;\r\n}\r\n\r\nexport class SsoMemberModel implements ISsoMemberModel {\r\n ssoId!: string;\r\n ssoType!: SsoType;\r\n\r\n constructor(data?: ISsoMemberModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ssoId = _data[\"ssoId\"];\r\n this.ssoType = _data[\"ssoType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SsoMemberModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SsoMemberModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ssoId\"] = this.ssoId;\r\n data[\"ssoType\"] = this.ssoType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISsoMemberModel {\r\n ssoId: string;\r\n ssoType: SsoType;\r\n}\r\n\r\n/** 0 = LinkedIn 1 = Twitter 2 = Google 3 = SAML 4 = Facebook 5 = Apple 100 = None */\r\nexport enum SsoType {\r\n LinkedIn = 0,\r\n Twitter = 1,\r\n Google = 2,\r\n SAML = 3,\r\n Facebook = 4,\r\n Apple = 5,\r\n None = 100,\r\n}\r\n\r\n/** 0 = Visible 1 = Invisible */\r\nexport enum SocialVisibility {\r\n Visible = 0,\r\n Invisible = 1,\r\n}\r\n\r\nexport class ApiClientListItemViewModel implements IApiClientListItemViewModel {\r\n clientId!: string;\r\n name!: string | undefined;\r\n enterpriseAccountApiClientsCount!: number;\r\n isLegacyCompatibility!: boolean;\r\n\r\n constructor(data?: IApiClientListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.name = _data[\"name\"];\r\n this.enterpriseAccountApiClientsCount = _data[\"enterpriseAccountApiClientsCount\"];\r\n this.isLegacyCompatibility = _data[\"isLegacyCompatibility\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApiClientListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApiClientListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"name\"] = this.name;\r\n data[\"enterpriseAccountApiClientsCount\"] = this.enterpriseAccountApiClientsCount;\r\n data[\"isLegacyCompatibility\"] = this.isLegacyCompatibility;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IApiClientListItemViewModel {\r\n clientId: string;\r\n name: string | undefined;\r\n enterpriseAccountApiClientsCount: number;\r\n isLegacyCompatibility: boolean;\r\n}\r\n\r\nexport class EditableApiClientModel implements IEditableApiClientModel {\r\n enterpriseAccountIds!: string[];\r\n clientId!: string;\r\n clientSecret!: string;\r\n subscriptionKey!: string | undefined;\r\n description!: string | undefined;\r\n name!: string | undefined;\r\n allowedGrantTypes!: string[];\r\n allowedScopes!: string[];\r\n isLegacyCompatibility!: boolean;\r\n\r\n constructor(data?: IEditableApiClientModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"enterpriseAccountIds\"])) {\r\n this.enterpriseAccountIds = [] as any;\r\n for (let item of _data[\"enterpriseAccountIds\"])\r\n this.enterpriseAccountIds!.push(item);\r\n }\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.subscriptionKey = _data[\"subscriptionKey\"];\r\n this.description = _data[\"description\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"allowedGrantTypes\"])) {\r\n this.allowedGrantTypes = [] as any;\r\n for (let item of _data[\"allowedGrantTypes\"])\r\n this.allowedGrantTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"allowedScopes\"])) {\r\n this.allowedScopes = [] as any;\r\n for (let item of _data[\"allowedScopes\"])\r\n this.allowedScopes!.push(item);\r\n }\r\n this.isLegacyCompatibility = _data[\"isLegacyCompatibility\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditableApiClientModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditableApiClientModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.enterpriseAccountIds)) {\r\n data[\"enterpriseAccountIds\"] = [];\r\n for (let item of this.enterpriseAccountIds)\r\n data[\"enterpriseAccountIds\"].push(item);\r\n }\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"subscriptionKey\"] = this.subscriptionKey;\r\n data[\"description\"] = this.description;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.allowedGrantTypes)) {\r\n data[\"allowedGrantTypes\"] = [];\r\n for (let item of this.allowedGrantTypes)\r\n data[\"allowedGrantTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.allowedScopes)) {\r\n data[\"allowedScopes\"] = [];\r\n for (let item of this.allowedScopes)\r\n data[\"allowedScopes\"].push(item);\r\n }\r\n data[\"isLegacyCompatibility\"] = this.isLegacyCompatibility;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditableApiClientModel {\r\n enterpriseAccountIds: string[];\r\n clientId: string;\r\n clientSecret: string;\r\n subscriptionKey: string | undefined;\r\n description: string | undefined;\r\n name: string | undefined;\r\n allowedGrantTypes: string[];\r\n allowedScopes: string[];\r\n isLegacyCompatibility: boolean;\r\n}\r\n\r\nexport class BlogViewModel implements IBlogViewModel {\r\n link!: string;\r\n items!: BlogItem[];\r\n\r\n constructor(data?: IBlogViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.link = _data[\"link\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(BlogItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BlogViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BlogViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"link\"] = this.link;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBlogViewModel {\r\n link: string;\r\n items: BlogItem[];\r\n}\r\n\r\nexport class BlogItem implements IBlogItem {\r\n title!: string | undefined;\r\n link!: string | undefined;\r\n imgSource!: string | undefined;\r\n date!: string | undefined;\r\n categories!: string[];\r\n tags!: string[];\r\n category!: string | undefined;\r\n imgAlt!: string | undefined;\r\n summary!: string | undefined;\r\n readTime!: string | undefined;\r\n\r\n constructor(data?: IBlogItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.link = _data[\"link\"];\r\n this.imgSource = _data[\"imgSource\"];\r\n this.date = _data[\"date\"];\r\n if (Array.isArray(_data[\"categories\"])) {\r\n this.categories = [] as any;\r\n for (let item of _data[\"categories\"])\r\n this.categories!.push(item);\r\n }\r\n if (Array.isArray(_data[\"tags\"])) {\r\n this.tags = [] as any;\r\n for (let item of _data[\"tags\"])\r\n this.tags!.push(item);\r\n }\r\n this.category = _data[\"category\"];\r\n this.imgAlt = _data[\"imgAlt\"];\r\n this.summary = _data[\"summary\"];\r\n this.readTime = _data[\"readTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BlogItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BlogItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"link\"] = this.link;\r\n data[\"imgSource\"] = this.imgSource;\r\n data[\"date\"] = this.date;\r\n if (Array.isArray(this.categories)) {\r\n data[\"categories\"] = [];\r\n for (let item of this.categories)\r\n data[\"categories\"].push(item);\r\n }\r\n if (Array.isArray(this.tags)) {\r\n data[\"tags\"] = [];\r\n for (let item of this.tags)\r\n data[\"tags\"].push(item);\r\n }\r\n data[\"category\"] = this.category;\r\n data[\"imgAlt\"] = this.imgAlt;\r\n data[\"summary\"] = this.summary;\r\n data[\"readTime\"] = this.readTime;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBlogItem {\r\n title: string | undefined;\r\n link: string | undefined;\r\n imgSource: string | undefined;\r\n date: string | undefined;\r\n categories: string[];\r\n tags: string[];\r\n category: string | undefined;\r\n imgAlt: string | undefined;\r\n summary: string | undefined;\r\n readTime: string | undefined;\r\n}\r\n\r\n/** 0 = Homefeature 1 = Perspectives */\r\nexport enum BlogTag {\r\n Homefeature = 0,\r\n Perspectives = 1,\r\n}\r\n\r\nexport class BookingPrerequisitesValidationResult implements IBookingPrerequisitesValidationResult {\r\n isValid!: boolean;\r\n errors!: BookingPrerequisitesValidationPolicyError[];\r\n\r\n constructor(data?: IBookingPrerequisitesValidationResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isValid = _data[\"isValid\"];\r\n if (Array.isArray(_data[\"errors\"])) {\r\n this.errors = [] as any;\r\n for (let item of _data[\"errors\"])\r\n this.errors!.push(BookingPrerequisitesValidationPolicyError.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisitesValidationResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BookingPrerequisitesValidationResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isValid\"] = this.isValid;\r\n if (Array.isArray(this.errors)) {\r\n data[\"errors\"] = [];\r\n for (let item of this.errors)\r\n data[\"errors\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingPrerequisitesValidationResult {\r\n isValid: boolean;\r\n errors: BookingPrerequisitesValidationPolicyError[];\r\n}\r\n\r\nexport class BookingPrerequisitesValidationPolicyError implements IBookingPrerequisitesValidationPolicyError {\r\n message!: string;\r\n requiresLogin!: boolean;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBookingPrerequisitesValidationPolicyError) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BookingPrerequisitesValidationPolicyError\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.requiresLogin = _data[\"requiresLogin\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisitesValidationPolicyError {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"BookingPrerequisitesValidationPolicyRequiresApprovalError\") {\r\n let result = new BookingPrerequisitesValidationPolicyRequiresApprovalError();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new BookingPrerequisitesValidationPolicyError();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"message\"] = this.message;\r\n data[\"requiresLogin\"] = this.requiresLogin;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingPrerequisitesValidationPolicyError {\r\n message: string;\r\n requiresLogin: boolean;\r\n}\r\n\r\nexport class BookingPrerequisitesValidationPolicyRequiresApprovalError extends BookingPrerequisitesValidationPolicyError implements IBookingPrerequisitesValidationPolicyRequiresApprovalError {\r\n agreeToShareViewModel!: AgreeToShareViewModel;\r\n\r\n constructor(data?: IBookingPrerequisitesValidationPolicyRequiresApprovalError) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BookingPrerequisitesValidationPolicyRequiresApprovalError\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.agreeToShareViewModel = _data[\"agreeToShareViewModel\"] ? AgreeToShareViewModel.fromJS(_data[\"agreeToShareViewModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisitesValidationPolicyRequiresApprovalError {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BookingPrerequisitesValidationPolicyRequiresApprovalError();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"agreeToShareViewModel\"] = this.agreeToShareViewModel ? this.agreeToShareViewModel.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingPrerequisitesValidationPolicyRequiresApprovalError extends IBookingPrerequisitesValidationPolicyError {\r\n agreeToShareViewModel: AgreeToShareViewModel;\r\n}\r\n\r\nexport class AgreeToShareViewModel implements IAgreeToShareViewModel {\r\n memberId!: string;\r\n fullName!: string | undefined;\r\n company!: string | undefined;\r\n email!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n freeFormTextForApproval!: string | undefined;\r\n venueId!: string;\r\n\r\n constructor(data?: IAgreeToShareViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.freeFormTextForApproval = _data[\"freeFormTextForApproval\"];\r\n this.venueId = _data[\"venueId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AgreeToShareViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AgreeToShareViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"freeFormTextForApproval\"] = this.freeFormTextForApproval;\r\n data[\"venueId\"] = this.venueId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAgreeToShareViewModel {\r\n memberId: string;\r\n fullName: string | undefined;\r\n company: string | undefined;\r\n email: string | undefined;\r\n phoneNumber: string | undefined;\r\n freeFormTextForApproval: string | undefined;\r\n venueId: string;\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport abstract class BookingPrerequisites implements IBookingPrerequisites {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBookingPrerequisites) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BookingPrerequisites\";\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): BookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"NEW\") {\r\n let result = new NewReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"EDIT\") {\r\n let result = new EditReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"BASED\") {\r\n let result = new BasedOnReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'BookingPrerequisites' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n return data;\r\n }\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport interface IBookingPrerequisites {\r\n}\r\n\r\nexport class NewReservationBookingPrerequisites extends BookingPrerequisites implements INewReservationBookingPrerequisites {\r\n venueId!: string;\r\n workspaceId!: string;\r\n startDate!: string | undefined;\r\n startTime!: string | undefined;\r\n durationMinutes!: number | undefined;\r\n daysAhead!: number | undefined;\r\n /** Actual member ID to become owner of requested reservation.\r\nExecuting member should have booking delegation access for requested OwnerId. */\r\n ownerId!: string | undefined;\r\n guestCount!: number | undefined;\r\n\r\n constructor(data?: INewReservationBookingPrerequisites) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"NEW\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.startDate = _data[\"startDate\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n this.daysAhead = _data[\"daysAhead\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.guestCount = _data[\"guestCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): NewReservationBookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new NewReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"startDate\"] = this.startDate;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n data[\"daysAhead\"] = this.daysAhead;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"guestCount\"] = this.guestCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface INewReservationBookingPrerequisites extends IBookingPrerequisites {\r\n venueId: string;\r\n workspaceId: string;\r\n startDate: string | undefined;\r\n startTime: string | undefined;\r\n durationMinutes: number | undefined;\r\n daysAhead: number | undefined;\r\n /** Actual member ID to become owner of requested reservation.\r\nExecuting member should have booking delegation access for requested OwnerId. */\r\n ownerId: string | undefined;\r\n guestCount: number | undefined;\r\n}\r\n\r\nexport class EditReservationBookingPrerequisites extends BookingPrerequisites implements IEditReservationBookingPrerequisites {\r\n /** Existing reservation ID to edit */\r\n reservationId!: string;\r\n /** Date of a signle reservation occurence from the recurrent reservation */\r\n occurenceDate!: string | undefined;\r\n\r\n constructor(data?: IEditReservationBookingPrerequisites) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"EDIT\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurenceDate = _data[\"occurenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditReservationBookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurenceDate\"] = this.occurenceDate;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditReservationBookingPrerequisites extends IBookingPrerequisites {\r\n /** Existing reservation ID to edit */\r\n reservationId: string;\r\n /** Date of a signle reservation occurence from the recurrent reservation */\r\n occurenceDate: string | undefined;\r\n}\r\n\r\nexport class BasedOnReservationBookingPrerequisites extends BookingPrerequisites implements IBasedOnReservationBookingPrerequisites {\r\n /** Existing reservation ID to be base for new reservation */\r\n reservationId!: string;\r\n\r\n constructor(data?: IBasedOnReservationBookingPrerequisites) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BASED\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BasedOnReservationBookingPrerequisites {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BasedOnReservationBookingPrerequisites();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBasedOnReservationBookingPrerequisites extends IBookingPrerequisites {\r\n /** Existing reservation ID to be base for new reservation */\r\n reservationId: string;\r\n}\r\n\r\nexport class BookingRepresenteeViewModel implements IBookingRepresenteeViewModel {\r\n id!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string;\r\n fullName!: string;\r\n\r\n constructor(data?: IBookingRepresenteeViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.fullName = _data[\"fullName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BookingRepresenteeViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BookingRepresenteeViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"fullName\"] = this.fullName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBookingRepresenteeViewModel {\r\n id: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string;\r\n fullName: string;\r\n}\r\n\r\nexport class WorkspaceAvailabilityCheckViewModel implements IWorkspaceAvailabilityCheckViewModel {\r\n venueId!: string;\r\n workspaceId!: string;\r\n startTime!: string;\r\n endTime!: string;\r\n desksCount!: number | undefined;\r\n editReservationId!: string | undefined;\r\n\r\n constructor(data?: IWorkspaceAvailabilityCheckViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.endTime = _data[\"endTime\"];\r\n this.desksCount = _data[\"desksCount\"];\r\n this.editReservationId = _data[\"editReservationId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceAvailabilityCheckViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceAvailabilityCheckViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"endTime\"] = this.endTime;\r\n data[\"desksCount\"] = this.desksCount;\r\n data[\"editReservationId\"] = this.editReservationId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceAvailabilityCheckViewModel {\r\n venueId: string;\r\n workspaceId: string;\r\n startTime: string;\r\n endTime: string;\r\n desksCount: number | undefined;\r\n editReservationId: string | undefined;\r\n}\r\n\r\nexport class FavoriteCollectionViewModel implements IFavoriteCollectionViewModel {\r\n id!: string;\r\n name!: string;\r\n numberOfSpaces!: number;\r\n order!: number;\r\n images!: string[];\r\n collectionType!: CollectionType;\r\n collaborators!: CollaboratorViewModel[];\r\n url!: string;\r\n\r\n constructor(data?: IFavoriteCollectionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.numberOfSpaces = _data[\"numberOfSpaces\"];\r\n this.order = _data[\"order\"];\r\n if (Array.isArray(_data[\"images\"])) {\r\n this.images = [] as any;\r\n for (let item of _data[\"images\"])\r\n this.images!.push(item);\r\n }\r\n this.collectionType = _data[\"collectionType\"];\r\n if (Array.isArray(_data[\"collaborators\"])) {\r\n this.collaborators = [] as any;\r\n for (let item of _data[\"collaborators\"])\r\n this.collaborators!.push(CollaboratorViewModel.fromJS(item));\r\n }\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FavoriteCollectionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FavoriteCollectionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"numberOfSpaces\"] = this.numberOfSpaces;\r\n data[\"order\"] = this.order;\r\n if (Array.isArray(this.images)) {\r\n data[\"images\"] = [];\r\n for (let item of this.images)\r\n data[\"images\"].push(item);\r\n }\r\n data[\"collectionType\"] = this.collectionType;\r\n if (Array.isArray(this.collaborators)) {\r\n data[\"collaborators\"] = [];\r\n for (let item of this.collaborators)\r\n data[\"collaborators\"].push(item.toJSON());\r\n }\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFavoriteCollectionViewModel {\r\n id: string;\r\n name: string;\r\n numberOfSpaces: number;\r\n order: number;\r\n images: string[];\r\n collectionType: CollectionType;\r\n collaborators: CollaboratorViewModel[];\r\n url: string;\r\n}\r\n\r\n/** 0 = None 1 = Regular 2 = Shared */\r\nexport enum CollectionType {\r\n None = 0,\r\n Regular = 1,\r\n Shared = 2,\r\n}\r\n\r\nexport class CollaboratorViewModel implements ICollaboratorViewModel {\r\n id!: string;\r\n fullName!: string;\r\n initials!: string;\r\n firstName!: string | undefined;\r\n email!: string;\r\n pictureURL!: string | undefined;\r\n\r\n constructor(data?: ICollaboratorViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.initials = _data[\"initials\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.email = _data[\"email\"];\r\n this.pictureURL = _data[\"pictureURL\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CollaboratorViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CollaboratorViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"initials\"] = this.initials;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"email\"] = this.email;\r\n data[\"pictureURL\"] = this.pictureURL;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICollaboratorViewModel {\r\n id: string;\r\n fullName: string;\r\n initials: string;\r\n firstName: string | undefined;\r\n email: string;\r\n pictureURL: string | undefined;\r\n}\r\n\r\nexport class VenueSearchResult implements IVenueSearchResult {\r\n venueId!: string;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n name!: string | undefined;\r\n address!: string | undefined;\r\n minPrice!: number;\r\n minPriceFormatted!: string | undefined;\r\n imageUrl!: string | undefined;\r\n imageUrls!: string[];\r\n workspaceTypesFormatted!: string[];\r\n url!: string | undefined;\r\n averageRating!: number;\r\n ratingCount!: number;\r\n hasHealthAndSafetyPolicy!: boolean;\r\n hasLiquidspacePro!: boolean;\r\n enterpriseHeadquarter!: boolean;\r\n enterprisePreferredLocation!: boolean;\r\n isExtendedNetwork!: boolean;\r\n workspaceSearchResults!: WorkspaceSearchResult[];\r\n defaultBookingMethod!: BookingMethod;\r\n defaultBookingMethodHourly!: BookingMethod;\r\n\r\n constructor(data?: IVenueSearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.name = _data[\"name\"];\r\n this.address = _data[\"address\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.minPriceFormatted = _data[\"minPriceFormatted\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n if (Array.isArray(_data[\"imageUrls\"])) {\r\n this.imageUrls = [] as any;\r\n for (let item of _data[\"imageUrls\"])\r\n this.imageUrls!.push(item);\r\n }\r\n if (Array.isArray(_data[\"workspaceTypesFormatted\"])) {\r\n this.workspaceTypesFormatted = [] as any;\r\n for (let item of _data[\"workspaceTypesFormatted\"])\r\n this.workspaceTypesFormatted!.push(item);\r\n }\r\n this.url = _data[\"url\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n this.ratingCount = _data[\"ratingCount\"];\r\n this.hasHealthAndSafetyPolicy = _data[\"hasHealthAndSafetyPolicy\"];\r\n this.hasLiquidspacePro = _data[\"hasLiquidspacePro\"];\r\n this.enterpriseHeadquarter = _data[\"enterpriseHeadquarter\"];\r\n this.enterprisePreferredLocation = _data[\"enterprisePreferredLocation\"];\r\n this.isExtendedNetwork = _data[\"isExtendedNetwork\"];\r\n if (Array.isArray(_data[\"workspaceSearchResults\"])) {\r\n this.workspaceSearchResults = [] as any;\r\n for (let item of _data[\"workspaceSearchResults\"])\r\n this.workspaceSearchResults!.push(WorkspaceSearchResult.fromJS(item));\r\n }\r\n this.defaultBookingMethod = _data[\"defaultBookingMethod\"];\r\n this.defaultBookingMethodHourly = _data[\"defaultBookingMethodHourly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"name\"] = this.name;\r\n data[\"address\"] = this.address;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"minPriceFormatted\"] = this.minPriceFormatted;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n if (Array.isArray(this.imageUrls)) {\r\n data[\"imageUrls\"] = [];\r\n for (let item of this.imageUrls)\r\n data[\"imageUrls\"].push(item);\r\n }\r\n if (Array.isArray(this.workspaceTypesFormatted)) {\r\n data[\"workspaceTypesFormatted\"] = [];\r\n for (let item of this.workspaceTypesFormatted)\r\n data[\"workspaceTypesFormatted\"].push(item);\r\n }\r\n data[\"url\"] = this.url;\r\n data[\"averageRating\"] = this.averageRating;\r\n data[\"ratingCount\"] = this.ratingCount;\r\n data[\"hasHealthAndSafetyPolicy\"] = this.hasHealthAndSafetyPolicy;\r\n data[\"hasLiquidspacePro\"] = this.hasLiquidspacePro;\r\n data[\"enterpriseHeadquarter\"] = this.enterpriseHeadquarter;\r\n data[\"enterprisePreferredLocation\"] = this.enterprisePreferredLocation;\r\n data[\"isExtendedNetwork\"] = this.isExtendedNetwork;\r\n if (Array.isArray(this.workspaceSearchResults)) {\r\n data[\"workspaceSearchResults\"] = [];\r\n for (let item of this.workspaceSearchResults)\r\n data[\"workspaceSearchResults\"].push(item.toJSON());\r\n }\r\n data[\"defaultBookingMethod\"] = this.defaultBookingMethod;\r\n data[\"defaultBookingMethodHourly\"] = this.defaultBookingMethodHourly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSearchResult {\r\n venueId: string;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n name: string | undefined;\r\n address: string | undefined;\r\n minPrice: number;\r\n minPriceFormatted: string | undefined;\r\n imageUrl: string | undefined;\r\n imageUrls: string[];\r\n workspaceTypesFormatted: string[];\r\n url: string | undefined;\r\n averageRating: number;\r\n ratingCount: number;\r\n hasHealthAndSafetyPolicy: boolean;\r\n hasLiquidspacePro: boolean;\r\n enterpriseHeadquarter: boolean;\r\n enterprisePreferredLocation: boolean;\r\n isExtendedNetwork: boolean;\r\n workspaceSearchResults: WorkspaceSearchResult[];\r\n defaultBookingMethod: BookingMethod;\r\n defaultBookingMethodHourly: BookingMethod;\r\n}\r\n\r\nexport class WorkspaceSearchResult implements IWorkspaceSearchResult {\r\n id!: string;\r\n name!: string | undefined;\r\n imgUrl!: string | undefined;\r\n url!: string | undefined;\r\n price!: number;\r\n priceAmount!: string | undefined;\r\n priceDescription!: string | undefined;\r\n spaceType!: SpaceType;\r\n spaceTypeFormatted!: string | undefined;\r\n capacity!: number;\r\n searchScoreHint!: number | undefined;\r\n averageRating!: number | undefined;\r\n\r\n constructor(data?: IWorkspaceSearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.imgUrl = _data[\"imgUrl\"];\r\n this.url = _data[\"url\"];\r\n this.price = _data[\"price\"];\r\n this.priceAmount = _data[\"priceAmount\"];\r\n this.priceDescription = _data[\"priceDescription\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeFormatted = _data[\"spaceTypeFormatted\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.searchScoreHint = _data[\"searchScoreHint\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceSearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceSearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"imgUrl\"] = this.imgUrl;\r\n data[\"url\"] = this.url;\r\n data[\"price\"] = this.price;\r\n data[\"priceAmount\"] = this.priceAmount;\r\n data[\"priceDescription\"] = this.priceDescription;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeFormatted\"] = this.spaceTypeFormatted;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"searchScoreHint\"] = this.searchScoreHint;\r\n data[\"averageRating\"] = this.averageRating;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceSearchResult {\r\n id: string;\r\n name: string | undefined;\r\n imgUrl: string | undefined;\r\n url: string | undefined;\r\n price: number;\r\n priceAmount: string | undefined;\r\n priceDescription: string | undefined;\r\n spaceType: SpaceType;\r\n spaceTypeFormatted: string | undefined;\r\n capacity: number;\r\n searchScoreHint: number | undefined;\r\n averageRating: number | undefined;\r\n}\r\n\r\n/** 0 = Any 1 = Meeting 2 = Office 4 = Desk 8 = Training 16 = TeamSpace 32 = PrivateOffice 64 = EventSpace 128 = OpenDesk 256 = DedicatedDesk 512 = Membership */\r\nexport enum SpaceType {\r\n Any = 0,\r\n Meeting = 1,\r\n Office = 2,\r\n Desk = 4,\r\n Training = 8,\r\n TeamSpace = 16,\r\n PrivateOffice = 32,\r\n EventSpace = 64,\r\n OpenDesk = 128,\r\n DedicatedDesk = 256,\r\n Membership = 512,\r\n}\r\n\r\n/** 0 = NotAvailable 1 = InquireNow 2 = BookItNow 3 = RequestToBook */\r\nexport enum BookingMethod {\r\n NotAvailable = 0,\r\n InquireNow = 1,\r\n BookItNow = 2,\r\n RequestToBook = 3,\r\n}\r\n\r\nexport class FavoriteCollectionWorkspacesViewModel implements IFavoriteCollectionWorkspacesViewModel {\r\n collection!: FavoriteCollectionViewModel;\r\n workspaces!: FavoriteWorkspaceViewModel[];\r\n\r\n constructor(data?: IFavoriteCollectionWorkspacesViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.collection = _data[\"collection\"] ? FavoriteCollectionViewModel.fromJS(_data[\"collection\"]) : undefined;\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(FavoriteWorkspaceViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): FavoriteCollectionWorkspacesViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FavoriteCollectionWorkspacesViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"collection\"] = this.collection ? this.collection.toJSON() : undefined;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFavoriteCollectionWorkspacesViewModel {\r\n collection: FavoriteCollectionViewModel;\r\n workspaces: FavoriteWorkspaceViewModel[];\r\n}\r\n\r\nexport class FavoriteWorkspaceViewModel implements IFavoriteWorkspaceViewModel {\r\n order!: number;\r\n image!: string;\r\n priceAmount!: string;\r\n priceDescription!: string;\r\n address!: string;\r\n hasHealthAndSafetyPolicy!: boolean;\r\n liquidspacePro!: boolean;\r\n capacityFilterWithScenario!: string;\r\n nRatings!: number;\r\n averageRating!: number;\r\n status!: WorkspaceStatus;\r\n name!: string;\r\n id!: string;\r\n venueId!: string;\r\n url!: string;\r\n bookingMethod!: BookingMethod;\r\n reservationMethod!: WorkspaceReservationMethod;\r\n\r\n constructor(data?: IFavoriteWorkspaceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.order = _data[\"order\"];\r\n this.image = _data[\"image\"];\r\n this.priceAmount = _data[\"priceAmount\"];\r\n this.priceDescription = _data[\"priceDescription\"];\r\n this.address = _data[\"address\"];\r\n this.hasHealthAndSafetyPolicy = _data[\"hasHealthAndSafetyPolicy\"];\r\n this.liquidspacePro = _data[\"liquidspacePro\"];\r\n this.capacityFilterWithScenario = _data[\"capacityFilterWithScenario\"];\r\n this.nRatings = _data[\"nRatings\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n this.status = _data[\"status\"];\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.url = _data[\"url\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FavoriteWorkspaceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FavoriteWorkspaceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"order\"] = this.order;\r\n data[\"image\"] = this.image;\r\n data[\"priceAmount\"] = this.priceAmount;\r\n data[\"priceDescription\"] = this.priceDescription;\r\n data[\"address\"] = this.address;\r\n data[\"hasHealthAndSafetyPolicy\"] = this.hasHealthAndSafetyPolicy;\r\n data[\"liquidspacePro\"] = this.liquidspacePro;\r\n data[\"capacityFilterWithScenario\"] = this.capacityFilterWithScenario;\r\n data[\"nRatings\"] = this.nRatings;\r\n data[\"averageRating\"] = this.averageRating;\r\n data[\"status\"] = this.status;\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"url\"] = this.url;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IFavoriteWorkspaceViewModel {\r\n order: number;\r\n image: string;\r\n priceAmount: string;\r\n priceDescription: string;\r\n address: string;\r\n hasHealthAndSafetyPolicy: boolean;\r\n liquidspacePro: boolean;\r\n capacityFilterWithScenario: string;\r\n nRatings: number;\r\n averageRating: number;\r\n status: WorkspaceStatus;\r\n name: string;\r\n id: string;\r\n venueId: string;\r\n url: string;\r\n bookingMethod: BookingMethod;\r\n reservationMethod: WorkspaceReservationMethod;\r\n}\r\n\r\n/** 0 = Unknown 1 = Hidden 2 = Private 3 = Public */\r\nexport enum WorkspaceStatus {\r\n Unknown = 0,\r\n Hidden = 1,\r\n Private = 2,\r\n Public = 3,\r\n}\r\n\r\n/** 0 = SpecificTimePeriod 1 = DayPass 2 = Period */\r\nexport enum WorkspaceReservationMethod {\r\n SpecificTimePeriod = 0,\r\n DayPass = 1,\r\n Period = 2,\r\n}\r\n\r\nexport class ShareCollectionModel implements IShareCollectionModel {\r\n collectionId!: string;\r\n collectionOwnerId!: string;\r\n collectionUrl!: string;\r\n brokerId!: string | undefined;\r\n bmgId!: string | undefined;\r\n shareModel!: ShareModel;\r\n\r\n constructor(data?: IShareCollectionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.collectionId = _data[\"collectionId\"];\r\n this.collectionOwnerId = _data[\"collectionOwnerId\"];\r\n this.collectionUrl = _data[\"collectionUrl\"];\r\n this.brokerId = _data[\"brokerId\"];\r\n this.bmgId = _data[\"bmgId\"];\r\n this.shareModel = _data[\"shareModel\"] ? ShareModel.fromJS(_data[\"shareModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareCollectionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareCollectionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"collectionId\"] = this.collectionId;\r\n data[\"collectionOwnerId\"] = this.collectionOwnerId;\r\n data[\"collectionUrl\"] = this.collectionUrl;\r\n data[\"brokerId\"] = this.brokerId;\r\n data[\"bmgId\"] = this.bmgId;\r\n data[\"shareModel\"] = this.shareModel ? this.shareModel.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IShareCollectionModel {\r\n collectionId: string;\r\n collectionOwnerId: string;\r\n collectionUrl: string;\r\n brokerId: string | undefined;\r\n bmgId: string | undefined;\r\n shareModel: ShareModel;\r\n}\r\n\r\nexport class ShareModel implements IShareModel {\r\n facebookShareUrl!: string;\r\n twitterShareUrl!: string;\r\n linkedInShareUrl!: string;\r\n\r\n constructor(data?: IShareModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.facebookShareUrl = _data[\"facebookShareUrl\"];\r\n this.twitterShareUrl = _data[\"twitterShareUrl\"];\r\n this.linkedInShareUrl = _data[\"linkedInShareUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ShareModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ShareModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"facebookShareUrl\"] = this.facebookShareUrl;\r\n data[\"twitterShareUrl\"] = this.twitterShareUrl;\r\n data[\"linkedInShareUrl\"] = this.linkedInShareUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IShareModel {\r\n facebookShareUrl: string;\r\n twitterShareUrl: string;\r\n linkedInShareUrl: string;\r\n}\r\n\r\nexport class ConciergeRequestViewModel implements IConciergeRequestViewModel {\r\n venueId!: string;\r\n spaceTypes!: SpaceType;\r\n reservationMethod!: WorkspaceReservationMethod;\r\n phoneNumber!: string | undefined;\r\n company!: string | undefined;\r\n email!: string | undefined;\r\n fullName!: string | undefined;\r\n searchFilter!: WorkspaceFilterViewModel | undefined;\r\n\r\n constructor(data?: IConciergeRequestViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.searchFilter = _data[\"searchFilter\"] ? WorkspaceFilterViewModel.fromJS(_data[\"searchFilter\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConciergeRequestViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConciergeRequestViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"searchFilter\"] = this.searchFilter ? this.searchFilter.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConciergeRequestViewModel {\r\n venueId: string;\r\n spaceTypes: SpaceType;\r\n reservationMethod: WorkspaceReservationMethod;\r\n phoneNumber: string | undefined;\r\n company: string | undefined;\r\n email: string | undefined;\r\n fullName: string | undefined;\r\n searchFilter: WorkspaceFilterViewModel | undefined;\r\n}\r\n\r\nexport class WorkspaceFilterViewModel implements IWorkspaceFilterViewModel {\r\n reservationLengthMinutes!: number | undefined;\r\n startTime!: string | undefined;\r\n reservationStart!: string | undefined;\r\n amenities!: string | undefined;\r\n workspaceCapacity!: number | undefined;\r\n spaceTypes!: SpaceType;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n\r\n constructor(data?: IWorkspaceFilterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationLengthMinutes = _data[\"reservationLengthMinutes\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.reservationStart = _data[\"reservationStart\"];\r\n this.amenities = _data[\"amenities\"];\r\n this.workspaceCapacity = _data[\"workspaceCapacity\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceFilterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceFilterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationLengthMinutes\"] = this.reservationLengthMinutes;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"reservationStart\"] = this.reservationStart;\r\n data[\"amenities\"] = this.amenities;\r\n data[\"workspaceCapacity\"] = this.workspaceCapacity;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceFilterViewModel {\r\n reservationLengthMinutes: number | undefined;\r\n startTime: string | undefined;\r\n reservationStart: string | undefined;\r\n amenities: string | undefined;\r\n workspaceCapacity: number | undefined;\r\n spaceTypes: SpaceType;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n}\r\n\r\nexport class ClassesAndEnumsToConvert implements IClassesAndEnumsToConvert {\r\n workspaceRequestType!: WorkspaceRequestType;\r\n workspaceReqEnterpriseAccountMembersImportModeuestType!: EnterpriseAccountMembersImportMode;\r\n\r\n constructor(data?: IClassesAndEnumsToConvert) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceRequestType = _data[\"workspaceRequestType\"];\r\n this.workspaceReqEnterpriseAccountMembersImportModeuestType = _data[\"workspaceReqEnterpriseAccountMembersImportModeuestType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClassesAndEnumsToConvert {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClassesAndEnumsToConvert();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceRequestType\"] = this.workspaceRequestType;\r\n data[\"workspaceReqEnterpriseAccountMembersImportModeuestType\"] = this.workspaceReqEnterpriseAccountMembersImportModeuestType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClassesAndEnumsToConvert {\r\n workspaceRequestType: WorkspaceRequestType;\r\n workspaceReqEnterpriseAccountMembersImportModeuestType: EnterpriseAccountMembersImportMode;\r\n}\r\n\r\n/** 0 = Inquire 1 = Tour 2 = Book */\r\nexport enum WorkspaceRequestType {\r\n Inquire = 0,\r\n Tour = 1,\r\n Book = 2,\r\n}\r\n\r\n/** 0 = AddNew 1 = Remove 2 = Update 3 = Suspend */\r\nexport enum EnterpriseAccountMembersImportMode {\r\n AddNew = 0,\r\n Remove = 1,\r\n Update = 2,\r\n Suspend = 3,\r\n}\r\n\r\nexport class MarketingStats implements IMarketingStats {\r\n teamsAndProfessionals!: number;\r\n verifiedVenuePartners!: number;\r\n millionTransactions!: number;\r\n citiesCounting!: number;\r\n workspacesCount!: number;\r\n\r\n constructor(data?: IMarketingStats) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.teamsAndProfessionals = _data[\"teamsAndProfessionals\"];\r\n this.verifiedVenuePartners = _data[\"verifiedVenuePartners\"];\r\n this.millionTransactions = _data[\"millionTransactions\"];\r\n this.citiesCounting = _data[\"citiesCounting\"];\r\n this.workspacesCount = _data[\"workspacesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketingStats {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketingStats();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"teamsAndProfessionals\"] = this.teamsAndProfessionals;\r\n data[\"verifiedVenuePartners\"] = this.verifiedVenuePartners;\r\n data[\"millionTransactions\"] = this.millionTransactions;\r\n data[\"citiesCounting\"] = this.citiesCounting;\r\n data[\"workspacesCount\"] = this.workspacesCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketingStats {\r\n teamsAndProfessionals: number;\r\n verifiedVenuePartners: number;\r\n millionTransactions: number;\r\n citiesCounting: number;\r\n workspacesCount: number;\r\n}\r\n\r\nexport class ConnectionInfo implements IConnectionInfo {\r\n targetId!: string;\r\n connectionMode!: ConnectionMode;\r\n\r\n constructor(data?: IConnectionInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.targetId = _data[\"targetId\"];\r\n this.connectionMode = _data[\"connectionMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ConnectionInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ConnectionInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"targetId\"] = this.targetId;\r\n data[\"connectionMode\"] = this.connectionMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IConnectionInfo {\r\n targetId: string;\r\n connectionMode: ConnectionMode;\r\n}\r\n\r\n/** 0 = Following 1 = Followed */\r\nexport enum ConnectionMode {\r\n Following = 0,\r\n Followed = 1,\r\n}\r\n\r\n/** 1 = Following 2 = Followed 4 = Pending 8 = Approved 255 = All */\r\nexport enum ConnectionKind {\r\n Following = 1,\r\n Followed = 2,\r\n Pending = 4,\r\n Approved = 8,\r\n All = 255,\r\n}\r\n\r\nexport class CostDetailsViewModel implements ICostDetailsViewModel {\r\n /** Does pricing schema has zeroed prices? */\r\n isFreePricingSchema!: boolean;\r\n currency!: CurrencyType;\r\n subtotal!: number;\r\n salesPrice!: number;\r\n salesTax!: number;\r\n totalPrice!: number;\r\n amountDue!: number;\r\n credit!: number | undefined;\r\n duration!: string;\r\n pricingComponents!: string[];\r\n budgetLimit!: BudgetLimitModel | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: ICostDetailsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CostDetailsViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isFreePricingSchema = _data[\"isFreePricingSchema\"];\r\n this.currency = _data[\"currency\"];\r\n this.subtotal = _data[\"subtotal\"];\r\n this.salesPrice = _data[\"salesPrice\"];\r\n this.salesTax = _data[\"salesTax\"];\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.amountDue = _data[\"amountDue\"];\r\n this.credit = _data[\"credit\"];\r\n this.duration = _data[\"duration\"];\r\n if (Array.isArray(_data[\"pricingComponents\"])) {\r\n this.pricingComponents = [] as any;\r\n for (let item of _data[\"pricingComponents\"])\r\n this.pricingComponents!.push(item);\r\n }\r\n this.budgetLimit = _data[\"budgetLimit\"] ? BudgetLimitModel.fromJS(_data[\"budgetLimit\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"HourlyCostDetailsViewModel\") {\r\n let result = new HourlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"MonthlyCostDetailsViewModel\") {\r\n let result = new MonthlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new CostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"isFreePricingSchema\"] = this.isFreePricingSchema;\r\n data[\"currency\"] = this.currency;\r\n data[\"subtotal\"] = this.subtotal;\r\n data[\"salesPrice\"] = this.salesPrice;\r\n data[\"salesTax\"] = this.salesTax;\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"amountDue\"] = this.amountDue;\r\n data[\"credit\"] = this.credit;\r\n data[\"duration\"] = this.duration;\r\n if (Array.isArray(this.pricingComponents)) {\r\n data[\"pricingComponents\"] = [];\r\n for (let item of this.pricingComponents)\r\n data[\"pricingComponents\"].push(item);\r\n }\r\n data[\"budgetLimit\"] = this.budgetLimit ? this.budgetLimit.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostDetailsViewModel {\r\n /** Does pricing schema has zeroed prices? */\r\n isFreePricingSchema: boolean;\r\n currency: CurrencyType;\r\n subtotal: number;\r\n salesPrice: number;\r\n salesTax: number;\r\n totalPrice: number;\r\n amountDue: number;\r\n credit: number | undefined;\r\n duration: string;\r\n pricingComponents: string[];\r\n budgetLimit: BudgetLimitModel | undefined;\r\n}\r\n\r\n/** 0 = USD 1 = AUD 2 = CAD 3 = UK 3 = GBP 4 = AED 5 = AFN 6 = ALL 7 = AMD 8 = ANG 9 = AOA 10 = ARS 11 = AWG 12 = AZN 13 = BAM 14 = BBD 15 = BDT 16 = BGN 17 = BHD 18 = BIF 19 = BMD 20 = BND 21 = BOB 22 = BRL 23 = BSD 24 = BTN 25 = BWP 26 = BYN 27 = BZD 28 = CDF 29 = CHF 30 = CLP 31 = CNY 32 = COP 33 = CRC 35 = CUP 36 = CVE 37 = CZK 38 = DJF 39 = DKK 40 = DOP 41 = DZD 42 = EGP 43 = ERN 44 = ETB 45 = EUR 46 = FJD 47 = FKP 48 = GEL 50 = GHS 51 = GIP 52 = GMD 53 = GNF 54 = GTQ 55 = GYD 56 = HKD 57 = HNL 58 = HRK 59 = HTG 60 = HUF 61 = IDR 62 = ILS 64 = INR 65 = IQD 66 = IRR 67 = ISK 69 = JMD 70 = JOD 71 = JPY 72 = KES 73 = KGS 74 = KHR 75 = KMF 76 = KPW 77 = KRW 78 = KWD 79 = KYD 80 = KZT 81 = LAK 82 = LBP 83 = LKR 84 = LRD 86 = LYD 87 = MAD 88 = MDL 89 = MGA 90 = MKD 91 = MMK 92 = MNT 93 = MOP 94 = MRU 95 = MUR 96 = MVR 97 = MWK 98 = MXN 99 = MYR 100 = MZN 101 = NAD 102 = NGN 103 = NIO 104 = NOK 105 = NPR 106 = NZD 107 = OMR 108 = PAB 109 = PEN 110 = PGK 111 = PHP 112 = PKR 113 = PLN 114 = PYG 115 = QAR 116 = RON 117 = RSD 118 = RUB 119 = RWF 120 = SAR 121 = SBD 122 = SCR 123 = SDG 124 = SEK 125 = SGD 126 = SHP 127 = SLL 128 = SOS 130 = SRD 131 = STN 133 = SYP 134 = SZL 135 = THB 136 = TJS 137 = TMT 138 = TND 139 = TOP 140 = TRY 141 = TTD 143 = TWD 144 = TZS 145 = UAH 146 = UGX 147 = UYU 148 = UZS 150 = VND 151 = VUV 152 = WST 153 = XAF 154 = XCD 156 = XOF 157 = XPF 158 = YER 159 = ZAR 160 = ZMW 162 = SSP 163 = VES */\r\nexport enum CurrencyType {\r\n USD = 0,\r\n AUD = 1,\r\n CAD = 2,\r\n UK = 3,\r\n GBP = 3,\r\n AED = 4,\r\n AFN = 5,\r\n ALL = 6,\r\n AMD = 7,\r\n ANG = 8,\r\n AOA = 9,\r\n ARS = 10,\r\n AWG = 11,\r\n AZN = 12,\r\n BAM = 13,\r\n BBD = 14,\r\n BDT = 15,\r\n BGN = 16,\r\n BHD = 17,\r\n BIF = 18,\r\n BMD = 19,\r\n BND = 20,\r\n BOB = 21,\r\n BRL = 22,\r\n BSD = 23,\r\n BTN = 24,\r\n BWP = 25,\r\n BYN = 26,\r\n BZD = 27,\r\n CDF = 28,\r\n CHF = 29,\r\n CLP = 30,\r\n CNY = 31,\r\n COP = 32,\r\n CRC = 33,\r\n CUP = 35,\r\n CVE = 36,\r\n CZK = 37,\r\n DJF = 38,\r\n DKK = 39,\r\n DOP = 40,\r\n DZD = 41,\r\n EGP = 42,\r\n ERN = 43,\r\n ETB = 44,\r\n EUR = 45,\r\n FJD = 46,\r\n FKP = 47,\r\n GEL = 48,\r\n GHS = 50,\r\n GIP = 51,\r\n GMD = 52,\r\n GNF = 53,\r\n GTQ = 54,\r\n GYD = 55,\r\n HKD = 56,\r\n HNL = 57,\r\n HRK = 58,\r\n HTG = 59,\r\n HUF = 60,\r\n IDR = 61,\r\n ILS = 62,\r\n INR = 64,\r\n IQD = 65,\r\n IRR = 66,\r\n ISK = 67,\r\n JMD = 69,\r\n JOD = 70,\r\n JPY = 71,\r\n KES = 72,\r\n KGS = 73,\r\n KHR = 74,\r\n KMF = 75,\r\n KPW = 76,\r\n KRW = 77,\r\n KWD = 78,\r\n KYD = 79,\r\n KZT = 80,\r\n LAK = 81,\r\n LBP = 82,\r\n LKR = 83,\r\n LRD = 84,\r\n LYD = 86,\r\n MAD = 87,\r\n MDL = 88,\r\n MGA = 89,\r\n MKD = 90,\r\n MMK = 91,\r\n MNT = 92,\r\n MOP = 93,\r\n MRU = 94,\r\n MUR = 95,\r\n MVR = 96,\r\n MWK = 97,\r\n MXN = 98,\r\n MYR = 99,\r\n MZN = 100,\r\n NAD = 101,\r\n NGN = 102,\r\n NIO = 103,\r\n NOK = 104,\r\n NPR = 105,\r\n NZD = 106,\r\n OMR = 107,\r\n PAB = 108,\r\n PEN = 109,\r\n PGK = 110,\r\n PHP = 111,\r\n PKR = 112,\r\n PLN = 113,\r\n PYG = 114,\r\n QAR = 115,\r\n RON = 116,\r\n RSD = 117,\r\n RUB = 118,\r\n RWF = 119,\r\n SAR = 120,\r\n SBD = 121,\r\n SCR = 122,\r\n SDG = 123,\r\n SEK = 124,\r\n SGD = 125,\r\n SHP = 126,\r\n SLL = 127,\r\n SOS = 128,\r\n SRD = 130,\r\n STN = 131,\r\n SYP = 133,\r\n SZL = 134,\r\n THB = 135,\r\n TJS = 136,\r\n TMT = 137,\r\n TND = 138,\r\n TOP = 139,\r\n TRY = 140,\r\n TTD = 141,\r\n TWD = 143,\r\n TZS = 144,\r\n UAH = 145,\r\n UGX = 146,\r\n UYU = 147,\r\n UZS = 148,\r\n VND = 150,\r\n VUV = 151,\r\n WST = 152,\r\n XAF = 153,\r\n XCD = 154,\r\n XOF = 156,\r\n XPF = 157,\r\n YER = 158,\r\n ZAR = 159,\r\n ZMW = 160,\r\n SSP = 162,\r\n VES = 163,\r\n}\r\n\r\nexport class BudgetLimitModel implements IBudgetLimitModel {\r\n warningMessageHtml!: string | undefined;\r\n canExceedMaxBudget!: boolean;\r\n\r\n constructor(data?: IBudgetLimitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.warningMessageHtml = _data[\"warningMessageHtml\"];\r\n this.canExceedMaxBudget = _data[\"canExceedMaxBudget\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BudgetLimitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BudgetLimitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"warningMessageHtml\"] = this.warningMessageHtml;\r\n data[\"canExceedMaxBudget\"] = this.canExceedMaxBudget;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBudgetLimitModel {\r\n warningMessageHtml: string | undefined;\r\n canExceedMaxBudget: boolean;\r\n}\r\n\r\nexport class HourlyCostDetailsViewModel extends CostDetailsViewModel implements IHourlyCostDetailsViewModel {\r\n incidentalsTotalWithTax!: number | undefined;\r\n serviceCharge!: number;\r\n lessDiscount!: number;\r\n\r\n constructor(data?: IHourlyCostDetailsViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"HourlyCostDetailsViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.incidentalsTotalWithTax = _data[\"incidentalsTotalWithTax\"];\r\n this.serviceCharge = _data[\"serviceCharge\"];\r\n this.lessDiscount = _data[\"lessDiscount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyCostDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"incidentalsTotalWithTax\"] = this.incidentalsTotalWithTax;\r\n data[\"serviceCharge\"] = this.serviceCharge;\r\n data[\"lessDiscount\"] = this.lessDiscount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyCostDetailsViewModel extends ICostDetailsViewModel {\r\n incidentalsTotalWithTax: number | undefined;\r\n serviceCharge: number;\r\n lessDiscount: number;\r\n}\r\n\r\nexport class MonthlyCostDetailsViewModel extends CostDetailsViewModel implements IMonthlyCostDetailsViewModel {\r\n proRated!: number | undefined;\r\n monthlyPrices!: { [key: string]: number; };\r\n nextMonthPrice!: number;\r\n setUpFee!: number | undefined;\r\n editFee!: number | undefined;\r\n serviceRetainer!: number | undefined;\r\n\r\n constructor(data?: IMonthlyCostDetailsViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"MonthlyCostDetailsViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.proRated = _data[\"proRated\"];\r\n if (_data[\"monthlyPrices\"]) {\r\n this.monthlyPrices = {} as any;\r\n for (let key in _data[\"monthlyPrices\"]) {\r\n if (_data[\"monthlyPrices\"].hasOwnProperty(key))\r\n (this.monthlyPrices)![key] = _data[\"monthlyPrices\"][key];\r\n }\r\n }\r\n this.nextMonthPrice = _data[\"nextMonthPrice\"];\r\n this.setUpFee = _data[\"setUpFee\"];\r\n this.editFee = _data[\"editFee\"];\r\n this.serviceRetainer = _data[\"serviceRetainer\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MonthlyCostDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MonthlyCostDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"proRated\"] = this.proRated;\r\n if (this.monthlyPrices) {\r\n data[\"monthlyPrices\"] = {};\r\n for (let key in this.monthlyPrices) {\r\n if (this.monthlyPrices.hasOwnProperty(key))\r\n (data[\"monthlyPrices\"])[key] = (this.monthlyPrices)[key];\r\n }\r\n }\r\n data[\"nextMonthPrice\"] = this.nextMonthPrice;\r\n data[\"setUpFee\"] = this.setUpFee;\r\n data[\"editFee\"] = this.editFee;\r\n data[\"serviceRetainer\"] = this.serviceRetainer;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMonthlyCostDetailsViewModel extends ICostDetailsViewModel {\r\n proRated: number | undefined;\r\n monthlyPrices: { [key: string]: number; };\r\n nextMonthPrice: number;\r\n setUpFee: number | undefined;\r\n editFee: number | undefined;\r\n serviceRetainer: number | undefined;\r\n}\r\n\r\nexport class CostRequest implements ICostRequest {\r\n venueId!: string;\r\n workspaceId!: string;\r\n reservationId!: string | undefined;\r\n occurrenceDate!: string | undefined;\r\n applyDate!: string | undefined;\r\n ownerId!: string | undefined;\r\n reservationDetails!: ReservationDetails | undefined;\r\n couponCode!: string | undefined;\r\n changeWorkspaceRequest!: ChangeWorkspaceRequest | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences!: ReservationIntegrationReferences | undefined;\r\n\r\n constructor(data?: ICostRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.applyDate = _data[\"applyDate\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.reservationDetails = _data[\"reservationDetails\"] ? ReservationDetails.fromJS(_data[\"reservationDetails\"]) : undefined;\r\n this.couponCode = _data[\"couponCode\"];\r\n this.changeWorkspaceRequest = _data[\"changeWorkspaceRequest\"] ? ChangeWorkspaceRequest.fromJS(_data[\"changeWorkspaceRequest\"]) : undefined;\r\n this.integrationReferences = _data[\"integrationReferences\"] ? ReservationIntegrationReferences.fromJS(_data[\"integrationReferences\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"applyDate\"] = this.applyDate;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"reservationDetails\"] = this.reservationDetails ? this.reservationDetails.toJSON() : undefined;\r\n data[\"couponCode\"] = this.couponCode;\r\n data[\"changeWorkspaceRequest\"] = this.changeWorkspaceRequest ? this.changeWorkspaceRequest.toJSON() : undefined;\r\n data[\"integrationReferences\"] = this.integrationReferences ? this.integrationReferences.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostRequest {\r\n venueId: string;\r\n workspaceId: string;\r\n reservationId: string | undefined;\r\n occurrenceDate: string | undefined;\r\n applyDate: string | undefined;\r\n ownerId: string | undefined;\r\n reservationDetails: ReservationDetails | undefined;\r\n couponCode: string | undefined;\r\n changeWorkspaceRequest: ChangeWorkspaceRequest | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences: ReservationIntegrationReferences | undefined;\r\n}\r\n\r\nexport abstract class ReservationDetails implements IReservationDetails {\r\n startDate!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startDate = _data[\"startDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"RecurrentReservationDetails\") {\r\n throw new Error(\"The abstract class 'RecurrentReservationDetails' cannot be instantiated.\");\r\n }\r\n if (data[\"discriminator\"] === \"HourlyReservationDetails\") {\r\n let result = new HourlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DaypassReservationDetails\") {\r\n let result = new DaypassReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"MonthlyReservationDetails\") {\r\n let result = new MonthlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"GenericReservationDetails\") {\r\n let result = new GenericReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationDetails' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"startDate\"] = this.startDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationDetails {\r\n startDate: string;\r\n}\r\n\r\nexport abstract class RecurrentReservationDetails extends ReservationDetails implements IRecurrentReservationDetails {\r\n recurrencePattern!: string | undefined;\r\n recurrenceExcludedDates!: string[];\r\n\r\n constructor(data?: IRecurrentReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"RecurrentReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.recurrencePattern = _data[\"recurrencePattern\"];\r\n if (Array.isArray(_data[\"recurrenceExcludedDates\"])) {\r\n this.recurrenceExcludedDates = [] as any;\r\n for (let item of _data[\"recurrenceExcludedDates\"])\r\n this.recurrenceExcludedDates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): RecurrentReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"HourlyReservationDetails\") {\r\n let result = new HourlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DaypassReservationDetails\") {\r\n let result = new DaypassReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'RecurrentReservationDetails' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recurrencePattern\"] = this.recurrencePattern;\r\n if (Array.isArray(this.recurrenceExcludedDates)) {\r\n data[\"recurrenceExcludedDates\"] = [];\r\n for (let item of this.recurrenceExcludedDates)\r\n data[\"recurrenceExcludedDates\"].push(item);\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRecurrentReservationDetails extends IReservationDetails {\r\n recurrencePattern: string | undefined;\r\n recurrenceExcludedDates: string[];\r\n}\r\n\r\nexport class HourlyReservationDetails extends RecurrentReservationDetails implements IHourlyReservationDetails {\r\n startTime!: string;\r\n durationMinutes!: number;\r\n\r\n constructor(data?: IHourlyReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"HourlyReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.startTime = _data[\"startTime\"];\r\n this.durationMinutes = _data[\"durationMinutes\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startTime\"] = this.startTime;\r\n data[\"durationMinutes\"] = this.durationMinutes;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyReservationDetails extends IRecurrentReservationDetails {\r\n startTime: string;\r\n durationMinutes: number;\r\n}\r\n\r\nexport class DaypassReservationDetails extends RecurrentReservationDetails implements IDaypassReservationDetails {\r\n quantity!: number;\r\n\r\n constructor(data?: IDaypassReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"DaypassReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.quantity = _data[\"quantity\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DaypassReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DaypassReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"quantity\"] = this.quantity;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDaypassReservationDetails extends IRecurrentReservationDetails {\r\n quantity: number;\r\n}\r\n\r\nexport class MonthlyReservationDetails extends ReservationDetails implements IMonthlyReservationDetails {\r\n /** In months */\r\n term!: number;\r\n autoRenew!: boolean;\r\n quantity!: number | undefined;\r\n\r\n constructor(data?: IMonthlyReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"MonthlyReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.term = _data[\"term\"];\r\n this.autoRenew = _data[\"autoRenew\"];\r\n this.quantity = _data[\"quantity\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MonthlyReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MonthlyReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"term\"] = this.term;\r\n data[\"autoRenew\"] = this.autoRenew;\r\n data[\"quantity\"] = this.quantity;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMonthlyReservationDetails extends IReservationDetails {\r\n /** In months */\r\n term: number;\r\n autoRenew: boolean;\r\n quantity: number | undefined;\r\n}\r\n\r\nexport class GenericReservationDetails extends ReservationDetails implements IGenericReservationDetails {\r\n startTime!: string | undefined;\r\n\r\n constructor(data?: IGenericReservationDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"GenericReservationDetails\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.startTime = _data[\"startTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GenericReservationDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GenericReservationDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startTime\"] = this.startTime;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGenericReservationDetails extends IReservationDetails {\r\n startTime: string | undefined;\r\n}\r\n\r\nexport class ChangeWorkspaceRequest implements IChangeWorkspaceRequest {\r\n workspaceId!: string;\r\n useExistingPrice!: boolean;\r\n\r\n constructor(data?: IChangeWorkspaceRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.useExistingPrice = _data[\"useExistingPrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeWorkspaceRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeWorkspaceRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"useExistingPrice\"] = this.useExistingPrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeWorkspaceRequest {\r\n workspaceId: string;\r\n useExistingPrice: boolean;\r\n}\r\n\r\nexport abstract class ReservationIntegrationReferences implements IReservationIntegrationReferences {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationIntegrationReferences) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationIntegrationReferences\";\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): ReservationIntegrationReferences {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"RegusIntegrationReferences\") {\r\n let result = new RegusIntegrationReferences();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationIntegrationReferences' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationIntegrationReferences {\r\n}\r\n\r\nexport class RegusIntegrationReferences extends ReservationIntegrationReferences implements IRegusIntegrationReferences {\r\n spaceReferenceToken!: string | undefined;\r\n\r\n constructor(data?: IRegusIntegrationReferences) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"RegusIntegrationReferences\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.spaceReferenceToken = _data[\"spaceReferenceToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): RegusIntegrationReferences {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new RegusIntegrationReferences();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"spaceReferenceToken\"] = this.spaceReferenceToken;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IRegusIntegrationReferences extends IReservationIntegrationReferences {\r\n spaceReferenceToken: string | undefined;\r\n}\r\n\r\nexport class CountryCodeBase implements ICountryCodeBase {\r\n value!: string;\r\n text!: string;\r\n\r\n constructor(data?: ICountryCodeBase) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountryCodeBase {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountryCodeBase();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountryCodeBase {\r\n value: string;\r\n text: string;\r\n}\r\n\r\nexport class CountryCode extends CountryCodeBase implements ICountryCode {\r\n stateCodes!: StateCode[];\r\n\r\n constructor(data?: ICountryCode) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"stateCodes\"])) {\r\n this.stateCodes = [] as any;\r\n for (let item of _data[\"stateCodes\"])\r\n this.stateCodes!.push(StateCode.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CountryCode {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CountryCode();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.stateCodes)) {\r\n data[\"stateCodes\"] = [];\r\n for (let item of this.stateCodes)\r\n data[\"stateCodes\"].push(item.toJSON());\r\n }\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICountryCode extends ICountryCodeBase {\r\n stateCodes: StateCode[];\r\n}\r\n\r\nexport class StateCode implements IStateCode {\r\n value!: string;\r\n text!: string;\r\n\r\n constructor(data?: IStateCode) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.value = _data[\"value\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StateCode {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StateCode();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"value\"] = this.value;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStateCode {\r\n value: string;\r\n text: string;\r\n}\r\n\r\nexport class WaitlistRequest extends RecaptchaRequestBase implements IWaitlistRequest {\r\n fullName!: string;\r\n email!: string;\r\n phoneNumber!: string | undefined;\r\n venueName!: string;\r\n locationCount!: number;\r\n comment!: string | undefined;\r\n\r\n constructor(data?: IWaitlistRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.locationCount = _data[\"locationCount\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WaitlistRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WaitlistRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"locationCount\"] = this.locationCount;\r\n data[\"comment\"] = this.comment;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWaitlistRequest extends IRecaptchaRequestBase {\r\n fullName: string;\r\n email: string;\r\n phoneNumber: string | undefined;\r\n venueName: string;\r\n locationCount: number;\r\n comment: string | undefined;\r\n}\r\n\r\nexport class DataRemovalRequest implements IDataRemovalRequest {\r\n country!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n email!: string | undefined;\r\n reason!: string | undefined;\r\n isAcknowledgedProcessing!: boolean;\r\n isAcknowledgedNotProcessing!: boolean;\r\n signedOn!: string;\r\n signature!: string | undefined;\r\n recaptchaToken!: string | undefined;\r\n\r\n constructor(data?: IDataRemovalRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.email = _data[\"email\"];\r\n this.reason = _data[\"reason\"];\r\n this.isAcknowledgedProcessing = _data[\"isAcknowledgedProcessing\"];\r\n this.isAcknowledgedNotProcessing = _data[\"isAcknowledgedNotProcessing\"];\r\n this.signedOn = _data[\"signedOn\"];\r\n this.signature = _data[\"signature\"];\r\n this.recaptchaToken = _data[\"recaptchaToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DataRemovalRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DataRemovalRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"email\"] = this.email;\r\n data[\"reason\"] = this.reason;\r\n data[\"isAcknowledgedProcessing\"] = this.isAcknowledgedProcessing;\r\n data[\"isAcknowledgedNotProcessing\"] = this.isAcknowledgedNotProcessing;\r\n data[\"signedOn\"] = this.signedOn;\r\n data[\"signature\"] = this.signature;\r\n data[\"recaptchaToken\"] = this.recaptchaToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDataRemovalRequest {\r\n country: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n email: string | undefined;\r\n reason: string | undefined;\r\n isAcknowledgedProcessing: boolean;\r\n isAcknowledgedNotProcessing: boolean;\r\n signedOn: string;\r\n signature: string | undefined;\r\n recaptchaToken: string | undefined;\r\n}\r\n\r\n/** EA member data */\r\nexport class ActivityReservationInternalModel implements IActivityReservationInternalModel {\r\n startDate!: string;\r\n endDate!: string | undefined;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n venueId!: string;\r\n venueName!: string;\r\n reservationType!: ReservationMethod;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId!: string;\r\n occurrenceDate!: string | undefined;\r\n country!: string;\r\n state!: string | undefined;\r\n latitude!: number;\r\n longitude!: number;\r\n venueXPPUrl!: string;\r\n guestsCount!: number;\r\n teamId!: string;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IActivityReservationInternalModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.reservationType = _data[\"reservationType\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.country = _data[\"country\"];\r\n this.state = _data[\"state\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.venueXPPUrl = _data[\"venueXPPUrl\"];\r\n this.guestsCount = _data[\"guestsCount\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReservationInternalModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReservationInternalModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"country\"] = this.country;\r\n data[\"state\"] = this.state;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"venueXPPUrl\"] = this.venueXPPUrl;\r\n data[\"guestsCount\"] = this.guestsCount;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\n/** EA member data */\r\nexport interface IActivityReservationInternalModel {\r\n startDate: string;\r\n endDate: string | undefined;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n venueId: string;\r\n venueName: string;\r\n reservationType: ReservationMethod;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId: string;\r\n occurrenceDate: string | undefined;\r\n country: string;\r\n state: string | undefined;\r\n latitude: number;\r\n longitude: number;\r\n venueXPPUrl: string;\r\n guestsCount: number;\r\n teamId: string;\r\n workspaceId: string;\r\n}\r\n\r\n/** 0 = Hourly 1 = DayPass 2 = Monthly */\r\nexport enum ReservationMethod {\r\n Hourly = 0,\r\n DayPass = 1,\r\n Monthly = 2,\r\n}\r\n\r\n/** 1 = Deleted 2 = Completed 4 = CancellationPolicy 8 = Future 16 = Active 255 = All */\r\nexport enum ActivityReservationStatusFilter {\r\n Deleted = 1,\r\n Completed = 2,\r\n CancellationPolicy = 4,\r\n Future = 8,\r\n Active = 16,\r\n All = 255,\r\n}\r\n\r\n/** EA admin data */\r\nexport class ActivityReservationPrivateModel implements IActivityReservationPrivateModel {\r\n startDate!: string;\r\n endDate!: string | undefined;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string;\r\n teamName!: string;\r\n location!: string;\r\n venueId!: string;\r\n workspaceId!: string;\r\n venueName!: string;\r\n spaceName!: string;\r\n spaceType!: SpaceType;\r\n spaceTypeDescription!: string;\r\n cost!: CostInfoModel;\r\n reservationType!: ReservationMethod;\r\n status!: ReservationStatus;\r\n paymentProvider!: PaymentProviderType;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId!: string;\r\n occurrenceDate!: string | undefined;\r\n isOutOfBudget!: boolean;\r\n memberRemovedFromAccount!: boolean;\r\n externalAccountId!: string | undefined;\r\n\r\n constructor(data?: IActivityReservationPrivateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.startDate = _data[\"startDate\"];\r\n this.endDate = _data[\"endDate\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.location = _data[\"location\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.spaceName = _data[\"spaceName\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeDescription = _data[\"spaceTypeDescription\"];\r\n this.cost = _data[\"cost\"] ? CostInfoModel.fromJS(_data[\"cost\"]) : undefined;\r\n this.reservationType = _data[\"reservationType\"];\r\n this.status = _data[\"status\"];\r\n this.paymentProvider = _data[\"paymentProvider\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.isOutOfBudget = _data[\"isOutOfBudget\"];\r\n this.memberRemovedFromAccount = _data[\"memberRemovedFromAccount\"];\r\n this.externalAccountId = _data[\"externalAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReservationPrivateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReservationPrivateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"startDate\"] = this.startDate;\r\n data[\"endDate\"] = this.endDate;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"location\"] = this.location;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"spaceName\"] = this.spaceName;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeDescription\"] = this.spaceTypeDescription;\r\n data[\"cost\"] = this.cost ? this.cost.toJSON() : undefined;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"status\"] = this.status;\r\n data[\"paymentProvider\"] = this.paymentProvider;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"isOutOfBudget\"] = this.isOutOfBudget;\r\n data[\"memberRemovedFromAccount\"] = this.memberRemovedFromAccount;\r\n data[\"externalAccountId\"] = this.externalAccountId;\r\n return data;\r\n }\r\n}\r\n\r\n/** EA admin data */\r\nexport interface IActivityReservationPrivateModel {\r\n startDate: string;\r\n endDate: string | undefined;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string;\r\n teamName: string;\r\n location: string;\r\n venueId: string;\r\n workspaceId: string;\r\n venueName: string;\r\n spaceName: string;\r\n spaceType: SpaceType;\r\n spaceTypeDescription: string;\r\n cost: CostInfoModel;\r\n reservationType: ReservationMethod;\r\n status: ReservationStatus;\r\n paymentProvider: PaymentProviderType;\r\n /** Reservation ID or Parent Reservation ID for recurrent reservation occurence */\r\n reservationId: string;\r\n occurrenceDate: string | undefined;\r\n isOutOfBudget: boolean;\r\n memberRemovedFromAccount: boolean;\r\n externalAccountId: string | undefined;\r\n}\r\n\r\nexport class CostInfoModel implements ICostInfoModel {\r\n amount!: number;\r\n currency!: CurrencyType;\r\n currencyPrefix!: string;\r\n currencyRate!: number | undefined;\r\n\r\n constructor(data?: ICostInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amount = _data[\"amount\"];\r\n this.currency = _data[\"currency\"];\r\n this.currencyPrefix = _data[\"currencyPrefix\"];\r\n this.currencyRate = _data[\"currencyRate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amount\"] = this.amount;\r\n data[\"currency\"] = this.currency;\r\n data[\"currencyPrefix\"] = this.currencyPrefix;\r\n data[\"currencyRate\"] = this.currencyRate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostInfoModel {\r\n amount: number;\r\n currency: CurrencyType;\r\n currencyPrefix: string;\r\n currencyRate: number | undefined;\r\n}\r\n\r\n/** 0 = Deleted 1 = Completed 2 = CancellationPolicy 3 = Future 4 = Active */\r\nexport enum ReservationStatus {\r\n Deleted = 0,\r\n Completed = 1,\r\n CancellationPolicy = 2,\r\n Future = 3,\r\n Active = 4,\r\n}\r\n\r\n/** 0 = AuthorizeNet 1 = BrainTree 2 = Stripe 3 = StripeWireTransfer 4 = Marketplace */\r\nexport enum PaymentProviderType {\r\n AuthorizeNet = 0,\r\n BrainTree = 1,\r\n Stripe = 2,\r\n StripeWireTransfer = 3,\r\n Marketplace = 4,\r\n}\r\n\r\nexport class ReservationOverview implements IReservationOverview {\r\n date!: string;\r\n hourlyReservationsCount!: number;\r\n monthlyReservationsCount!: number;\r\n hourlySpent!: number;\r\n monthlySpent!: number;\r\n totalSpent!: number;\r\n\r\n constructor(data?: IReservationOverview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.hourlyReservationsCount = _data[\"hourlyReservationsCount\"];\r\n this.monthlyReservationsCount = _data[\"monthlyReservationsCount\"];\r\n this.hourlySpent = _data[\"hourlySpent\"];\r\n this.monthlySpent = _data[\"monthlySpent\"];\r\n this.totalSpent = _data[\"totalSpent\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationOverview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationOverview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"hourlyReservationsCount\"] = this.hourlyReservationsCount;\r\n data[\"monthlyReservationsCount\"] = this.monthlyReservationsCount;\r\n data[\"hourlySpent\"] = this.hourlySpent;\r\n data[\"monthlySpent\"] = this.monthlySpent;\r\n data[\"totalSpent\"] = this.totalSpent;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationOverview {\r\n date: string;\r\n hourlyReservationsCount: number;\r\n monthlyReservationsCount: number;\r\n hourlySpent: number;\r\n monthlySpent: number;\r\n totalSpent: number;\r\n}\r\n\r\n/** 0 = None 1 = Hourly 2 = Monthly 3 = Both */\r\nexport enum HourlyMonthly {\r\n None = 0,\r\n Hourly = 1,\r\n Monthly = 2,\r\n Both = 3,\r\n}\r\n\r\n/** 0 = CSV 1 = XLSX */\r\nexport enum DownloadFileFormat {\r\n CSV = 0,\r\n XLSX = 1,\r\n}\r\n\r\nexport class ActivityReservationReportStatus implements IActivityReservationReportStatus {\r\n id!: string;\r\n status!: string;\r\n createDate!: string;\r\n parameters!: string | undefined;\r\n downloadReady!: boolean;\r\n\r\n constructor(data?: IActivityReservationReportStatus) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.status = _data[\"status\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.parameters = _data[\"parameters\"];\r\n this.downloadReady = _data[\"downloadReady\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReservationReportStatus {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReservationReportStatus();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"status\"] = this.status;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"parameters\"] = this.parameters;\r\n data[\"downloadReady\"] = this.downloadReady;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityReservationReportStatus {\r\n id: string;\r\n status: string;\r\n createDate: string;\r\n parameters: string | undefined;\r\n downloadReady: boolean;\r\n}\r\n\r\nexport class ActivityReview implements IActivityReview {\r\n reviewId!: string;\r\n created!: string;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string | undefined;\r\n teamName!: string | undefined;\r\n workspaceId!: string | undefined;\r\n locationName!: string | undefined;\r\n stars!: number;\r\n comment!: string | undefined;\r\n\r\n constructor(data?: IActivityReview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reviewId = _data[\"reviewId\"];\r\n this.created = _data[\"created\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.locationName = _data[\"locationName\"];\r\n this.stars = _data[\"stars\"];\r\n this.comment = _data[\"comment\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reviewId\"] = this.reviewId;\r\n data[\"created\"] = this.created;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"locationName\"] = this.locationName;\r\n data[\"stars\"] = this.stars;\r\n data[\"comment\"] = this.comment;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityReview {\r\n reviewId: string;\r\n created: string;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string | undefined;\r\n teamName: string | undefined;\r\n workspaceId: string | undefined;\r\n locationName: string | undefined;\r\n stars: number;\r\n comment: string | undefined;\r\n}\r\n\r\nexport class ReviewOverview implements IReviewOverview {\r\n date!: string;\r\n reviewCount!: number;\r\n\r\n constructor(data?: IReviewOverview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.reviewCount = _data[\"reviewCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReviewOverview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReviewOverview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"reviewCount\"] = this.reviewCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReviewOverview {\r\n date: string;\r\n reviewCount: number;\r\n}\r\n\r\nexport class ActivityReviewDetails extends ActivityReview implements IActivityReviewDetails {\r\n cityAddress!: string | undefined;\r\n reservationDate!: string;\r\n source!: VenueSource;\r\n\r\n constructor(data?: IActivityReviewDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.cityAddress = _data[\"cityAddress\"];\r\n this.reservationDate = _data[\"reservationDate\"];\r\n this.source = _data[\"source\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivityReviewDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivityReviewDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"cityAddress\"] = this.cityAddress;\r\n data[\"reservationDate\"] = this.reservationDate;\r\n data[\"source\"] = this.source;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivityReviewDetails extends IActivityReview {\r\n cityAddress: string | undefined;\r\n reservationDate: string;\r\n source: VenueSource;\r\n}\r\n\r\n/** 0 = SYS 1 = BulkCreate 2 = ColliersIntegration 3 = WeWork 4 = Boxer 5 = Regus 6 = VenueGroupImport 7 = OfficeRnDHybrid */\r\nexport enum VenueSource {\r\n SYS = 0,\r\n BulkCreate = 1,\r\n ColliersIntegration = 2,\r\n WeWork = 3,\r\n Boxer = 4,\r\n Regus = 5,\r\n VenueGroupImport = 6,\r\n OfficeRnDHybrid = 7,\r\n}\r\n\r\nexport class SearchOverview implements ISearchOverview {\r\n date!: string;\r\n searchesCount!: number;\r\n\r\n constructor(data?: ISearchOverview) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.searchesCount = _data[\"searchesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchOverview {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchOverview();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"searchesCount\"] = this.searchesCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchOverview {\r\n date: string;\r\n searchesCount: number;\r\n}\r\n\r\nexport class ActivitySearch implements IActivitySearch {\r\n searchId!: string;\r\n executedTime!: string;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string | undefined;\r\n teamName!: string | undefined;\r\n searchLocation!: string | undefined;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n minCapacity!: number | undefined;\r\n maxCapacity!: number | undefined;\r\n searchSpaceType!: SpaceType;\r\n resultsNumber!: number;\r\n spaceTypesString!: string | undefined;\r\n device!: SearchDeviceType;\r\n\r\n constructor(data?: IActivitySearch) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchId = _data[\"searchId\"];\r\n this.executedTime = _data[\"executedTime\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.searchLocation = _data[\"searchLocation\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n this.maxCapacity = _data[\"maxCapacity\"];\r\n this.searchSpaceType = _data[\"searchSpaceType\"];\r\n this.resultsNumber = _data[\"resultsNumber\"];\r\n this.spaceTypesString = _data[\"spaceTypesString\"];\r\n this.device = _data[\"device\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearch {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearch();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchId\"] = this.searchId;\r\n data[\"executedTime\"] = this.executedTime;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"searchLocation\"] = this.searchLocation;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n data[\"maxCapacity\"] = this.maxCapacity;\r\n data[\"searchSpaceType\"] = this.searchSpaceType;\r\n data[\"resultsNumber\"] = this.resultsNumber;\r\n data[\"spaceTypesString\"] = this.spaceTypesString;\r\n data[\"device\"] = this.device;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearch {\r\n searchId: string;\r\n executedTime: string;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string | undefined;\r\n teamName: string | undefined;\r\n searchLocation: string | undefined;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n minCapacity: number | undefined;\r\n maxCapacity: number | undefined;\r\n searchSpaceType: SpaceType;\r\n resultsNumber: number;\r\n spaceTypesString: string | undefined;\r\n device: SearchDeviceType;\r\n}\r\n\r\n/** 0 = Unknown 1 = WebUI 2 = Worker 3 = IOS 4 = Android */\r\nexport enum SearchDeviceType {\r\n Unknown = 0,\r\n WebUI = 1,\r\n Worker = 2,\r\n IOS = 3,\r\n Android = 4,\r\n}\r\n\r\nexport class ActivitySearchDetails implements IActivitySearchDetails {\r\n searchId!: string;\r\n executedTime!: string;\r\n memberId!: string;\r\n memberFullName!: string | undefined;\r\n memberEmail!: string | undefined;\r\n teamId!: string | undefined;\r\n teamName!: string | undefined;\r\n searchLocation!: string | undefined;\r\n filterSettings!: ActivitySearchFilterSettingsDetails | undefined;\r\n searchResults!: ActivitySearchResultDetails[] | undefined;\r\n resultsNumber!: number;\r\n ipAddress!: string | undefined;\r\n searchedFromLat!: number | undefined;\r\n searchedFromLong!: number | undefined;\r\n device!: SearchDeviceType;\r\n userAgent!: string | undefined;\r\n sourceType!: SavedSearchSourceType | undefined;\r\n\r\n constructor(data?: IActivitySearchDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.searchId = _data[\"searchId\"];\r\n this.executedTime = _data[\"executedTime\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberEmail = _data[\"memberEmail\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.searchLocation = _data[\"searchLocation\"];\r\n this.filterSettings = _data[\"filterSettings\"] ? ActivitySearchFilterSettingsDetails.fromJS(_data[\"filterSettings\"]) : undefined;\r\n if (Array.isArray(_data[\"searchResults\"])) {\r\n this.searchResults = [] as any;\r\n for (let item of _data[\"searchResults\"])\r\n this.searchResults!.push(ActivitySearchResultDetails.fromJS(item));\r\n }\r\n this.resultsNumber = _data[\"resultsNumber\"];\r\n this.ipAddress = _data[\"ipAddress\"];\r\n this.searchedFromLat = _data[\"searchedFromLat\"];\r\n this.searchedFromLong = _data[\"searchedFromLong\"];\r\n this.device = _data[\"device\"];\r\n this.userAgent = _data[\"userAgent\"];\r\n this.sourceType = _data[\"sourceType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearchDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearchDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"searchId\"] = this.searchId;\r\n data[\"executedTime\"] = this.executedTime;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberEmail\"] = this.memberEmail;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"searchLocation\"] = this.searchLocation;\r\n data[\"filterSettings\"] = this.filterSettings ? this.filterSettings.toJSON() : undefined;\r\n if (Array.isArray(this.searchResults)) {\r\n data[\"searchResults\"] = [];\r\n for (let item of this.searchResults)\r\n data[\"searchResults\"].push(item.toJSON());\r\n }\r\n data[\"resultsNumber\"] = this.resultsNumber;\r\n data[\"ipAddress\"] = this.ipAddress;\r\n data[\"searchedFromLat\"] = this.searchedFromLat;\r\n data[\"searchedFromLong\"] = this.searchedFromLong;\r\n data[\"device\"] = this.device;\r\n data[\"userAgent\"] = this.userAgent;\r\n data[\"sourceType\"] = this.sourceType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearchDetails {\r\n searchId: string;\r\n executedTime: string;\r\n memberId: string;\r\n memberFullName: string | undefined;\r\n memberEmail: string | undefined;\r\n teamId: string | undefined;\r\n teamName: string | undefined;\r\n searchLocation: string | undefined;\r\n filterSettings: ActivitySearchFilterSettingsDetails | undefined;\r\n searchResults: ActivitySearchResultDetails[] | undefined;\r\n resultsNumber: number;\r\n ipAddress: string | undefined;\r\n searchedFromLat: number | undefined;\r\n searchedFromLong: number | undefined;\r\n device: SearchDeviceType;\r\n userAgent: string | undefined;\r\n sourceType: SavedSearchSourceType | undefined;\r\n}\r\n\r\nexport class ActivitySearchFilterSettingsDetails implements IActivitySearchFilterSettingsDetails {\r\n latitude!: number;\r\n longitude!: number;\r\n specificity!: LocationAccuracy;\r\n distance!: number;\r\n exactDate!: string | undefined;\r\n exactTime!: string | undefined;\r\n duration!: number;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n searchSpaceType!: SpaceType;\r\n minCapacity!: number | undefined;\r\n maxCapacity!: number | undefined;\r\n venueId!: string | undefined;\r\n venueGroupId!: string | undefined;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n minSize!: number | undefined;\r\n maxSize!: number | undefined;\r\n onlyNewWorkspaces!: boolean;\r\n sourceType!: SavedSearchSourceType | undefined;\r\n venueName!: string | undefined;\r\n venueAddress!: string | undefined;\r\n amenityStrings!: string[] | undefined;\r\n neighborhoodStrings!: string[] | undefined;\r\n spaceTypesString!: string | undefined;\r\n\r\n constructor(data?: IActivitySearchFilterSettingsDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.specificity = _data[\"specificity\"];\r\n this.distance = _data[\"distance\"];\r\n this.exactDate = _data[\"exactDate\"];\r\n this.exactTime = _data[\"exactTime\"];\r\n this.duration = _data[\"duration\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.searchSpaceType = _data[\"searchSpaceType\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n this.maxCapacity = _data[\"maxCapacity\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.minSize = _data[\"minSize\"];\r\n this.maxSize = _data[\"maxSize\"];\r\n this.onlyNewWorkspaces = _data[\"onlyNewWorkspaces\"];\r\n this.sourceType = _data[\"sourceType\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n if (Array.isArray(_data[\"amenityStrings\"])) {\r\n this.amenityStrings = [] as any;\r\n for (let item of _data[\"amenityStrings\"])\r\n this.amenityStrings!.push(item);\r\n }\r\n if (Array.isArray(_data[\"neighborhoodStrings\"])) {\r\n this.neighborhoodStrings = [] as any;\r\n for (let item of _data[\"neighborhoodStrings\"])\r\n this.neighborhoodStrings!.push(item);\r\n }\r\n this.spaceTypesString = _data[\"spaceTypesString\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearchFilterSettingsDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearchFilterSettingsDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"specificity\"] = this.specificity;\r\n data[\"distance\"] = this.distance;\r\n data[\"exactDate\"] = this.exactDate;\r\n data[\"exactTime\"] = this.exactTime;\r\n data[\"duration\"] = this.duration;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"searchSpaceType\"] = this.searchSpaceType;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n data[\"maxCapacity\"] = this.maxCapacity;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"minSize\"] = this.minSize;\r\n data[\"maxSize\"] = this.maxSize;\r\n data[\"onlyNewWorkspaces\"] = this.onlyNewWorkspaces;\r\n data[\"sourceType\"] = this.sourceType;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n if (Array.isArray(this.amenityStrings)) {\r\n data[\"amenityStrings\"] = [];\r\n for (let item of this.amenityStrings)\r\n data[\"amenityStrings\"].push(item);\r\n }\r\n if (Array.isArray(this.neighborhoodStrings)) {\r\n data[\"neighborhoodStrings\"] = [];\r\n for (let item of this.neighborhoodStrings)\r\n data[\"neighborhoodStrings\"].push(item);\r\n }\r\n data[\"spaceTypesString\"] = this.spaceTypesString;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearchFilterSettingsDetails {\r\n latitude: number;\r\n longitude: number;\r\n specificity: LocationAccuracy;\r\n distance: number;\r\n exactDate: string | undefined;\r\n exactTime: string | undefined;\r\n duration: number;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n searchSpaceType: SpaceType;\r\n minCapacity: number | undefined;\r\n maxCapacity: number | undefined;\r\n venueId: string | undefined;\r\n venueGroupId: string | undefined;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n minSize: number | undefined;\r\n maxSize: number | undefined;\r\n onlyNewWorkspaces: boolean;\r\n sourceType: SavedSearchSourceType | undefined;\r\n venueName: string | undefined;\r\n venueAddress: string | undefined;\r\n amenityStrings: string[] | undefined;\r\n neighborhoodStrings: string[] | undefined;\r\n spaceTypesString: string | undefined;\r\n}\r\n\r\n/** 0 = Unknown 1 = CountryLevel 2 = StateLevel 3 = CityLevel 4 = PostalCodeLevel 5 = StreetLevel 6 = AddressLevel */\r\nexport enum LocationAccuracy {\r\n Unknown = 0,\r\n CountryLevel = 1,\r\n StateLevel = 2,\r\n CityLevel = 3,\r\n PostalCodeLevel = 4,\r\n StreetLevel = 5,\r\n AddressLevel = 6,\r\n}\r\n\r\n/** 0 = Unknown 1 = Onboarding 2 = SavedSearch 3 = CreateAlertNoResults 4 = TourRequest 5 = NeighborhoodRequest 6 = CityRequest 7 = WorkspaceRequest 8 = HomepageConcierge 9 = MyLiquidspaceConcierge 10 = WorkspaceTypeRequest 11 = NeighborhoodFollowRequest 12 = MessageHost 13 = CheckAvailability 14 = ColliersConcierge 15 = WashingtonREIT 16 = Brandywine 17 = AvisonYoung 18 = VenueHostReferral 19 = BrandedPortal 20 = RequestForPorposal 21 = AffiliateUserInvite 22 = DealProposal 23 = AltSpaceRequest 24 = CollectionConcierge 25 = GuestOnboarding 26 = EmbeddedConcierge 27 = Membership 28 = NotifyMe */\r\nexport enum SavedSearchSourceType {\r\n Unknown = 0,\r\n Onboarding = 1,\r\n SavedSearch = 2,\r\n CreateAlertNoResults = 3,\r\n TourRequest = 4,\r\n NeighborhoodRequest = 5,\r\n CityRequest = 6,\r\n WorkspaceRequest = 7,\r\n HomepageConcierge = 8,\r\n MyLiquidspaceConcierge = 9,\r\n WorkspaceTypeRequest = 10,\r\n NeighborhoodFollowRequest = 11,\r\n MessageHost = 12,\r\n CheckAvailability = 13,\r\n ColliersConcierge = 14,\r\n WashingtonREIT = 15,\r\n Brandywine = 16,\r\n AvisonYoung = 17,\r\n VenueHostReferral = 18,\r\n BrandedPortal = 19,\r\n RequestForPorposal = 20,\r\n AffiliateUserInvite = 21,\r\n DealProposal = 22,\r\n AltSpaceRequest = 23,\r\n CollectionConcierge = 24,\r\n GuestOnboarding = 25,\r\n EmbeddedConcierge = 26,\r\n Membership = 27,\r\n NotifyMe = 28,\r\n}\r\n\r\nexport class IndividualSearchReportResult implements IIndividualSearchReportResult {\r\n workspaceId!: string;\r\n venueId!: string;\r\n position!: number;\r\n bestMatchScore!: number;\r\n price!: number;\r\n rating!: number;\r\n\r\n constructor(data?: IIndividualSearchReportResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.position = _data[\"position\"];\r\n this.bestMatchScore = _data[\"bestMatchScore\"];\r\n this.price = _data[\"price\"];\r\n this.rating = _data[\"rating\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IndividualSearchReportResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IndividualSearchReportResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"position\"] = this.position;\r\n data[\"bestMatchScore\"] = this.bestMatchScore;\r\n data[\"price\"] = this.price;\r\n data[\"rating\"] = this.rating;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIndividualSearchReportResult {\r\n workspaceId: string;\r\n venueId: string;\r\n position: number;\r\n bestMatchScore: number;\r\n price: number;\r\n rating: number;\r\n}\r\n\r\nexport class ActivitySearchResultDetails extends IndividualSearchReportResult implements IActivitySearchResultDetails {\r\n venueName!: string | undefined;\r\n venueAddress!: string | undefined;\r\n\r\n constructor(data?: IActivitySearchResultDetails) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ActivitySearchResultDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ActivitySearchResultDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IActivitySearchResultDetails extends IIndividualSearchReportResult {\r\n venueName: string | undefined;\r\n venueAddress: string | undefined;\r\n}\r\n\r\nexport class BrandedOptionsModel implements IBrandedOptionsModel {\r\n portalOptions!: BrandedPortalOptionsModel;\r\n emailOptions!: BrandedEmailOptionsModel;\r\n onboardingOptions!: BrandedOnboardingOptionsModel;\r\n locationOptions!: BrandedLocationOptionsModel;\r\n bannerOptions!: BrandedBannerOptionsModel;\r\n headerImage!: string | undefined;\r\n emailHeaderImage!: string | undefined;\r\n onboardingImage!: string | undefined;\r\n mapPinImage!: string | undefined;\r\n mapPinImageId!: string | undefined;\r\n\r\n constructor(data?: IBrandedOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.portalOptions = _data[\"portalOptions\"] ? BrandedPortalOptionsModel.fromJS(_data[\"portalOptions\"]) : undefined;\r\n this.emailOptions = _data[\"emailOptions\"] ? BrandedEmailOptionsModel.fromJS(_data[\"emailOptions\"]) : undefined;\r\n this.onboardingOptions = _data[\"onboardingOptions\"] ? BrandedOnboardingOptionsModel.fromJS(_data[\"onboardingOptions\"]) : undefined;\r\n this.locationOptions = _data[\"locationOptions\"] ? BrandedLocationOptionsModel.fromJS(_data[\"locationOptions\"]) : undefined;\r\n this.bannerOptions = _data[\"bannerOptions\"] ? BrandedBannerOptionsModel.fromJS(_data[\"bannerOptions\"]) : undefined;\r\n this.headerImage = _data[\"headerImage\"];\r\n this.emailHeaderImage = _data[\"emailHeaderImage\"];\r\n this.onboardingImage = _data[\"onboardingImage\"];\r\n this.mapPinImage = _data[\"mapPinImage\"];\r\n this.mapPinImageId = _data[\"mapPinImageId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"portalOptions\"] = this.portalOptions ? this.portalOptions.toJSON() : undefined;\r\n data[\"emailOptions\"] = this.emailOptions ? this.emailOptions.toJSON() : undefined;\r\n data[\"onboardingOptions\"] = this.onboardingOptions ? this.onboardingOptions.toJSON() : undefined;\r\n data[\"locationOptions\"] = this.locationOptions ? this.locationOptions.toJSON() : undefined;\r\n data[\"bannerOptions\"] = this.bannerOptions ? this.bannerOptions.toJSON() : undefined;\r\n data[\"headerImage\"] = this.headerImage;\r\n data[\"emailHeaderImage\"] = this.emailHeaderImage;\r\n data[\"onboardingImage\"] = this.onboardingImage;\r\n data[\"mapPinImage\"] = this.mapPinImage;\r\n data[\"mapPinImageId\"] = this.mapPinImageId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedOptionsModel {\r\n portalOptions: BrandedPortalOptionsModel;\r\n emailOptions: BrandedEmailOptionsModel;\r\n onboardingOptions: BrandedOnboardingOptionsModel;\r\n locationOptions: BrandedLocationOptionsModel;\r\n bannerOptions: BrandedBannerOptionsModel;\r\n headerImage: string | undefined;\r\n emailHeaderImage: string | undefined;\r\n onboardingImage: string | undefined;\r\n mapPinImage: string | undefined;\r\n mapPinImageId: string | undefined;\r\n}\r\n\r\nexport class BrandedPortalOptionsModel implements IBrandedPortalOptionsModel {\r\n title!: string | undefined;\r\n subtitle!: string | undefined;\r\n explainerText!: string | undefined;\r\n markets!: BrandedMarketModel[];\r\n enable!: boolean;\r\n portalType!: BrandedPortalType;\r\n forceSignIn!: boolean;\r\n url!: string | undefined;\r\n isHeaderTransparent!: boolean;\r\n referralEmail!: string | undefined;\r\n\r\n constructor(data?: IBrandedPortalOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.subtitle = _data[\"subtitle\"];\r\n this.explainerText = _data[\"explainerText\"];\r\n if (Array.isArray(_data[\"markets\"])) {\r\n this.markets = [] as any;\r\n for (let item of _data[\"markets\"])\r\n this.markets!.push(BrandedMarketModel.fromJS(item));\r\n }\r\n this.enable = _data[\"enable\"];\r\n this.portalType = _data[\"portalType\"];\r\n this.forceSignIn = _data[\"forceSignIn\"];\r\n this.url = _data[\"url\"];\r\n this.isHeaderTransparent = _data[\"isHeaderTransparent\"];\r\n this.referralEmail = _data[\"referralEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedPortalOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedPortalOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"subtitle\"] = this.subtitle;\r\n data[\"explainerText\"] = this.explainerText;\r\n if (Array.isArray(this.markets)) {\r\n data[\"markets\"] = [];\r\n for (let item of this.markets)\r\n data[\"markets\"].push(item.toJSON());\r\n }\r\n data[\"enable\"] = this.enable;\r\n data[\"portalType\"] = this.portalType;\r\n data[\"forceSignIn\"] = this.forceSignIn;\r\n data[\"url\"] = this.url;\r\n data[\"isHeaderTransparent\"] = this.isHeaderTransparent;\r\n data[\"referralEmail\"] = this.referralEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedPortalOptionsModel {\r\n title: string | undefined;\r\n subtitle: string | undefined;\r\n explainerText: string | undefined;\r\n markets: BrandedMarketModel[];\r\n enable: boolean;\r\n portalType: BrandedPortalType;\r\n forceSignIn: boolean;\r\n url: string | undefined;\r\n isHeaderTransparent: boolean;\r\n referralEmail: string | undefined;\r\n}\r\n\r\nexport class BrandedMarketModel implements IBrandedMarketModel {\r\n name!: string | undefined;\r\n venueGroupId!: string | undefined;\r\n\r\n constructor(data?: IBrandedMarketModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedMarketModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedMarketModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedMarketModel {\r\n name: string | undefined;\r\n venueGroupId: string | undefined;\r\n}\r\n\r\n/** 0 = Portfolio 1 = Mobility 2 = PortfolioMobility 3 = Mobility2 4 = Mobility3 */\r\nexport enum BrandedPortalType {\r\n Portfolio = 0,\r\n Mobility = 1,\r\n PortfolioMobility = 2,\r\n Mobility2 = 3,\r\n Mobility3 = 4,\r\n}\r\n\r\nexport class BrandedEmailOptionsModel implements IBrandedEmailOptionsModel {\r\n enable!: boolean;\r\n from!: string | undefined;\r\n programName!: string | undefined;\r\n customEmailCss!: string | undefined;\r\n customInviteMessage!: string | undefined;\r\n venueGroupId!: string | undefined;\r\n\r\n constructor(data?: IBrandedEmailOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enable = _data[\"enable\"];\r\n this.from = _data[\"from\"];\r\n this.programName = _data[\"programName\"];\r\n this.customEmailCss = _data[\"customEmailCss\"];\r\n this.customInviteMessage = _data[\"customInviteMessage\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedEmailOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedEmailOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enable\"] = this.enable;\r\n data[\"from\"] = this.from;\r\n data[\"programName\"] = this.programName;\r\n data[\"customEmailCss\"] = this.customEmailCss;\r\n data[\"customInviteMessage\"] = this.customInviteMessage;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedEmailOptionsModel {\r\n enable: boolean;\r\n from: string | undefined;\r\n programName: string | undefined;\r\n customEmailCss: string | undefined;\r\n customInviteMessage: string | undefined;\r\n venueGroupId: string | undefined;\r\n}\r\n\r\nexport class BrandedOnboardingOptionsModel implements IBrandedOnboardingOptionsModel {\r\n message!: string | undefined;\r\n title!: string | undefined;\r\n content!: string | undefined;\r\n useExistingUrl!: boolean;\r\n url!: string | undefined;\r\n videoUrl!: string | undefined;\r\n\r\n constructor(data?: IBrandedOnboardingOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.title = _data[\"title\"];\r\n this.content = _data[\"content\"];\r\n this.useExistingUrl = _data[\"useExistingUrl\"];\r\n this.url = _data[\"url\"];\r\n this.videoUrl = _data[\"videoUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedOnboardingOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedOnboardingOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"title\"] = this.title;\r\n data[\"content\"] = this.content;\r\n data[\"useExistingUrl\"] = this.useExistingUrl;\r\n data[\"url\"] = this.url;\r\n data[\"videoUrl\"] = this.videoUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedOnboardingOptionsModel {\r\n message: string | undefined;\r\n title: string | undefined;\r\n content: string | undefined;\r\n useExistingUrl: boolean;\r\n url: string | undefined;\r\n videoUrl: string | undefined;\r\n}\r\n\r\nexport class BrandedLocationOptionsModel implements IBrandedLocationOptionsModel {\r\n hqPinLabel!: string | undefined;\r\n hqPinColor!: string | undefined;\r\n hqPinColorHover!: string | undefined;\r\n\r\n constructor(data?: IBrandedLocationOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hqPinLabel = _data[\"hqPinLabel\"];\r\n this.hqPinColor = _data[\"hqPinColor\"];\r\n this.hqPinColorHover = _data[\"hqPinColorHover\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedLocationOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedLocationOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hqPinLabel\"] = this.hqPinLabel;\r\n data[\"hqPinColor\"] = this.hqPinColor;\r\n data[\"hqPinColorHover\"] = this.hqPinColorHover;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedLocationOptionsModel {\r\n hqPinLabel: string | undefined;\r\n hqPinColor: string | undefined;\r\n hqPinColorHover: string | undefined;\r\n}\r\n\r\nexport class BrandedBannerOptionsModel implements IBrandedBannerOptionsModel {\r\n title!: string | undefined;\r\n subtitle!: string | undefined;\r\n popupTitle!: string | undefined;\r\n popupContent!: string | undefined;\r\n enable!: boolean;\r\n forcePopup!: boolean;\r\n\r\n constructor(data?: IBrandedBannerOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.title = _data[\"title\"];\r\n this.subtitle = _data[\"subtitle\"];\r\n this.popupTitle = _data[\"popupTitle\"];\r\n this.popupContent = _data[\"popupContent\"];\r\n this.enable = _data[\"enable\"];\r\n this.forcePopup = _data[\"forcePopup\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BrandedBannerOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BrandedBannerOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"title\"] = this.title;\r\n data[\"subtitle\"] = this.subtitle;\r\n data[\"popupTitle\"] = this.popupTitle;\r\n data[\"popupContent\"] = this.popupContent;\r\n data[\"enable\"] = this.enable;\r\n data[\"forcePopup\"] = this.forcePopup;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBrandedBannerOptionsModel {\r\n title: string | undefined;\r\n subtitle: string | undefined;\r\n popupTitle: string | undefined;\r\n popupContent: string | undefined;\r\n enable: boolean;\r\n forcePopup: boolean;\r\n}\r\n\r\nexport class ContentItemModel implements IContentItemModel {\r\n id!: string;\r\n type!: ContentType;\r\n subject!: string;\r\n status!: ContentStatus;\r\n content!: string | undefined;\r\n\r\n constructor(data?: IContentItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.type = _data[\"type\"];\r\n this.subject = _data[\"subject\"];\r\n this.status = _data[\"status\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"type\"] = this.type;\r\n data[\"subject\"] = this.subject;\r\n data[\"status\"] = this.status;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemModel {\r\n id: string;\r\n type: ContentType;\r\n subject: string;\r\n status: ContentStatus;\r\n content: string | undefined;\r\n}\r\n\r\n/** 0 = QuestionAnswer */\r\nexport enum ContentType {\r\n QuestionAnswer = 0,\r\n}\r\n\r\n/** 0 = Hidden 1 = Visible */\r\nexport enum ContentStatus {\r\n Hidden = 0,\r\n Visible = 1,\r\n}\r\n\r\nexport class ContentItemAddModel implements IContentItemAddModel {\r\n type!: ContentType;\r\n subject!: string;\r\n status!: ContentStatus;\r\n content!: string | undefined;\r\n\r\n constructor(data?: IContentItemAddModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.type = _data[\"type\"];\r\n this.subject = _data[\"subject\"];\r\n this.status = _data[\"status\"];\r\n this.content = _data[\"content\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentItemAddModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentItemAddModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"type\"] = this.type;\r\n data[\"subject\"] = this.subject;\r\n data[\"status\"] = this.status;\r\n data[\"content\"] = this.content;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentItemAddModel {\r\n type: ContentType;\r\n subject: string;\r\n status: ContentStatus;\r\n content: string | undefined;\r\n}\r\n\r\nexport class DashboardViewModel implements IDashboardViewModel {\r\n lastUpdateDate!: string;\r\n spend!: CostInfoModel[];\r\n reservationCount!: number;\r\n topSpenders!: DashboardSpender[];\r\n reservationLocations!: DashboardReservationLocation[];\r\n pendingMembersCount!: number;\r\n activeMembersCount!: number;\r\n ratingsCount!: number;\r\n ratingsAverage!: number | undefined;\r\n engagedMembersCount!: number;\r\n engagedPercent!: number | undefined;\r\n teamsStats!: DashboardTeamStatsViewModel[];\r\n reviews!: DashboardReviewInfo[];\r\n performance!: { [key: string]: number; };\r\n\r\n constructor(data?: IDashboardViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.lastUpdateDate = _data[\"lastUpdateDate\"];\r\n if (Array.isArray(_data[\"spend\"])) {\r\n this.spend = [] as any;\r\n for (let item of _data[\"spend\"])\r\n this.spend!.push(CostInfoModel.fromJS(item));\r\n }\r\n this.reservationCount = _data[\"reservationCount\"];\r\n if (Array.isArray(_data[\"topSpenders\"])) {\r\n this.topSpenders = [] as any;\r\n for (let item of _data[\"topSpenders\"])\r\n this.topSpenders!.push(DashboardSpender.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"reservationLocations\"])) {\r\n this.reservationLocations = [] as any;\r\n for (let item of _data[\"reservationLocations\"])\r\n this.reservationLocations!.push(DashboardReservationLocation.fromJS(item));\r\n }\r\n this.pendingMembersCount = _data[\"pendingMembersCount\"];\r\n this.activeMembersCount = _data[\"activeMembersCount\"];\r\n this.ratingsCount = _data[\"ratingsCount\"];\r\n this.ratingsAverage = _data[\"ratingsAverage\"];\r\n this.engagedMembersCount = _data[\"engagedMembersCount\"];\r\n this.engagedPercent = _data[\"engagedPercent\"];\r\n if (Array.isArray(_data[\"teamsStats\"])) {\r\n this.teamsStats = [] as any;\r\n for (let item of _data[\"teamsStats\"])\r\n this.teamsStats!.push(DashboardTeamStatsViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"reviews\"])) {\r\n this.reviews = [] as any;\r\n for (let item of _data[\"reviews\"])\r\n this.reviews!.push(DashboardReviewInfo.fromJS(item));\r\n }\r\n if (_data[\"performance\"]) {\r\n this.performance = {} as any;\r\n for (let key in _data[\"performance\"]) {\r\n if (_data[\"performance\"].hasOwnProperty(key))\r\n (this.performance)![key] = _data[\"performance\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"lastUpdateDate\"] = this.lastUpdateDate;\r\n if (Array.isArray(this.spend)) {\r\n data[\"spend\"] = [];\r\n for (let item of this.spend)\r\n data[\"spend\"].push(item.toJSON());\r\n }\r\n data[\"reservationCount\"] = this.reservationCount;\r\n if (Array.isArray(this.topSpenders)) {\r\n data[\"topSpenders\"] = [];\r\n for (let item of this.topSpenders)\r\n data[\"topSpenders\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.reservationLocations)) {\r\n data[\"reservationLocations\"] = [];\r\n for (let item of this.reservationLocations)\r\n data[\"reservationLocations\"].push(item.toJSON());\r\n }\r\n data[\"pendingMembersCount\"] = this.pendingMembersCount;\r\n data[\"activeMembersCount\"] = this.activeMembersCount;\r\n data[\"ratingsCount\"] = this.ratingsCount;\r\n data[\"ratingsAverage\"] = this.ratingsAverage;\r\n data[\"engagedMembersCount\"] = this.engagedMembersCount;\r\n data[\"engagedPercent\"] = this.engagedPercent;\r\n if (Array.isArray(this.teamsStats)) {\r\n data[\"teamsStats\"] = [];\r\n for (let item of this.teamsStats)\r\n data[\"teamsStats\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.reviews)) {\r\n data[\"reviews\"] = [];\r\n for (let item of this.reviews)\r\n data[\"reviews\"].push(item.toJSON());\r\n }\r\n if (this.performance) {\r\n data[\"performance\"] = {};\r\n for (let key in this.performance) {\r\n if (this.performance.hasOwnProperty(key))\r\n (data[\"performance\"])[key] = (this.performance)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardViewModel {\r\n lastUpdateDate: string;\r\n spend: CostInfoModel[];\r\n reservationCount: number;\r\n topSpenders: DashboardSpender[];\r\n reservationLocations: DashboardReservationLocation[];\r\n pendingMembersCount: number;\r\n activeMembersCount: number;\r\n ratingsCount: number;\r\n ratingsAverage: number | undefined;\r\n engagedMembersCount: number;\r\n engagedPercent: number | undefined;\r\n teamsStats: DashboardTeamStatsViewModel[];\r\n reviews: DashboardReviewInfo[];\r\n performance: { [key: string]: number; };\r\n}\r\n\r\nexport class DashboardSpender implements IDashboardSpender {\r\n memberId!: string;\r\n fullName!: string | undefined;\r\n teamId!: string;\r\n teamName!: string | undefined;\r\n reservationsCount!: number;\r\n totalSpend!: number;\r\n\r\n constructor(data?: IDashboardSpender) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.reservationsCount = _data[\"reservationsCount\"];\r\n this.totalSpend = _data[\"totalSpend\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardSpender {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardSpender();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"reservationsCount\"] = this.reservationsCount;\r\n data[\"totalSpend\"] = this.totalSpend;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardSpender {\r\n memberId: string;\r\n fullName: string | undefined;\r\n teamId: string;\r\n teamName: string | undefined;\r\n reservationsCount: number;\r\n totalSpend: number;\r\n}\r\n\r\nexport class DashboardReservationLocation implements IDashboardReservationLocation {\r\n venueId!: string;\r\n venueName!: string | undefined;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n url!: string | undefined;\r\n spend!: CostInfo | undefined;\r\n reservationsCount!: number;\r\n activeReservationInfo!: DashboardReservationInfo[] | undefined;\r\n\r\n constructor(data?: IDashboardReservationLocation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.url = _data[\"url\"];\r\n this.spend = _data[\"spend\"] ? CostInfo.fromJS(_data[\"spend\"]) : undefined;\r\n this.reservationsCount = _data[\"reservationsCount\"];\r\n if (Array.isArray(_data[\"activeReservationInfo\"])) {\r\n this.activeReservationInfo = [] as any;\r\n for (let item of _data[\"activeReservationInfo\"])\r\n this.activeReservationInfo!.push(DashboardReservationInfo.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardReservationLocation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardReservationLocation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"url\"] = this.url;\r\n data[\"spend\"] = this.spend ? this.spend.toJSON() : undefined;\r\n data[\"reservationsCount\"] = this.reservationsCount;\r\n if (Array.isArray(this.activeReservationInfo)) {\r\n data[\"activeReservationInfo\"] = [];\r\n for (let item of this.activeReservationInfo)\r\n data[\"activeReservationInfo\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardReservationLocation {\r\n venueId: string;\r\n venueName: string | undefined;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n url: string | undefined;\r\n spend: CostInfo | undefined;\r\n reservationsCount: number;\r\n activeReservationInfo: DashboardReservationInfo[] | undefined;\r\n}\r\n\r\nexport class CostInfo implements ICostInfo {\r\n amount!: number;\r\n currency!: CurrencyType;\r\n currencyRate!: number | undefined;\r\n currencyPrefix!: string;\r\n\r\n constructor(data?: ICostInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.amount = _data[\"amount\"];\r\n this.currency = _data[\"currency\"];\r\n this.currencyRate = _data[\"currencyRate\"];\r\n this.currencyPrefix = _data[\"currencyPrefix\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CostInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CostInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amount\"] = this.amount;\r\n data[\"currency\"] = this.currency;\r\n data[\"currencyRate\"] = this.currencyRate;\r\n data[\"currencyPrefix\"] = this.currencyPrefix;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICostInfo {\r\n amount: number;\r\n currency: CurrencyType;\r\n currencyRate: number | undefined;\r\n currencyPrefix: string;\r\n}\r\n\r\nexport class DashboardReservationInfo implements IDashboardReservationInfo {\r\n memberId!: string;\r\n memberName!: string | undefined;\r\n type!: WorkspaceReservationMethod;\r\n\r\n constructor(data?: IDashboardReservationInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.memberName = _data[\"memberName\"];\r\n this.type = _data[\"type\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardReservationInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardReservationInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"type\"] = this.type;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardReservationInfo {\r\n memberId: string;\r\n memberName: string | undefined;\r\n type: WorkspaceReservationMethod;\r\n}\r\n\r\nexport class DashboardTeamStatsViewModel implements IDashboardTeamStatsViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n totalInvited!: number;\r\n totalJoined!: number;\r\n adoption!: number;\r\n totalBooked!: number;\r\n engagement!: number;\r\n totalDedicated!: TeamCostInfo[];\r\n totalOnDemand!: TeamCostInfo[];\r\n invitedBooked!: number;\r\n currencies!: CurrencyType[];\r\n\r\n constructor(data?: IDashboardTeamStatsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.totalInvited = _data[\"totalInvited\"];\r\n this.totalJoined = _data[\"totalJoined\"];\r\n this.adoption = _data[\"adoption\"];\r\n this.totalBooked = _data[\"totalBooked\"];\r\n this.engagement = _data[\"engagement\"];\r\n if (Array.isArray(_data[\"totalDedicated\"])) {\r\n this.totalDedicated = [] as any;\r\n for (let item of _data[\"totalDedicated\"])\r\n this.totalDedicated!.push(TeamCostInfo.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"totalOnDemand\"])) {\r\n this.totalOnDemand = [] as any;\r\n for (let item of _data[\"totalOnDemand\"])\r\n this.totalOnDemand!.push(TeamCostInfo.fromJS(item));\r\n }\r\n this.invitedBooked = _data[\"invitedBooked\"];\r\n if (Array.isArray(_data[\"currencies\"])) {\r\n this.currencies = [] as any;\r\n for (let item of _data[\"currencies\"])\r\n this.currencies!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardTeamStatsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardTeamStatsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"totalInvited\"] = this.totalInvited;\r\n data[\"totalJoined\"] = this.totalJoined;\r\n data[\"adoption\"] = this.adoption;\r\n data[\"totalBooked\"] = this.totalBooked;\r\n data[\"engagement\"] = this.engagement;\r\n if (Array.isArray(this.totalDedicated)) {\r\n data[\"totalDedicated\"] = [];\r\n for (let item of this.totalDedicated)\r\n data[\"totalDedicated\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.totalOnDemand)) {\r\n data[\"totalOnDemand\"] = [];\r\n for (let item of this.totalOnDemand)\r\n data[\"totalOnDemand\"].push(item.toJSON());\r\n }\r\n data[\"invitedBooked\"] = this.invitedBooked;\r\n if (Array.isArray(this.currencies)) {\r\n data[\"currencies\"] = [];\r\n for (let item of this.currencies)\r\n data[\"currencies\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardTeamStatsViewModel {\r\n id: string;\r\n name: string | undefined;\r\n totalInvited: number;\r\n totalJoined: number;\r\n adoption: number;\r\n totalBooked: number;\r\n engagement: number;\r\n totalDedicated: TeamCostInfo[];\r\n totalOnDemand: TeamCostInfo[];\r\n invitedBooked: number;\r\n currencies: CurrencyType[];\r\n}\r\n\r\nexport class TeamCostInfo extends CostInfo implements ITeamCostInfo {\r\n amountUSD!: number;\r\n count!: number;\r\n\r\n constructor(data?: ITeamCostInfo) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.amountUSD = _data[\"amountUSD\"];\r\n this.count = _data[\"count\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamCostInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamCostInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"amountUSD\"] = this.amountUSD;\r\n data[\"count\"] = this.count;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamCostInfo extends ICostInfo {\r\n amountUSD: number;\r\n count: number;\r\n}\r\n\r\nexport class DashboardReviewInfo implements IDashboardReviewInfo {\r\n id!: string;\r\n fullName!: string | undefined;\r\n teamName!: string | undefined;\r\n created!: string;\r\n stars!: number;\r\n comment!: string | undefined;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IDashboardReviewInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.created = _data[\"created\"];\r\n this.stars = _data[\"stars\"];\r\n this.comment = _data[\"comment\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardReviewInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardReviewInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"created\"] = this.created;\r\n data[\"stars\"] = this.stars;\r\n data[\"comment\"] = this.comment;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardReviewInfo {\r\n id: string;\r\n fullName: string | undefined;\r\n teamName: string | undefined;\r\n created: string;\r\n stars: number;\r\n comment: string | undefined;\r\n workspaceId: string;\r\n}\r\n\r\nexport class EnrollmentSettingsModel implements IEnrollmentSettingsModel {\r\n enableAutoEnrollment!: boolean;\r\n autoEnrollmentMemberGroupId!: string | undefined;\r\n restrictByEmailDomain!: boolean;\r\n emailDomains!: string[];\r\n\r\n constructor(data?: IEnrollmentSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enableAutoEnrollment = _data[\"enableAutoEnrollment\"];\r\n this.autoEnrollmentMemberGroupId = _data[\"autoEnrollmentMemberGroupId\"];\r\n this.restrictByEmailDomain = _data[\"restrictByEmailDomain\"];\r\n if (Array.isArray(_data[\"emailDomains\"])) {\r\n this.emailDomains = [] as any;\r\n for (let item of _data[\"emailDomains\"])\r\n this.emailDomains!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnrollmentSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnrollmentSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enableAutoEnrollment\"] = this.enableAutoEnrollment;\r\n data[\"autoEnrollmentMemberGroupId\"] = this.autoEnrollmentMemberGroupId;\r\n data[\"restrictByEmailDomain\"] = this.restrictByEmailDomain;\r\n if (Array.isArray(this.emailDomains)) {\r\n data[\"emailDomains\"] = [];\r\n for (let item of this.emailDomains)\r\n data[\"emailDomains\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnrollmentSettingsModel {\r\n enableAutoEnrollment: boolean;\r\n autoEnrollmentMemberGroupId: string | undefined;\r\n restrictByEmailDomain: boolean;\r\n emailDomains: string[];\r\n}\r\n\r\nexport class AccountAdminInfoViewModel implements IAccountAdminInfoViewModel {\r\n memberId!: string;\r\n fullName!: string;\r\n email!: string;\r\n created!: string | undefined;\r\n role!: string;\r\n imageUrl!: string | undefined;\r\n\r\n constructor(data?: IAccountAdminInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.created = _data[\"created\"];\r\n this.role = _data[\"role\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountAdminInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountAdminInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"created\"] = this.created;\r\n data[\"role\"] = this.role;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountAdminInfoViewModel {\r\n memberId: string;\r\n fullName: string;\r\n email: string;\r\n created: string | undefined;\r\n role: string;\r\n imageUrl: string | undefined;\r\n}\r\n\r\nexport class AddAccountAdminModel implements IAddAccountAdminModel {\r\n email!: string;\r\n\r\n constructor(data?: IAddAccountAdminModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddAccountAdminModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddAccountAdminModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddAccountAdminModel {\r\n email: string;\r\n}\r\n\r\nexport class EnterpriseAccountApiClientListItemViewModel implements IEnterpriseAccountApiClientListItemViewModel {\r\n clientId!: string;\r\n subscriptionKey!: string | undefined;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IEnterpriseAccountApiClientListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.subscriptionKey = _data[\"subscriptionKey\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountApiClientListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountApiClientListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"subscriptionKey\"] = this.subscriptionKey;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountApiClientListItemViewModel {\r\n clientId: string;\r\n subscriptionKey: string | undefined;\r\n name: string | undefined;\r\n}\r\n\r\nexport class EditableEnterpriseAccountApiClientViewModel implements IEditableEnterpriseAccountApiClientViewModel {\r\n clientId!: string;\r\n clientSecret!: string;\r\n subscriptionKey!: string | undefined;\r\n description!: string | undefined;\r\n name!: string | undefined;\r\n allowedGrantTypes!: string[];\r\n allowedScopes!: string[];\r\n allowedImpersonationScopes!: string[];\r\n\r\n constructor(data?: IEditableEnterpriseAccountApiClientViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.subscriptionKey = _data[\"subscriptionKey\"];\r\n this.description = _data[\"description\"];\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"allowedGrantTypes\"])) {\r\n this.allowedGrantTypes = [] as any;\r\n for (let item of _data[\"allowedGrantTypes\"])\r\n this.allowedGrantTypes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"allowedScopes\"])) {\r\n this.allowedScopes = [] as any;\r\n for (let item of _data[\"allowedScopes\"])\r\n this.allowedScopes!.push(item);\r\n }\r\n if (Array.isArray(_data[\"allowedImpersonationScopes\"])) {\r\n this.allowedImpersonationScopes = [] as any;\r\n for (let item of _data[\"allowedImpersonationScopes\"])\r\n this.allowedImpersonationScopes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditableEnterpriseAccountApiClientViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditableEnterpriseAccountApiClientViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"subscriptionKey\"] = this.subscriptionKey;\r\n data[\"description\"] = this.description;\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.allowedGrantTypes)) {\r\n data[\"allowedGrantTypes\"] = [];\r\n for (let item of this.allowedGrantTypes)\r\n data[\"allowedGrantTypes\"].push(item);\r\n }\r\n if (Array.isArray(this.allowedScopes)) {\r\n data[\"allowedScopes\"] = [];\r\n for (let item of this.allowedScopes)\r\n data[\"allowedScopes\"].push(item);\r\n }\r\n if (Array.isArray(this.allowedImpersonationScopes)) {\r\n data[\"allowedImpersonationScopes\"] = [];\r\n for (let item of this.allowedImpersonationScopes)\r\n data[\"allowedImpersonationScopes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditableEnterpriseAccountApiClientViewModel {\r\n clientId: string;\r\n clientSecret: string;\r\n subscriptionKey: string | undefined;\r\n description: string | undefined;\r\n name: string | undefined;\r\n allowedGrantTypes: string[];\r\n allowedScopes: string[];\r\n allowedImpersonationScopes: string[];\r\n}\r\n\r\nexport class EnterpriseAccountBillingModel implements IEnterpriseAccountBillingModel {\r\n id!: string;\r\n billingDate!: string;\r\n invoiceId!: string | undefined;\r\n invoicePdfUrl!: string | undefined;\r\n billableUsersCount!: number;\r\n billingItems!: EnterpriseAccountBillingItemModel[];\r\n status!: EnterpriseAccountBillingStatus;\r\n\r\n constructor(data?: IEnterpriseAccountBillingModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.billingDate = _data[\"billingDate\"];\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.invoicePdfUrl = _data[\"invoicePdfUrl\"];\r\n this.billableUsersCount = _data[\"billableUsersCount\"];\r\n if (Array.isArray(_data[\"billingItems\"])) {\r\n this.billingItems = [] as any;\r\n for (let item of _data[\"billingItems\"])\r\n this.billingItems!.push(EnterpriseAccountBillingItemModel.fromJS(item));\r\n }\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountBillingModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountBillingModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"billingDate\"] = this.billingDate;\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"invoicePdfUrl\"] = this.invoicePdfUrl;\r\n data[\"billableUsersCount\"] = this.billableUsersCount;\r\n if (Array.isArray(this.billingItems)) {\r\n data[\"billingItems\"] = [];\r\n for (let item of this.billingItems)\r\n data[\"billingItems\"].push(item.toJSON());\r\n }\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountBillingModel {\r\n id: string;\r\n billingDate: string;\r\n invoiceId: string | undefined;\r\n invoicePdfUrl: string | undefined;\r\n billableUsersCount: number;\r\n billingItems: EnterpriseAccountBillingItemModel[];\r\n status: EnterpriseAccountBillingStatus;\r\n}\r\n\r\nexport class EnterpriseAccountBillingItemModel implements IEnterpriseAccountBillingItemModel {\r\n feeType!: EnterpriseAccountFeeType;\r\n periodStartDate!: string;\r\n periodEndDate!: string;\r\n description!: string | undefined;\r\n costPerUnit!: number;\r\n units!: number;\r\n currency!: CurrencyType;\r\n\r\n constructor(data?: IEnterpriseAccountBillingItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.feeType = _data[\"feeType\"];\r\n this.periodStartDate = _data[\"periodStartDate\"];\r\n this.periodEndDate = _data[\"periodEndDate\"];\r\n this.description = _data[\"description\"];\r\n this.costPerUnit = _data[\"costPerUnit\"];\r\n this.units = _data[\"units\"];\r\n this.currency = _data[\"currency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountBillingItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountBillingItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"feeType\"] = this.feeType;\r\n data[\"periodStartDate\"] = this.periodStartDate;\r\n data[\"periodEndDate\"] = this.periodEndDate;\r\n data[\"description\"] = this.description;\r\n data[\"costPerUnit\"] = this.costPerUnit;\r\n data[\"units\"] = this.units;\r\n data[\"currency\"] = this.currency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountBillingItemModel {\r\n feeType: EnterpriseAccountFeeType;\r\n periodStartDate: string;\r\n periodEndDate: string;\r\n description: string | undefined;\r\n costPerUnit: number;\r\n units: number;\r\n currency: CurrencyType;\r\n}\r\n\r\n/** 0 = PlatformFee 1 = UserFee 2 = ProfessionalServices 3 = HqHub 4 = Other 5 = Credit */\r\nexport enum EnterpriseAccountFeeType {\r\n PlatformFee = 0,\r\n UserFee = 1,\r\n ProfessionalServices = 2,\r\n HqHub = 3,\r\n Other = 4,\r\n Credit = 5,\r\n}\r\n\r\n/** 0 = Unknown 1 = Scheduled 2 = Due 3 = Overdue 4 = Complete 5 = ProcessingError 6 = Cancelled */\r\nexport enum EnterpriseAccountBillingStatus {\r\n Unknown = 0,\r\n Scheduled = 1,\r\n Due = 2,\r\n Overdue = 3,\r\n Complete = 4,\r\n ProcessingError = 5,\r\n Cancelled = 6,\r\n}\r\n\r\nexport class EnterpriseAccountBillingCreateRequest implements IEnterpriseAccountBillingCreateRequest {\r\n billingDate!: string;\r\n billableUsersCount!: number;\r\n billingItems!: EnterpriseAccountBillingItemModel[];\r\n\r\n constructor(data?: IEnterpriseAccountBillingCreateRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.billingDate = _data[\"billingDate\"];\r\n this.billableUsersCount = _data[\"billableUsersCount\"];\r\n if (Array.isArray(_data[\"billingItems\"])) {\r\n this.billingItems = [] as any;\r\n for (let item of _data[\"billingItems\"])\r\n this.billingItems!.push(EnterpriseAccountBillingItemModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountBillingCreateRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountBillingCreateRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"billingDate\"] = this.billingDate;\r\n data[\"billableUsersCount\"] = this.billableUsersCount;\r\n if (Array.isArray(this.billingItems)) {\r\n data[\"billingItems\"] = [];\r\n for (let item of this.billingItems)\r\n data[\"billingItems\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountBillingCreateRequest {\r\n billingDate: string;\r\n billableUsersCount: number;\r\n billingItems: EnterpriseAccountBillingItemModel[];\r\n}\r\n\r\nexport class AccountInfoViewModel implements IAccountInfoViewModel {\r\n id!: string;\r\n name!: string;\r\n portalUrl!: string | undefined;\r\n logoUrl!: string | undefined;\r\n portalType!: BrandedPortalType;\r\n emailDomains!: string[];\r\n isMarketplaceAccount!: boolean;\r\n socialCollaborationPortalEnabled!: boolean;\r\n marketplaceEffectiveDate!: string | undefined;\r\n invoiceGenerationStatus!: InvoiceGenerationStatus;\r\n\r\n constructor(data?: IAccountInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.portalUrl = _data[\"portalUrl\"];\r\n this.logoUrl = _data[\"logoUrl\"];\r\n this.portalType = _data[\"portalType\"];\r\n if (Array.isArray(_data[\"emailDomains\"])) {\r\n this.emailDomains = [] as any;\r\n for (let item of _data[\"emailDomains\"])\r\n this.emailDomains!.push(item);\r\n }\r\n this.isMarketplaceAccount = _data[\"isMarketplaceAccount\"];\r\n this.socialCollaborationPortalEnabled = _data[\"socialCollaborationPortalEnabled\"];\r\n this.marketplaceEffectiveDate = _data[\"marketplaceEffectiveDate\"];\r\n this.invoiceGenerationStatus = _data[\"invoiceGenerationStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"portalUrl\"] = this.portalUrl;\r\n data[\"logoUrl\"] = this.logoUrl;\r\n data[\"portalType\"] = this.portalType;\r\n if (Array.isArray(this.emailDomains)) {\r\n data[\"emailDomains\"] = [];\r\n for (let item of this.emailDomains)\r\n data[\"emailDomains\"].push(item);\r\n }\r\n data[\"isMarketplaceAccount\"] = this.isMarketplaceAccount;\r\n data[\"socialCollaborationPortalEnabled\"] = this.socialCollaborationPortalEnabled;\r\n data[\"marketplaceEffectiveDate\"] = this.marketplaceEffectiveDate;\r\n data[\"invoiceGenerationStatus\"] = this.invoiceGenerationStatus;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountInfoViewModel {\r\n id: string;\r\n name: string;\r\n portalUrl: string | undefined;\r\n logoUrl: string | undefined;\r\n portalType: BrandedPortalType;\r\n emailDomains: string[];\r\n isMarketplaceAccount: boolean;\r\n socialCollaborationPortalEnabled: boolean;\r\n marketplaceEffectiveDate: string | undefined;\r\n invoiceGenerationStatus: InvoiceGenerationStatus;\r\n}\r\n\r\n/** 0 = Paused 1 = Draft 2 = Retired */\r\nexport enum InvoiceGenerationStatus {\r\n Paused = 0,\r\n Draft = 1,\r\n Retired = 2,\r\n}\r\n\r\nexport class EnterpriseAccountListViewModel implements IEnterpriseAccountListViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IEnterpriseAccountListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"EnterpriseAccountListViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"EnterpriseAccountExtendedListViewModel\") {\r\n let result = new EnterpriseAccountExtendedListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new EnterpriseAccountListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountListViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class EnterpriseAccountExtendedListViewModel extends EnterpriseAccountListViewModel implements IEnterpriseAccountExtendedListViewModel {\r\n plan!: EnterpriseAccountPlan;\r\n status!: EnterpriseAccountStatus;\r\n demandType!: EnterpriseDemandType;\r\n classification!: EnterpriseClassification;\r\n totalAvailableMarket!: number | undefined;\r\n serviceableAvailableMarket!: number | undefined;\r\n currentlyAddressableMarket!: number | undefined;\r\n\r\n constructor(data?: IEnterpriseAccountExtendedListViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"EnterpriseAccountExtendedListViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.plan = _data[\"plan\"];\r\n this.status = _data[\"status\"];\r\n this.demandType = _data[\"demandType\"];\r\n this.classification = _data[\"classification\"];\r\n this.totalAvailableMarket = _data[\"totalAvailableMarket\"];\r\n this.serviceableAvailableMarket = _data[\"serviceableAvailableMarket\"];\r\n this.currentlyAddressableMarket = _data[\"currentlyAddressableMarket\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountExtendedListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountExtendedListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"plan\"] = this.plan;\r\n data[\"status\"] = this.status;\r\n data[\"demandType\"] = this.demandType;\r\n data[\"classification\"] = this.classification;\r\n data[\"totalAvailableMarket\"] = this.totalAvailableMarket;\r\n data[\"serviceableAvailableMarket\"] = this.serviceableAvailableMarket;\r\n data[\"currentlyAddressableMarket\"] = this.currentlyAddressableMarket;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountExtendedListViewModel extends IEnterpriseAccountListViewModel {\r\n plan: EnterpriseAccountPlan;\r\n status: EnterpriseAccountStatus;\r\n demandType: EnterpriseDemandType;\r\n classification: EnterpriseClassification;\r\n totalAvailableMarket: number | undefined;\r\n serviceableAvailableMarket: number | undefined;\r\n currentlyAddressableMarket: number | undefined;\r\n}\r\n\r\n/** 0 = Basic 1 = Plus 2 = Premium 3 = PremiumPilot 4 = Team 5 = Business 6 = Enterprise */\r\nexport enum EnterpriseAccountPlan {\r\n Basic = 0,\r\n Plus = 1,\r\n Premium = 2,\r\n PremiumPilot = 3,\r\n Team = 4,\r\n Business = 5,\r\n Enterprise = 6,\r\n}\r\n\r\n/** 0 = Demo 1 = Proposed 2 = Setup 3 = Active 4 = Inactive 5 = Suspended 6 = Retired 7 = Pilot */\r\nexport enum EnterpriseAccountStatus {\r\n Demo = 0,\r\n Proposed = 1,\r\n Setup = 2,\r\n Active = 3,\r\n Inactive = 4,\r\n Suspended = 5,\r\n Retired = 6,\r\n Pilot = 7,\r\n}\r\n\r\n/** 0 = Unknown 1 = OnDemand 2 = Dedicated 3 = OnDemandAndDedicated */\r\nexport enum EnterpriseDemandType {\r\n Unknown = 0,\r\n OnDemand = 1,\r\n Dedicated = 2,\r\n OnDemandAndDedicated = 3,\r\n}\r\n\r\n/** 0 = Unknown 1 = Tier1 2 = Tier2 3 = Tier3 4 = Tier4 */\r\nexport enum EnterpriseClassification {\r\n Unknown = 0,\r\n Tier1 = 1,\r\n Tier2 = 2,\r\n Tier3 = 3,\r\n Tier4 = 4,\r\n}\r\n\r\nexport class TeamInfoViewModel implements ITeamInfoViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n ownerName!: string | undefined;\r\n modifiedDate!: string | undefined;\r\n memberCount!: number;\r\n isActive!: boolean;\r\n\r\n constructor(data?: ITeamInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.ownerName = _data[\"ownerName\"];\r\n this.modifiedDate = _data[\"modifiedDate\"];\r\n this.memberCount = _data[\"memberCount\"];\r\n this.isActive = _data[\"isActive\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"ownerName\"] = this.ownerName;\r\n data[\"modifiedDate\"] = this.modifiedDate;\r\n data[\"memberCount\"] = this.memberCount;\r\n data[\"isActive\"] = this.isActive;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamInfoViewModel {\r\n id: string;\r\n name: string | undefined;\r\n ownerName: string | undefined;\r\n modifiedDate: string | undefined;\r\n memberCount: number;\r\n isActive: boolean;\r\n}\r\n\r\nexport class TeamListItemViewModel implements ITeamListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: ITeamListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class AccountModel implements IAccountModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n contactName!: string | undefined;\r\n contactEmail!: string | undefined;\r\n simpleAddress1!: string | undefined;\r\n simpleAddress2!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n zip!: string | undefined;\r\n country!: string | undefined;\r\n salesRepEmail!: string | undefined;\r\n liquidSpaceAccountManager!: string | undefined;\r\n status!: EnterpriseAccountStatus;\r\n\r\n constructor(data?: IAccountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.simpleAddress1 = _data[\"simpleAddress1\"];\r\n this.simpleAddress2 = _data[\"simpleAddress2\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.country = _data[\"country\"];\r\n this.salesRepEmail = _data[\"salesRepEmail\"];\r\n this.liquidSpaceAccountManager = _data[\"liquidSpaceAccountManager\"];\r\n this.status = _data[\"status\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AccountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AccountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"simpleAddress1\"] = this.simpleAddress1;\r\n data[\"simpleAddress2\"] = this.simpleAddress2;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"country\"] = this.country;\r\n data[\"salesRepEmail\"] = this.salesRepEmail;\r\n data[\"liquidSpaceAccountManager\"] = this.liquidSpaceAccountManager;\r\n data[\"status\"] = this.status;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAccountModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n contactName: string | undefined;\r\n contactEmail: string | undefined;\r\n simpleAddress1: string | undefined;\r\n simpleAddress2: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n country: string | undefined;\r\n salesRepEmail: string | undefined;\r\n liquidSpaceAccountManager: string | undefined;\r\n status: EnterpriseAccountStatus;\r\n}\r\n\r\nexport class EnterpriseAccountSettingsModel implements IEnterpriseAccountSettingsModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n contactName!: string | undefined;\r\n contactEmail!: string | undefined;\r\n simpleAddress1!: string | undefined;\r\n simpleAddress2!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n zip!: string | undefined;\r\n country!: string | undefined;\r\n status!: EnterpriseAccountStatus;\r\n salesRepEmail!: string;\r\n liquidSpaceAccountManager!: string | undefined;\r\n liquidSpaceTransactionManager!: string | undefined;\r\n securityContact!: string | undefined;\r\n plan!: EnterpriseAccountPlan;\r\n classification!: EnterpriseClassification;\r\n memberLimit!: number;\r\n teamLimit!: number;\r\n activeDate!: string | undefined;\r\n subscriptionCost!: string | undefined;\r\n subscriptionTerm!: number | undefined;\r\n socialActivityEnabled!: boolean;\r\n socialCollaborationPortalEnabled!: boolean;\r\n enhancedReservationRemindersEnabled!: boolean;\r\n emailDomains!: string | undefined;\r\n totalAvailableMarket!: number | undefined;\r\n serviceableAvailableMarket!: number | undefined;\r\n currentlyAddressableMarket!: number | undefined;\r\n demandType!: EnterpriseDemandType;\r\n isMarketplaceAccount!: boolean;\r\n displayExtendedNetwork!: DisplayExtendedNetwork;\r\n campaignOptions!: CampaignOptionsModel;\r\n financeContacts!: string[];\r\n billingPeriod!: EnterpriseAccountBillingPeriod;\r\n platformFee!: number | undefined;\r\n userFee!: number | undefined;\r\n enableBilling!: boolean;\r\n billingStartDate!: string | undefined;\r\n billingEndDate!: string | undefined;\r\n liquidSpaceTutorials!: boolean;\r\n purchaseOrderNumber!: string | undefined;\r\n serviceChargeEnabled!: boolean;\r\n enableWireTransferPayments!: boolean;\r\n marketplaceInvoiceStatus!: InvoiceGenerationStatus;\r\n marketplaceEffectiveDate!: string | undefined;\r\n marketplaceTargetBalance!: number | undefined;\r\n marketplacePaymentTerm!: PaymentTerm;\r\n financeNotesInternal!: string | undefined;\r\n billingPaymentTerm!: PaymentTerm | undefined;\r\n customerProfileId!: string | undefined;\r\n\r\n constructor(data?: IEnterpriseAccountSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.contactName = _data[\"contactName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.simpleAddress1 = _data[\"simpleAddress1\"];\r\n this.simpleAddress2 = _data[\"simpleAddress2\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.country = _data[\"country\"];\r\n this.status = _data[\"status\"];\r\n this.salesRepEmail = _data[\"salesRepEmail\"];\r\n this.liquidSpaceAccountManager = _data[\"liquidSpaceAccountManager\"];\r\n this.liquidSpaceTransactionManager = _data[\"liquidSpaceTransactionManager\"];\r\n this.securityContact = _data[\"securityContact\"];\r\n this.plan = _data[\"plan\"];\r\n this.classification = _data[\"classification\"];\r\n this.memberLimit = _data[\"memberLimit\"];\r\n this.teamLimit = _data[\"teamLimit\"];\r\n this.activeDate = _data[\"activeDate\"];\r\n this.subscriptionCost = _data[\"subscriptionCost\"];\r\n this.subscriptionTerm = _data[\"subscriptionTerm\"];\r\n this.socialActivityEnabled = _data[\"socialActivityEnabled\"];\r\n this.socialCollaborationPortalEnabled = _data[\"socialCollaborationPortalEnabled\"];\r\n this.enhancedReservationRemindersEnabled = _data[\"enhancedReservationRemindersEnabled\"];\r\n this.emailDomains = _data[\"emailDomains\"];\r\n this.totalAvailableMarket = _data[\"totalAvailableMarket\"];\r\n this.serviceableAvailableMarket = _data[\"serviceableAvailableMarket\"];\r\n this.currentlyAddressableMarket = _data[\"currentlyAddressableMarket\"];\r\n this.demandType = _data[\"demandType\"];\r\n this.isMarketplaceAccount = _data[\"isMarketplaceAccount\"];\r\n this.displayExtendedNetwork = _data[\"displayExtendedNetwork\"];\r\n this.campaignOptions = _data[\"campaignOptions\"] ? CampaignOptionsModel.fromJS(_data[\"campaignOptions\"]) : undefined;\r\n if (Array.isArray(_data[\"financeContacts\"])) {\r\n this.financeContacts = [] as any;\r\n for (let item of _data[\"financeContacts\"])\r\n this.financeContacts!.push(item);\r\n }\r\n this.billingPeriod = _data[\"billingPeriod\"];\r\n this.platformFee = _data[\"platformFee\"];\r\n this.userFee = _data[\"userFee\"];\r\n this.enableBilling = _data[\"enableBilling\"];\r\n this.billingStartDate = _data[\"billingStartDate\"];\r\n this.billingEndDate = _data[\"billingEndDate\"];\r\n this.liquidSpaceTutorials = _data[\"liquidSpaceTutorials\"];\r\n this.purchaseOrderNumber = _data[\"purchaseOrderNumber\"];\r\n this.serviceChargeEnabled = _data[\"serviceChargeEnabled\"];\r\n this.enableWireTransferPayments = _data[\"enableWireTransferPayments\"];\r\n this.marketplaceInvoiceStatus = _data[\"marketplaceInvoiceStatus\"];\r\n this.marketplaceEffectiveDate = _data[\"marketplaceEffectiveDate\"];\r\n this.marketplaceTargetBalance = _data[\"marketplaceTargetBalance\"];\r\n this.marketplacePaymentTerm = _data[\"marketplacePaymentTerm\"];\r\n this.financeNotesInternal = _data[\"financeNotesInternal\"];\r\n this.billingPaymentTerm = _data[\"billingPaymentTerm\"];\r\n this.customerProfileId = _data[\"customerProfileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"contactName\"] = this.contactName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"simpleAddress1\"] = this.simpleAddress1;\r\n data[\"simpleAddress2\"] = this.simpleAddress2;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"country\"] = this.country;\r\n data[\"status\"] = this.status;\r\n data[\"salesRepEmail\"] = this.salesRepEmail;\r\n data[\"liquidSpaceAccountManager\"] = this.liquidSpaceAccountManager;\r\n data[\"liquidSpaceTransactionManager\"] = this.liquidSpaceTransactionManager;\r\n data[\"securityContact\"] = this.securityContact;\r\n data[\"plan\"] = this.plan;\r\n data[\"classification\"] = this.classification;\r\n data[\"memberLimit\"] = this.memberLimit;\r\n data[\"teamLimit\"] = this.teamLimit;\r\n data[\"activeDate\"] = this.activeDate;\r\n data[\"subscriptionCost\"] = this.subscriptionCost;\r\n data[\"subscriptionTerm\"] = this.subscriptionTerm;\r\n data[\"socialActivityEnabled\"] = this.socialActivityEnabled;\r\n data[\"socialCollaborationPortalEnabled\"] = this.socialCollaborationPortalEnabled;\r\n data[\"enhancedReservationRemindersEnabled\"] = this.enhancedReservationRemindersEnabled;\r\n data[\"emailDomains\"] = this.emailDomains;\r\n data[\"totalAvailableMarket\"] = this.totalAvailableMarket;\r\n data[\"serviceableAvailableMarket\"] = this.serviceableAvailableMarket;\r\n data[\"currentlyAddressableMarket\"] = this.currentlyAddressableMarket;\r\n data[\"demandType\"] = this.demandType;\r\n data[\"isMarketplaceAccount\"] = this.isMarketplaceAccount;\r\n data[\"displayExtendedNetwork\"] = this.displayExtendedNetwork;\r\n data[\"campaignOptions\"] = this.campaignOptions ? this.campaignOptions.toJSON() : undefined;\r\n if (Array.isArray(this.financeContacts)) {\r\n data[\"financeContacts\"] = [];\r\n for (let item of this.financeContacts)\r\n data[\"financeContacts\"].push(item);\r\n }\r\n data[\"billingPeriod\"] = this.billingPeriod;\r\n data[\"platformFee\"] = this.platformFee;\r\n data[\"userFee\"] = this.userFee;\r\n data[\"enableBilling\"] = this.enableBilling;\r\n data[\"billingStartDate\"] = this.billingStartDate;\r\n data[\"billingEndDate\"] = this.billingEndDate;\r\n data[\"liquidSpaceTutorials\"] = this.liquidSpaceTutorials;\r\n data[\"purchaseOrderNumber\"] = this.purchaseOrderNumber;\r\n data[\"serviceChargeEnabled\"] = this.serviceChargeEnabled;\r\n data[\"enableWireTransferPayments\"] = this.enableWireTransferPayments;\r\n data[\"marketplaceInvoiceStatus\"] = this.marketplaceInvoiceStatus;\r\n data[\"marketplaceEffectiveDate\"] = this.marketplaceEffectiveDate;\r\n data[\"marketplaceTargetBalance\"] = this.marketplaceTargetBalance;\r\n data[\"marketplacePaymentTerm\"] = this.marketplacePaymentTerm;\r\n data[\"financeNotesInternal\"] = this.financeNotesInternal;\r\n data[\"billingPaymentTerm\"] = this.billingPaymentTerm;\r\n data[\"customerProfileId\"] = this.customerProfileId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountSettingsModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n contactName: string | undefined;\r\n contactEmail: string | undefined;\r\n simpleAddress1: string | undefined;\r\n simpleAddress2: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n country: string | undefined;\r\n status: EnterpriseAccountStatus;\r\n salesRepEmail: string;\r\n liquidSpaceAccountManager: string | undefined;\r\n liquidSpaceTransactionManager: string | undefined;\r\n securityContact: string | undefined;\r\n plan: EnterpriseAccountPlan;\r\n classification: EnterpriseClassification;\r\n memberLimit: number;\r\n teamLimit: number;\r\n activeDate: string | undefined;\r\n subscriptionCost: string | undefined;\r\n subscriptionTerm: number | undefined;\r\n socialActivityEnabled: boolean;\r\n socialCollaborationPortalEnabled: boolean;\r\n enhancedReservationRemindersEnabled: boolean;\r\n emailDomains: string | undefined;\r\n totalAvailableMarket: number | undefined;\r\n serviceableAvailableMarket: number | undefined;\r\n currentlyAddressableMarket: number | undefined;\r\n demandType: EnterpriseDemandType;\r\n isMarketplaceAccount: boolean;\r\n displayExtendedNetwork: DisplayExtendedNetwork;\r\n campaignOptions: CampaignOptionsModel;\r\n financeContacts: string[];\r\n billingPeriod: EnterpriseAccountBillingPeriod;\r\n platformFee: number | undefined;\r\n userFee: number | undefined;\r\n enableBilling: boolean;\r\n billingStartDate: string | undefined;\r\n billingEndDate: string | undefined;\r\n liquidSpaceTutorials: boolean;\r\n purchaseOrderNumber: string | undefined;\r\n serviceChargeEnabled: boolean;\r\n enableWireTransferPayments: boolean;\r\n marketplaceInvoiceStatus: InvoiceGenerationStatus;\r\n marketplaceEffectiveDate: string | undefined;\r\n marketplaceTargetBalance: number | undefined;\r\n marketplacePaymentTerm: PaymentTerm;\r\n financeNotesInternal: string | undefined;\r\n billingPaymentTerm: PaymentTerm | undefined;\r\n customerProfileId: string | undefined;\r\n}\r\n\r\n/** 0 = None 1 = OnDemand 2 = Dedicated 3 = Both */\r\nexport enum DisplayExtendedNetwork {\r\n None = 0,\r\n OnDemand = 1,\r\n Dedicated = 2,\r\n Both = 3,\r\n}\r\n\r\nexport class CampaignOptionsModel implements ICampaignOptionsModel {\r\n campaignVideoEnabled!: boolean;\r\n loomVideoUrl!: string | undefined;\r\n\r\n constructor(data?: ICampaignOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.campaignVideoEnabled = _data[\"campaignVideoEnabled\"];\r\n this.loomVideoUrl = _data[\"loomVideoUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CampaignOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CampaignOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"campaignVideoEnabled\"] = this.campaignVideoEnabled;\r\n data[\"loomVideoUrl\"] = this.loomVideoUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICampaignOptionsModel {\r\n campaignVideoEnabled: boolean;\r\n loomVideoUrl: string | undefined;\r\n}\r\n\r\n/** 0 = Monthly 1 = Annual */\r\nexport enum EnterpriseAccountBillingPeriod {\r\n Monthly = 0,\r\n Annual = 1,\r\n}\r\n\r\n/** 0 = Net15 1 = Net30 2 = Net45 3 = Net60 */\r\nexport enum PaymentTerm {\r\n Net15 = 0,\r\n Net30 = 1,\r\n Net45 = 2,\r\n Net60 = 3,\r\n}\r\n\r\nexport class EventHistoryModel implements IEventHistoryModel {\r\n id!: string;\r\n typedObjectId!: string;\r\n type!: EventHistoryType;\r\n state!: EventHistoryState;\r\n created!: string;\r\n message!: string;\r\n authorEmail!: string | undefined;\r\n\r\n constructor(data?: IEventHistoryModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.typedObjectId = _data[\"typedObjectId\"];\r\n this.type = _data[\"type\"];\r\n this.state = _data[\"state\"];\r\n this.created = _data[\"created\"];\r\n this.message = _data[\"message\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EventHistoryModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EventHistoryModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"typedObjectId\"] = this.typedObjectId;\r\n data[\"type\"] = this.type;\r\n data[\"state\"] = this.state;\r\n data[\"created\"] = this.created;\r\n data[\"message\"] = this.message;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEventHistoryModel {\r\n id: string;\r\n typedObjectId: string;\r\n type: EventHistoryType;\r\n state: EventHistoryState;\r\n created: string;\r\n message: string;\r\n authorEmail: string | undefined;\r\n}\r\n\r\n/** 0 = Member 1 = Venue 2 = EnterpriseAccount */\r\nexport enum EventHistoryType {\r\n Member = 0,\r\n Venue = 1,\r\n EnterpriseAccount = 2,\r\n}\r\n\r\n/** 0 = Note 1 = StatusChange 2 = EventEdited 3 = EventDeleted 4 = MembershipStatusChange 5 = LiquidspaceProStatusChange 6 = AccountCreated 7 = AccountEdited 8 = AdminAdded 9 = AdminRemoved 10 = VideoWatchedInterested 11 = VideoWatchedNotInterested */\r\nexport enum EventHistoryState {\r\n Note = 0,\r\n StatusChange = 1,\r\n EventEdited = 2,\r\n EventDeleted = 3,\r\n MembershipStatusChange = 4,\r\n LiquidspaceProStatusChange = 5,\r\n AccountCreated = 6,\r\n AccountEdited = 7,\r\n AdminAdded = 8,\r\n AdminRemoved = 9,\r\n VideoWatchedInterested = 10,\r\n VideoWatchedNotInterested = 11,\r\n}\r\n\r\nexport class EnterpriseAccountHeadquarterViewModel implements IEnterpriseAccountHeadquarterViewModel {\r\n name!: string;\r\n venueId!: string;\r\n geofence!: GeofenceViewModel;\r\n customCTA!: CustomCTAViewModel;\r\n\r\n constructor(data?: IEnterpriseAccountHeadquarterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.geofence = _data[\"geofence\"] ? GeofenceViewModel.fromJS(_data[\"geofence\"]) : undefined;\r\n this.customCTA = _data[\"customCTA\"] ? CustomCTAViewModel.fromJS(_data[\"customCTA\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseAccountHeadquarterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseAccountHeadquarterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"geofence\"] = this.geofence ? this.geofence.toJSON() : undefined;\r\n data[\"customCTA\"] = this.customCTA ? this.customCTA.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseAccountHeadquarterViewModel {\r\n name: string;\r\n venueId: string;\r\n geofence: GeofenceViewModel;\r\n customCTA: CustomCTAViewModel;\r\n}\r\n\r\nexport class GeofenceViewModel implements IGeofenceViewModel {\r\n enabled!: boolean;\r\n radiusMiles!: number;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IGeofenceViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.radiusMiles = _data[\"radiusMiles\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeofenceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeofenceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"radiusMiles\"] = this.radiusMiles;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeofenceViewModel {\r\n enabled: boolean;\r\n radiusMiles: number;\r\n message: string | undefined;\r\n}\r\n\r\nexport class CustomCTAViewModel implements ICustomCTAViewModel {\r\n enabled!: boolean;\r\n text!: string | undefined;\r\n url!: string | undefined;\r\n\r\n constructor(data?: ICustomCTAViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.text = _data[\"text\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CustomCTAViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CustomCTAViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"text\"] = this.text;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICustomCTAViewModel {\r\n enabled: boolean;\r\n text: string | undefined;\r\n url: string | undefined;\r\n}\r\n\r\nexport class TeamMemberInfoViewModel implements ITeamMemberInfoViewModel {\r\n memberId!: string;\r\n fullName!: string;\r\n email!: string;\r\n created!: string | undefined;\r\n notes!: string;\r\n status!: EnterpriseAccountInvitationStatus;\r\n teamId!: string;\r\n teamName!: string;\r\n homeBase!: string | undefined;\r\n isSuspended!: boolean;\r\n\r\n constructor(data?: ITeamMemberInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.created = _data[\"created\"];\r\n this.notes = _data[\"notes\"];\r\n this.status = _data[\"status\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n this.homeBase = _data[\"homeBase\"];\r\n this.isSuspended = _data[\"isSuspended\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"created\"] = this.created;\r\n data[\"notes\"] = this.notes;\r\n data[\"status\"] = this.status;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n data[\"homeBase\"] = this.homeBase;\r\n data[\"isSuspended\"] = this.isSuspended;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberInfoViewModel {\r\n memberId: string;\r\n fullName: string;\r\n email: string;\r\n created: string | undefined;\r\n notes: string;\r\n status: EnterpriseAccountInvitationStatus;\r\n teamId: string;\r\n teamName: string;\r\n homeBase: string | undefined;\r\n isSuspended: boolean;\r\n}\r\n\r\n/** 0 = None 1 = Invited 2 = Active 3 = Suspended 4 = Removed 5 = Pending */\r\nexport enum EnterpriseAccountInvitationStatus {\r\n None = 0,\r\n Invited = 1,\r\n Active = 2,\r\n Suspended = 3,\r\n Removed = 4,\r\n Pending = 5,\r\n}\r\n\r\nexport class TeamMemberViewModel implements ITeamMemberViewModel {\r\n id!: string;\r\n fullName!: string;\r\n email!: string | undefined;\r\n createdDate!: string | undefined;\r\n notes!: string | undefined;\r\n status!: EnterpriseAccountInvitationStatus;\r\n memberGroupStatus!: MemberGroupInvitationStatus;\r\n title!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n geoCity!: string | undefined;\r\n geoCountry!: string | undefined;\r\n picture!: string | undefined;\r\n team!: string | undefined;\r\n externalAccountId!: string | undefined;\r\n costCenter!: string | undefined;\r\n company!: string | undefined;\r\n teamId!: string;\r\n joinedDate!: string | undefined;\r\n lastActivityDate!: string | undefined;\r\n locations!: OnDemandLocationViewModel[];\r\n extendedSearchOptions!: ExtendedSearchOptionsModel | undefined;\r\n searchSettings!: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n country!: string | undefined;\r\n\r\n constructor(data?: ITeamMemberViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n this.notes = _data[\"notes\"];\r\n this.status = _data[\"status\"];\r\n this.memberGroupStatus = _data[\"memberGroupStatus\"];\r\n this.title = _data[\"title\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.geoCity = _data[\"geoCity\"];\r\n this.geoCountry = _data[\"geoCountry\"];\r\n this.picture = _data[\"picture\"];\r\n this.team = _data[\"team\"];\r\n this.externalAccountId = _data[\"externalAccountId\"];\r\n this.costCenter = _data[\"costCenter\"];\r\n this.company = _data[\"company\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.joinedDate = _data[\"joinedDate\"];\r\n this.lastActivityDate = _data[\"lastActivityDate\"];\r\n if (Array.isArray(_data[\"locations\"])) {\r\n this.locations = [] as any;\r\n for (let item of _data[\"locations\"])\r\n this.locations!.push(OnDemandLocationViewModel.fromJS(item));\r\n }\r\n this.extendedSearchOptions = _data[\"extendedSearchOptions\"] ? ExtendedSearchOptionsModel.fromJS(_data[\"extendedSearchOptions\"]) : undefined;\r\n if (_data[\"searchSettings\"]) {\r\n this.searchSettings = {} as any;\r\n for (let key in _data[\"searchSettings\"]) {\r\n if (_data[\"searchSettings\"].hasOwnProperty(key))\r\n (this.searchSettings)![key] = _data[\"searchSettings\"][key];\r\n }\r\n }\r\n this.country = _data[\"country\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"createdDate\"] = this.createdDate;\r\n data[\"notes\"] = this.notes;\r\n data[\"status\"] = this.status;\r\n data[\"memberGroupStatus\"] = this.memberGroupStatus;\r\n data[\"title\"] = this.title;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"geoCity\"] = this.geoCity;\r\n data[\"geoCountry\"] = this.geoCountry;\r\n data[\"picture\"] = this.picture;\r\n data[\"team\"] = this.team;\r\n data[\"externalAccountId\"] = this.externalAccountId;\r\n data[\"costCenter\"] = this.costCenter;\r\n data[\"company\"] = this.company;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"joinedDate\"] = this.joinedDate;\r\n data[\"lastActivityDate\"] = this.lastActivityDate;\r\n if (Array.isArray(this.locations)) {\r\n data[\"locations\"] = [];\r\n for (let item of this.locations)\r\n data[\"locations\"].push(item.toJSON());\r\n }\r\n data[\"extendedSearchOptions\"] = this.extendedSearchOptions ? this.extendedSearchOptions.toJSON() : undefined;\r\n if (this.searchSettings) {\r\n data[\"searchSettings\"] = {};\r\n for (let key in this.searchSettings) {\r\n if (this.searchSettings.hasOwnProperty(key))\r\n (data[\"searchSettings\"])[key] = (this.searchSettings)[key];\r\n }\r\n }\r\n data[\"country\"] = this.country;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberViewModel {\r\n id: string;\r\n fullName: string;\r\n email: string | undefined;\r\n createdDate: string | undefined;\r\n notes: string | undefined;\r\n status: EnterpriseAccountInvitationStatus;\r\n memberGroupStatus: MemberGroupInvitationStatus;\r\n title: string | undefined;\r\n phoneNumber: string | undefined;\r\n geoCity: string | undefined;\r\n geoCountry: string | undefined;\r\n picture: string | undefined;\r\n team: string | undefined;\r\n externalAccountId: string | undefined;\r\n costCenter: string | undefined;\r\n company: string | undefined;\r\n teamId: string;\r\n joinedDate: string | undefined;\r\n lastActivityDate: string | undefined;\r\n locations: OnDemandLocationViewModel[];\r\n extendedSearchOptions: ExtendedSearchOptionsModel | undefined;\r\n searchSettings: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n country: string | undefined;\r\n}\r\n\r\n/** 0 = Pending 1 = Active -1 = None */\r\nexport enum MemberGroupInvitationStatus {\r\n Pending = 0,\r\n Active = 1,\r\n None = -1,\r\n}\r\n\r\nexport class OnDemandLocationViewModel implements IOnDemandLocationViewModel {\r\n locationType!: EnterpriseLocationType;\r\n id!: string;\r\n description!: string;\r\n locationId!: string;\r\n name!: string;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n isGeofenceEnabled!: boolean;\r\n geofenceRadiusMiles!: number | undefined;\r\n\r\n constructor(data?: IOnDemandLocationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.locationType = _data[\"locationType\"];\r\n this.id = _data[\"id\"];\r\n this.description = _data[\"description\"];\r\n this.locationId = _data[\"locationId\"];\r\n this.name = _data[\"name\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.isGeofenceEnabled = _data[\"isGeofenceEnabled\"];\r\n this.geofenceRadiusMiles = _data[\"geofenceRadiusMiles\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OnDemandLocationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OnDemandLocationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"locationType\"] = this.locationType;\r\n data[\"id\"] = this.id;\r\n data[\"description\"] = this.description;\r\n data[\"locationId\"] = this.locationId;\r\n data[\"name\"] = this.name;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"isGeofenceEnabled\"] = this.isGeofenceEnabled;\r\n data[\"geofenceRadiusMiles\"] = this.geofenceRadiusMiles;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOnDemandLocationViewModel {\r\n locationType: EnterpriseLocationType;\r\n id: string;\r\n description: string;\r\n locationId: string;\r\n name: string;\r\n city: string | undefined;\r\n state: string | undefined;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n isGeofenceEnabled: boolean;\r\n geofenceRadiusMiles: number | undefined;\r\n}\r\n\r\n/** 0 = Headquarter 1 = PreferredLocations */\r\nexport enum EnterpriseLocationType {\r\n Headquarter = 0,\r\n PreferredLocations = 1,\r\n}\r\n\r\nexport class ExtendedSearchOptionsModel implements IExtendedSearchOptionsModel {\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n spaceTypes!: SpaceType;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n liquidSpacePro!: boolean;\r\n immutableOptions!: ForceableExtendedSearchOptionsProperties[];\r\n location!: string | undefined;\r\n workspaceCapacity!: number | undefined;\r\n reservationLengthMinutes!: number | undefined;\r\n startTime!: string | undefined;\r\n hourlySpaceTypesWithoutTrainingArray!: SpaceType[];\r\n monthlySpaceTypesWithoutDesksArray!: SpaceType[];\r\n\r\n constructor(data?: IExtendedSearchOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.liquidSpacePro = _data[\"liquidSpacePro\"];\r\n if (Array.isArray(_data[\"immutableOptions\"])) {\r\n this.immutableOptions = [] as any;\r\n for (let item of _data[\"immutableOptions\"])\r\n this.immutableOptions!.push(item);\r\n }\r\n this.location = _data[\"location\"];\r\n this.workspaceCapacity = _data[\"workspaceCapacity\"];\r\n this.reservationLengthMinutes = _data[\"reservationLengthMinutes\"];\r\n this.startTime = _data[\"startTime\"];\r\n if (Array.isArray(_data[\"hourlySpaceTypesWithoutTrainingArray\"])) {\r\n this.hourlySpaceTypesWithoutTrainingArray = [] as any;\r\n for (let item of _data[\"hourlySpaceTypesWithoutTrainingArray\"])\r\n this.hourlySpaceTypesWithoutTrainingArray!.push(item);\r\n }\r\n if (Array.isArray(_data[\"monthlySpaceTypesWithoutDesksArray\"])) {\r\n this.monthlySpaceTypesWithoutDesksArray = [] as any;\r\n for (let item of _data[\"monthlySpaceTypesWithoutDesksArray\"])\r\n this.monthlySpaceTypesWithoutDesksArray!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtendedSearchOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtendedSearchOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"liquidSpacePro\"] = this.liquidSpacePro;\r\n if (Array.isArray(this.immutableOptions)) {\r\n data[\"immutableOptions\"] = [];\r\n for (let item of this.immutableOptions)\r\n data[\"immutableOptions\"].push(item);\r\n }\r\n data[\"location\"] = this.location;\r\n data[\"workspaceCapacity\"] = this.workspaceCapacity;\r\n data[\"reservationLengthMinutes\"] = this.reservationLengthMinutes;\r\n data[\"startTime\"] = this.startTime;\r\n if (Array.isArray(this.hourlySpaceTypesWithoutTrainingArray)) {\r\n data[\"hourlySpaceTypesWithoutTrainingArray\"] = [];\r\n for (let item of this.hourlySpaceTypesWithoutTrainingArray)\r\n data[\"hourlySpaceTypesWithoutTrainingArray\"].push(item);\r\n }\r\n if (Array.isArray(this.monthlySpaceTypesWithoutDesksArray)) {\r\n data[\"monthlySpaceTypesWithoutDesksArray\"] = [];\r\n for (let item of this.monthlySpaceTypesWithoutDesksArray)\r\n data[\"monthlySpaceTypesWithoutDesksArray\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtendedSearchOptionsModel {\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n spaceTypes: SpaceType;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n liquidSpacePro: boolean;\r\n immutableOptions: ForceableExtendedSearchOptionsProperties[];\r\n location: string | undefined;\r\n workspaceCapacity: number | undefined;\r\n reservationLengthMinutes: number | undefined;\r\n startTime: string | undefined;\r\n hourlySpaceTypesWithoutTrainingArray: SpaceType[];\r\n monthlySpaceTypesWithoutDesksArray: SpaceType[];\r\n}\r\n\r\n/** 0 = ReservationMethod 1 = SpaceTypes 2 = MinPrice 3 = MaxPrice 4 = LiquidSpacePro */\r\nexport enum ForceableExtendedSearchOptionsProperties {\r\n ReservationMethod = 0,\r\n SpaceTypes = 1,\r\n MinPrice = 2,\r\n MaxPrice = 3,\r\n LiquidSpacePro = 4,\r\n}\r\n\r\n/** 0 = PreferredVenue 1 = PreferredVenueImmutableOnSRP 3 = Extended */\r\nexport enum SearchSettingsEnum {\r\n PreferredVenue = 0,\r\n PreferredVenueImmutableOnSRP = 1,\r\n Extended = 3,\r\n}\r\n\r\nexport class MemberAutocomplete implements IMemberAutocomplete {\r\n id!: string;\r\n email!: string;\r\n\r\n constructor(data?: IMemberAutocomplete) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberAutocomplete {\r\n id: string;\r\n email: string;\r\n}\r\n\r\nexport class TeamMemberSpendResponse implements ITeamMemberSpendResponse {\r\n totalUSD!: number;\r\n percentOfMonthlyBudget!: number | undefined;\r\n percentOfMonthlyMemberBudget!: number | undefined;\r\n month!: string;\r\n\r\n constructor(data?: ITeamMemberSpendResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.totalUSD = _data[\"totalUSD\"];\r\n this.percentOfMonthlyBudget = _data[\"percentOfMonthlyBudget\"];\r\n this.percentOfMonthlyMemberBudget = _data[\"percentOfMonthlyMemberBudget\"];\r\n this.month = _data[\"month\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberSpendResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberSpendResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"totalUSD\"] = this.totalUSD;\r\n data[\"percentOfMonthlyBudget\"] = this.percentOfMonthlyBudget;\r\n data[\"percentOfMonthlyMemberBudget\"] = this.percentOfMonthlyMemberBudget;\r\n data[\"month\"] = this.month;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberSpendResponse {\r\n totalUSD: number;\r\n percentOfMonthlyBudget: number | undefined;\r\n percentOfMonthlyMemberBudget: number | undefined;\r\n month: string;\r\n}\r\n\r\nexport class TeamMemberRatingCounters implements ITeamMemberRatingCounters {\r\n count!: number;\r\n average!: number | undefined;\r\n\r\n constructor(data?: ITeamMemberRatingCounters) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.count = _data[\"count\"];\r\n this.average = _data[\"average\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberRatingCounters {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberRatingCounters();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"count\"] = this.count;\r\n data[\"average\"] = this.average;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberRatingCounters {\r\n count: number;\r\n average: number | undefined;\r\n}\r\n\r\nexport class TeamMemberActivity implements ITeamMemberActivity {\r\n createTime!: string;\r\n text!: string | undefined;\r\n id!: string;\r\n\r\n constructor(data?: ITeamMemberActivity) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.createTime = _data[\"createTime\"];\r\n this.text = _data[\"text\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberActivity {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberActivity();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"createTime\"] = this.createTime;\r\n data[\"text\"] = this.text;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberActivity {\r\n createTime: string;\r\n text: string | undefined;\r\n id: string;\r\n}\r\n\r\nexport class TeamMemberBudgetViewModel implements ITeamMemberBudgetViewModel {\r\n originalBudgetSettings!: EnterpriseBudgetSettings;\r\n mergedBudgetSettings!: EnterpriseBudgetSettings;\r\n\r\n constructor(data?: ITeamMemberBudgetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.originalBudgetSettings = _data[\"originalBudgetSettings\"] ? EnterpriseBudgetSettings.fromJS(_data[\"originalBudgetSettings\"]) : undefined;\r\n this.mergedBudgetSettings = _data[\"mergedBudgetSettings\"] ? EnterpriseBudgetSettings.fromJS(_data[\"mergedBudgetSettings\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberBudgetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberBudgetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"originalBudgetSettings\"] = this.originalBudgetSettings ? this.originalBudgetSettings.toJSON() : undefined;\r\n data[\"mergedBudgetSettings\"] = this.mergedBudgetSettings ? this.mergedBudgetSettings.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberBudgetViewModel {\r\n originalBudgetSettings: EnterpriseBudgetSettings;\r\n mergedBudgetSettings: EnterpriseBudgetSettings;\r\n}\r\n\r\nexport class EnterpriseBudgetSettings implements IEnterpriseBudgetSettings {\r\n maxMonthlyTeamBudget!: number | undefined;\r\n maxDailyMemberBudget!: number | undefined;\r\n maxMonthlyMemberBudget!: number | undefined;\r\n allowExceedBudgetLimits!: boolean | undefined;\r\n overridenSettingNames!: string[] | undefined;\r\n\r\n constructor(data?: IEnterpriseBudgetSettings) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maxMonthlyTeamBudget = _data[\"maxMonthlyTeamBudget\"];\r\n this.maxDailyMemberBudget = _data[\"maxDailyMemberBudget\"];\r\n this.maxMonthlyMemberBudget = _data[\"maxMonthlyMemberBudget\"];\r\n this.allowExceedBudgetLimits = _data[\"allowExceedBudgetLimits\"];\r\n if (Array.isArray(_data[\"overridenSettingNames\"])) {\r\n this.overridenSettingNames = [] as any;\r\n for (let item of _data[\"overridenSettingNames\"])\r\n this.overridenSettingNames!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseBudgetSettings {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseBudgetSettings();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maxMonthlyTeamBudget\"] = this.maxMonthlyTeamBudget;\r\n data[\"maxDailyMemberBudget\"] = this.maxDailyMemberBudget;\r\n data[\"maxMonthlyMemberBudget\"] = this.maxMonthlyMemberBudget;\r\n data[\"allowExceedBudgetLimits\"] = this.allowExceedBudgetLimits;\r\n if (Array.isArray(this.overridenSettingNames)) {\r\n data[\"overridenSettingNames\"] = [];\r\n for (let item of this.overridenSettingNames)\r\n data[\"overridenSettingNames\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseBudgetSettings {\r\n maxMonthlyTeamBudget: number | undefined;\r\n maxDailyMemberBudget: number | undefined;\r\n maxMonthlyMemberBudget: number | undefined;\r\n allowExceedBudgetLimits: boolean | undefined;\r\n overridenSettingNames: string[] | undefined;\r\n}\r\n\r\nexport class EnterpriseBudgetSettingsViewModel implements IEnterpriseBudgetSettingsViewModel {\r\n maxDailyMemberBudget!: number | undefined;\r\n maxMonthlyMemberBudget!: number | undefined;\r\n allowExceedBudgetLimits!: boolean | undefined;\r\n\r\n constructor(data?: IEnterpriseBudgetSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.maxDailyMemberBudget = _data[\"maxDailyMemberBudget\"];\r\n this.maxMonthlyMemberBudget = _data[\"maxMonthlyMemberBudget\"];\r\n this.allowExceedBudgetLimits = _data[\"allowExceedBudgetLimits\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EnterpriseBudgetSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EnterpriseBudgetSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"maxDailyMemberBudget\"] = this.maxDailyMemberBudget;\r\n data[\"maxMonthlyMemberBudget\"] = this.maxMonthlyMemberBudget;\r\n data[\"allowExceedBudgetLimits\"] = this.allowExceedBudgetLimits;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEnterpriseBudgetSettingsViewModel {\r\n maxDailyMemberBudget: number | undefined;\r\n maxMonthlyMemberBudget: number | undefined;\r\n allowExceedBudgetLimits: boolean | undefined;\r\n}\r\n\r\nexport class PaymentProfileSettingsViewModel implements IPaymentProfileSettingsViewModel {\r\n enable!: boolean;\r\n paymentProfileId!: string | undefined;\r\n\r\n constructor(data?: IPaymentProfileSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enable = _data[\"enable\"];\r\n this.paymentProfileId = _data[\"paymentProfileId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PaymentProfileSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PaymentProfileSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enable\"] = this.enable;\r\n data[\"paymentProfileId\"] = this.paymentProfileId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPaymentProfileSettingsViewModel {\r\n enable: boolean;\r\n paymentProfileId: string | undefined;\r\n}\r\n\r\nexport class 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 integrationReferences!: ReservationIntegrationReferences | undefined;\r\n\r\n constructor(data?: IBaseReservationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.idForLink = _data[\"idForLink\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n this.applyDate = _data[\"applyDate\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.endTime = _data[\"endTime\"];\r\n this.quantity = _data[\"quantity\"];\r\n this.term = _data[\"term\"];\r\n this.finishDate = _data[\"finishDate\"];\r\n this.recurrencePattern = _data[\"recurrencePattern\"];\r\n if (Array.isArray(_data[\"recurrenceExcludedDates\"])) {\r\n this.recurrenceExcludedDates = [] as any;\r\n for (let item of _data[\"recurrenceExcludedDates\"])\r\n this.recurrenceExcludedDates!.push(item);\r\n }\r\n this.status = _data[\"status\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.reservationState = _data[\"reservationState\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.organizer = _data[\"organizer\"] ? ReservationMemberViewModel.fromJS(_data[\"organizer\"]) : undefined;\r\n this.title = _data[\"title\"];\r\n this.cancellationPolicy = _data[\"cancellationPolicy\"];\r\n if (Array.isArray(_data[\"amenities\"])) {\r\n this.amenities = [] as any;\r\n for (let item of _data[\"amenities\"])\r\n this.amenities!.push(VenueAmenityViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"invitees\"])) {\r\n this.invitees = [] as any;\r\n for (let item of _data[\"invitees\"])\r\n this.invitees!.push(ReservationMaybeMemberViewModel.fromJS(item));\r\n }\r\n this.reservationOperations = _data[\"reservationOperations\"] ? ReservationOperationsAvailability.fromJS(_data[\"reservationOperations\"]) : undefined;\r\n this.price = _data[\"price\"] ? CostInfoModel.fromJS(_data[\"price\"]) : undefined;\r\n this.costSummary = _data[\"costSummary\"] ? CostSummaryViewModel.fromJS(_data[\"costSummary\"]) : undefined;\r\n if (Array.isArray(_data[\"paymentHistory\"])) {\r\n this.paymentHistory = [] as any;\r\n for (let item of _data[\"paymentHistory\"])\r\n this.paymentHistory!.push(PaymentInformationViewModel.fromJS(item));\r\n }\r\n this.paymentMethod = _data[\"paymentMethod\"] ? PaymentMethodDescriptor.fromJS(_data[\"paymentMethod\"]) : undefined;\r\n this.paymentMethodType = _data[\"paymentMethodType\"];\r\n this.promotion = _data[\"promotion\"] ? ReservationPromotion.fromJS(_data[\"promotion\"]) : undefined;\r\n this.venueId = _data[\"venueId\"];\r\n this.venueUrl = _data[\"venueUrl\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.picture = _data[\"picture\"];\r\n this.workspaceCapacity = _data[\"workspaceCapacity\"];\r\n this.workspaceUrl = _data[\"workspaceUrl\"];\r\n this.spaceTypeForCapacity = _data[\"spaceTypeForCapacity\"];\r\n this.hourlyRequestToBook = _data[\"hourlyRequestToBook\"] ? HourlyRequestToBookMemberModel.fromJS(_data[\"hourlyRequestToBook\"]) : undefined;\r\n this.isAutoRenew = _data[\"isAutoRenew\"];\r\n this.notes = _data[\"notes\"];\r\n this.enableWireTransferPayments = _data[\"enableWireTransferPayments\"];\r\n this.integrationReferences = _data[\"integrationReferences\"] ? ReservationIntegrationReferences.fromJS(_data[\"integrationReferences\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): BaseReservationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BaseReservationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"idForLink\"] = this.idForLink;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n data[\"applyDate\"] = this.applyDate;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"endTime\"] = this.endTime;\r\n data[\"quantity\"] = this.quantity;\r\n data[\"term\"] = this.term;\r\n data[\"finishDate\"] = this.finishDate;\r\n data[\"recurrencePattern\"] = this.recurrencePattern;\r\n if (Array.isArray(this.recurrenceExcludedDates)) {\r\n data[\"recurrenceExcludedDates\"] = [];\r\n for (let item of this.recurrenceExcludedDates)\r\n data[\"recurrenceExcludedDates\"].push(item);\r\n }\r\n data[\"status\"] = this.status;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"reservationState\"] = this.reservationState;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"organizer\"] = this.organizer ? this.organizer.toJSON() : undefined;\r\n data[\"title\"] = this.title;\r\n data[\"cancellationPolicy\"] = this.cancellationPolicy;\r\n if (Array.isArray(this.amenities)) {\r\n data[\"amenities\"] = [];\r\n for (let item of this.amenities)\r\n data[\"amenities\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.invitees)) {\r\n data[\"invitees\"] = [];\r\n for (let item of this.invitees)\r\n data[\"invitees\"].push(item.toJSON());\r\n }\r\n data[\"reservationOperations\"] = this.reservationOperations ? this.reservationOperations.toJSON() : undefined;\r\n data[\"price\"] = this.price ? this.price.toJSON() : undefined;\r\n data[\"costSummary\"] = this.costSummary ? this.costSummary.toJSON() : undefined;\r\n if (Array.isArray(this.paymentHistory)) {\r\n data[\"paymentHistory\"] = [];\r\n for (let item of this.paymentHistory)\r\n data[\"paymentHistory\"].push(item.toJSON());\r\n }\r\n data[\"paymentMethod\"] = this.paymentMethod ? this.paymentMethod.toJSON() : undefined;\r\n data[\"paymentMethodType\"] = this.paymentMethodType;\r\n data[\"promotion\"] = this.promotion ? this.promotion.toJSON() : undefined;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueUrl\"] = this.venueUrl;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"picture\"] = this.picture;\r\n data[\"workspaceCapacity\"] = this.workspaceCapacity;\r\n data[\"workspaceUrl\"] = this.workspaceUrl;\r\n data[\"spaceTypeForCapacity\"] = this.spaceTypeForCapacity;\r\n data[\"hourlyRequestToBook\"] = this.hourlyRequestToBook ? this.hourlyRequestToBook.toJSON() : undefined;\r\n data[\"isAutoRenew\"] = this.isAutoRenew;\r\n data[\"notes\"] = this.notes;\r\n data[\"enableWireTransferPayments\"] = this.enableWireTransferPayments;\r\n data[\"integrationReferences\"] = this.integrationReferences ? this.integrationReferences.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseReservationViewModel {\r\n /** Reservation ID. May be fake one for recurrent occurence. */\r\n id: string;\r\n /** Parent reservation ID for recurrent occurence; Reservation ID in other case. */\r\n idForLink: string;\r\n occurrenceDate: string | undefined;\r\n applyDate: string | undefined;\r\n deleted: boolean;\r\n startTime: string;\r\n endTime: string;\r\n quantity: number;\r\n /** In months */\r\n term: number | undefined;\r\n finishDate: string | undefined;\r\n recurrencePattern: string | undefined;\r\n recurrenceExcludedDates: string[];\r\n status: ReservationStatus;\r\n spaceType: SpaceType;\r\n reservationState: ReservationState;\r\n reservationMethod: ReservationMethod;\r\n bookingMethod: BookingMethod | undefined;\r\n ownerId: string;\r\n organizer: ReservationMemberViewModel | undefined;\r\n title: string;\r\n cancellationPolicy: CancellationPolicy;\r\n amenities: VenueAmenityViewModel[];\r\n invitees: ReservationMaybeMemberViewModel[];\r\n reservationOperations: ReservationOperationsAvailability | undefined;\r\n price: CostInfoModel | undefined;\r\n costSummary: CostSummaryViewModel | undefined;\r\n paymentHistory: PaymentInformationViewModel[];\r\n paymentMethod: PaymentMethodDescriptor | undefined;\r\n paymentMethodType: PaymentMethod;\r\n promotion: ReservationPromotion | undefined;\r\n venueId: string;\r\n venueUrl: string;\r\n workspaceId: string;\r\n workspaceName: string;\r\n picture: string | undefined;\r\n workspaceCapacity: number;\r\n workspaceUrl: string;\r\n spaceTypeForCapacity: string;\r\n hourlyRequestToBook: HourlyRequestToBookMemberModel | undefined;\r\n isAutoRenew: boolean;\r\n notes: string | undefined;\r\n enableWireTransferPayments: boolean;\r\n integrationReferences: ReservationIntegrationReferences | undefined;\r\n}\r\n\r\nexport class TeamMemberReservation extends BaseReservationViewModel implements ITeamMemberReservation {\r\n venueName!: string;\r\n address!: string;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n venueAverageRating!: number;\r\n venueRatingCount!: number;\r\n entryInformation!: string;\r\n venueHostName!: string | undefined;\r\n venueHostLastName!: string | undefined;\r\n venueHostPhone!: string | undefined;\r\n reviewId!: string | undefined;\r\n memberStars!: number | undefined;\r\n memberReviewText!: string | undefined;\r\n memberReviewName!: string | undefined;\r\n isToday!: boolean;\r\n\r\n constructor(data?: ITeamMemberReservation) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueName = _data[\"venueName\"];\r\n this.address = _data[\"address\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.venueAverageRating = _data[\"venueAverageRating\"];\r\n this.venueRatingCount = _data[\"venueRatingCount\"];\r\n this.entryInformation = _data[\"entryInformation\"];\r\n this.venueHostName = _data[\"venueHostName\"];\r\n this.venueHostLastName = _data[\"venueHostLastName\"];\r\n this.venueHostPhone = _data[\"venueHostPhone\"];\r\n this.reviewId = _data[\"reviewId\"];\r\n this.memberStars = _data[\"memberStars\"];\r\n this.memberReviewText = _data[\"memberReviewText\"];\r\n this.memberReviewName = _data[\"memberReviewName\"];\r\n this.isToday = _data[\"isToday\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TeamMemberReservation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TeamMemberReservation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueName\"] = this.venueName;\r\n data[\"address\"] = this.address;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"venueAverageRating\"] = this.venueAverageRating;\r\n data[\"venueRatingCount\"] = this.venueRatingCount;\r\n data[\"entryInformation\"] = this.entryInformation;\r\n data[\"venueHostName\"] = this.venueHostName;\r\n data[\"venueHostLastName\"] = this.venueHostLastName;\r\n data[\"venueHostPhone\"] = this.venueHostPhone;\r\n data[\"reviewId\"] = this.reviewId;\r\n data[\"memberStars\"] = this.memberStars;\r\n data[\"memberReviewText\"] = this.memberReviewText;\r\n data[\"memberReviewName\"] = this.memberReviewName;\r\n data[\"isToday\"] = this.isToday;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITeamMemberReservation extends IBaseReservationViewModel {\r\n venueName: string;\r\n address: string;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n venueAverageRating: number;\r\n venueRatingCount: number;\r\n entryInformation: string;\r\n venueHostName: string | undefined;\r\n venueHostLastName: string | undefined;\r\n venueHostPhone: string | undefined;\r\n reviewId: string | undefined;\r\n memberStars: number | undefined;\r\n memberReviewText: string | undefined;\r\n memberReviewName: string | undefined;\r\n isToday: boolean;\r\n}\r\n\r\n/** 0 = Future 1 = UpcomingSoon 2 = CheckedIn 3 = CheckedOut 4 = RunningLate 5 = OnMyWay 6 = Declined 7 = Extended 100 = None */\r\nexport enum ReservationState {\r\n Future = 0,\r\n UpcomingSoon = 1,\r\n CheckedIn = 2,\r\n CheckedOut = 3,\r\n RunningLate = 4,\r\n OnMyWay = 5,\r\n Declined = 6,\r\n Extended = 7,\r\n None = 100,\r\n}\r\n\r\nexport class ReservationMaybeMemberViewModel implements IReservationMaybeMemberViewModel {\r\n email!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n fullName!: string;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationMaybeMemberViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationMaybeMemberViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.fullName = _data[\"fullName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationMaybeMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"ReservationMemberViewModel\") {\r\n let result = new ReservationMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"ReservationOwnerViewModel\") {\r\n let result = new ReservationOwnerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new ReservationMaybeMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"email\"] = this.email;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"fullName\"] = this.fullName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationMaybeMemberViewModel {\r\n email: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n fullName: string;\r\n}\r\n\r\nexport class ReservationMemberViewModel extends ReservationMaybeMemberViewModel implements IReservationMemberViewModel {\r\n id!: string;\r\n imageUrl!: string | undefined;\r\n company!: string | undefined;\r\n externalAccountId!: string | undefined;\r\n\r\n constructor(data?: IReservationMemberViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationMemberViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.company = _data[\"company\"];\r\n this.externalAccountId = _data[\"externalAccountId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationMemberViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"ReservationOwnerViewModel\") {\r\n let result = new ReservationOwnerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n let result = new ReservationMemberViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"company\"] = this.company;\r\n data[\"externalAccountId\"] = this.externalAccountId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationMemberViewModel extends IReservationMaybeMemberViewModel {\r\n id: string;\r\n imageUrl: string | undefined;\r\n company: string | undefined;\r\n externalAccountId: string | undefined;\r\n}\r\n\r\nexport class ReservationOwnerViewModel extends ReservationMemberViewModel implements IReservationOwnerViewModel {\r\n enterpriseAccountName!: string | undefined;\r\n\r\n constructor(data?: IReservationOwnerViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationOwnerViewModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.enterpriseAccountName = _data[\"enterpriseAccountName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationOwnerViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationOwnerViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enterpriseAccountName\"] = this.enterpriseAccountName;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationOwnerViewModel extends IReservationMemberViewModel {\r\n enterpriseAccountName: string | undefined;\r\n}\r\n\r\n/** 0 = FlexibleCancellation 1 = NoCancellation 2 = Moderate7 3 = Moderate14 4 = Extended */\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 hasRegusIntegration!: boolean;\r\n\r\n constructor(data?: IVenueWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.url = _data[\"url\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeFormatted = _data[\"spaceTypeFormatted\"];\r\n this.multipleDeskBookingAllowed = _data[\"multipleDeskBookingAllowed\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n this.pricesFormatted = _data[\"pricesFormatted\"];\r\n if (Array.isArray(_data[\"imageUrls\"])) {\r\n this.imageUrls = [] as any;\r\n for (let item of _data[\"imageUrls\"])\r\n this.imageUrls!.push(item);\r\n }\r\n this.cancellationPolicy = _data[\"cancellationPolicy\"];\r\n this.minimumBookingTerm = _data[\"minimumBookingTerm\"];\r\n this.status = _data[\"status\"];\r\n this.averageRating = _data[\"averageRating\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(PriceDisplayModel.fromJS(item));\r\n }\r\n this.hasRegusIntegration = _data[\"hasRegusIntegration\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueWorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueWorkspaceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"url\"] = this.url;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeFormatted\"] = this.spaceTypeFormatted;\r\n data[\"multipleDeskBookingAllowed\"] = this.multipleDeskBookingAllowed;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n data[\"pricesFormatted\"] = this.pricesFormatted;\r\n if (Array.isArray(this.imageUrls)) {\r\n data[\"imageUrls\"] = [];\r\n for (let item of this.imageUrls)\r\n data[\"imageUrls\"].push(item);\r\n }\r\n data[\"cancellationPolicy\"] = this.cancellationPolicy;\r\n data[\"minimumBookingTerm\"] = this.minimumBookingTerm;\r\n data[\"status\"] = this.status;\r\n data[\"averageRating\"] = this.averageRating;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item.toJSON());\r\n }\r\n data[\"hasRegusIntegration\"] = this.hasRegusIntegration;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueWorkspaceModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n url: string;\r\n spaceType: SpaceType;\r\n spaceTypeFormatted: string;\r\n /** Indicates if multiple desks can be booked with 1 reservation */\r\n multipleDeskBookingAllowed: boolean;\r\n capacity: number;\r\n reservationMethod: ReservationMethod;\r\n bookingMethod: BookingMethod;\r\n pricesFormatted: string;\r\n imageUrls: string[];\r\n cancellationPolicy: CancellationPolicy;\r\n /** Minimum number of months that can be booked in mothly space */\r\n minimumBookingTerm: number | undefined;\r\n status: WorkspaceStatus;\r\n averageRating: number | undefined;\r\n prices: PriceDisplayModel[];\r\n hasRegusIntegration: boolean;\r\n}\r\n\r\nexport class PriceDisplayModel implements IPriceDisplayModel {\r\n priceDuration!: WorkspacePriceDuration | undefined;\r\n price!: string | undefined;\r\n priceAmountDecimal!: number;\r\n priceAmount!: string | undefined;\r\n priceDescription!: string | undefined;\r\n priceAdditionalDescription!: string | undefined;\r\n delimiter!: string | undefined;\r\n priceMerchandising!: PriceMerchandising;\r\n amountBeforeDiscount!: number | undefined;\r\n amountBeforeDiscountFormatted!: string | undefined;\r\n discountDescription!: string | undefined;\r\n discountCode!: string | undefined;\r\n\r\n constructor(data?: IPriceDisplayModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.priceDuration = _data[\"priceDuration\"];\r\n this.price = _data[\"price\"];\r\n this.priceAmountDecimal = _data[\"priceAmountDecimal\"];\r\n this.priceAmount = _data[\"priceAmount\"];\r\n this.priceDescription = _data[\"priceDescription\"];\r\n this.priceAdditionalDescription = _data[\"priceAdditionalDescription\"];\r\n this.delimiter = _data[\"delimiter\"];\r\n this.priceMerchandising = _data[\"priceMerchandising\"];\r\n this.amountBeforeDiscount = _data[\"amountBeforeDiscount\"];\r\n this.amountBeforeDiscountFormatted = _data[\"amountBeforeDiscountFormatted\"];\r\n this.discountDescription = _data[\"discountDescription\"];\r\n this.discountCode = _data[\"discountCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceDisplayModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceDisplayModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"priceDuration\"] = this.priceDuration;\r\n data[\"price\"] = this.price;\r\n data[\"priceAmountDecimal\"] = this.priceAmountDecimal;\r\n data[\"priceAmount\"] = this.priceAmount;\r\n data[\"priceDescription\"] = this.priceDescription;\r\n data[\"priceAdditionalDescription\"] = this.priceAdditionalDescription;\r\n data[\"delimiter\"] = this.delimiter;\r\n data[\"priceMerchandising\"] = this.priceMerchandising;\r\n data[\"amountBeforeDiscount\"] = this.amountBeforeDiscount;\r\n data[\"amountBeforeDiscountFormatted\"] = this.amountBeforeDiscountFormatted;\r\n data[\"discountDescription\"] = this.discountDescription;\r\n data[\"discountCode\"] = this.discountCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceDisplayModel {\r\n priceDuration: WorkspacePriceDuration | undefined;\r\n price: string | undefined;\r\n priceAmountDecimal: number;\r\n priceAmount: string | undefined;\r\n priceDescription: string | undefined;\r\n priceAdditionalDescription: string | undefined;\r\n delimiter: string | undefined;\r\n priceMerchandising: PriceMerchandising;\r\n amountBeforeDiscount: number | undefined;\r\n amountBeforeDiscountFormatted: string | undefined;\r\n discountDescription: string | undefined;\r\n discountCode: string | undefined;\r\n}\r\n\r\n/** 15 = QuarterHour 30 = HalfHour 60 = Hour 120 = TwoHours 180 = ThreeHours 240 = HalfDay 480 = Day 43200 = Month 129600 = ThreeMonth 259200 = SixMonth 518400 = Year 1036800 = TwoYear 1555200 = ThreeYear */\r\nexport enum WorkspacePriceDuration {\r\n QuarterHour = 15,\r\n HalfHour = 30,\r\n Hour = 60,\r\n TwoHours = 120,\r\n ThreeHours = 180,\r\n HalfDay = 240,\r\n Day = 480,\r\n Month = 43200,\r\n ThreeMonth = 129600,\r\n SixMonth = 259200,\r\n Year = 518400,\r\n TwoYear = 1036800,\r\n ThreeYear = 1555200,\r\n}\r\n\r\nexport class ReservationCalendarWorkspaceModel implements IReservationCalendarWorkspaceModel {\r\n workspace!: VenueWorkspaceModel;\r\n timeChunkStates!: ReservationCalendarTimeChunkStateModel[];\r\n\r\n constructor(data?: IReservationCalendarWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspace = _data[\"workspace\"] ? VenueWorkspaceModel.fromJS(_data[\"workspace\"]) : undefined;\r\n if (Array.isArray(_data[\"timeChunkStates\"])) {\r\n this.timeChunkStates = [] as any;\r\n for (let item of _data[\"timeChunkStates\"])\r\n this.timeChunkStates!.push(ReservationCalendarTimeChunkStateModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationCalendarWorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationCalendarWorkspaceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspace\"] = this.workspace ? this.workspace.toJSON() : undefined;\r\n if (Array.isArray(this.timeChunkStates)) {\r\n data[\"timeChunkStates\"] = [];\r\n for (let item of this.timeChunkStates)\r\n data[\"timeChunkStates\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationCalendarWorkspaceModel {\r\n workspace: VenueWorkspaceModel;\r\n timeChunkStates: ReservationCalendarTimeChunkStateModel[];\r\n}\r\n\r\nexport class ReservationCalendarTimeChunkStateModel implements IReservationCalendarTimeChunkStateModel {\r\n time!: string;\r\n state!: TimeState;\r\n\r\n constructor(data?: IReservationCalendarTimeChunkStateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.time = _data[\"time\"];\r\n this.state = _data[\"state\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationCalendarTimeChunkStateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationCalendarTimeChunkStateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"time\"] = this.time;\r\n data[\"state\"] = this.state;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationCalendarTimeChunkStateModel {\r\n time: string;\r\n state: TimeState;\r\n}\r\n\r\n/** 0 = Closed 1 = Booked 2 = Available 3 = Own */\r\nexport enum TimeState {\r\n Closed = 0,\r\n Booked = 1,\r\n Available = 2,\r\n Own = 3,\r\n}\r\n\r\n/** 15 = Min15 30 = Min30 60 = Min60 */\r\nexport enum TimeChunkSize {\r\n Min15 = 15,\r\n Min30 = 30,\r\n Min60 = 60,\r\n}\r\n\r\nexport class ClosedDayModel implements IClosedDayModel {\r\n date!: string;\r\n unavailabilityReason!: string | undefined;\r\n\r\n constructor(data?: IClosedDayModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.unavailabilityReason = _data[\"unavailabilityReason\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ClosedDayModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ClosedDayModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"unavailabilityReason\"] = this.unavailabilityReason;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IClosedDayModel {\r\n date: string;\r\n unavailabilityReason: string | undefined;\r\n}\r\n\r\nexport class OpenHoursItem implements IOpenHoursItem {\r\n time!: string;\r\n\r\n constructor(data?: IOpenHoursItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.time = _data[\"time\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OpenHoursItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OpenHoursItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"time\"] = this.time;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOpenHoursItem {\r\n time: string;\r\n}\r\n\r\nexport class CheckAvailabilityResponse implements ICheckAvailabilityResponse {\r\n /** Null if date wasn't provided. \r\nBoolean value indicates if workspace is available for the requested date */\r\n isAvailable!: boolean | undefined;\r\n /** Null if there's no available date in a year\r\nFirst available date from the requested date (or from now if date wasn't provided) */\r\n nextAvailableDate!: string | undefined;\r\n /** Dates that are not available for given recurrence pattern. Empty when no pattern is provided */\r\n recurrenceExcludedDates!: string[];\r\n\r\n constructor(data?: ICheckAvailabilityResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isAvailable = _data[\"isAvailable\"];\r\n this.nextAvailableDate = _data[\"nextAvailableDate\"];\r\n if (Array.isArray(_data[\"recurrenceExcludedDates\"])) {\r\n this.recurrenceExcludedDates = [] as any;\r\n for (let item of _data[\"recurrenceExcludedDates\"])\r\n this.recurrenceExcludedDates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckAvailabilityResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckAvailabilityResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isAvailable\"] = this.isAvailable;\r\n data[\"nextAvailableDate\"] = this.nextAvailableDate;\r\n if (Array.isArray(this.recurrenceExcludedDates)) {\r\n data[\"recurrenceExcludedDates\"] = [];\r\n for (let item of this.recurrenceExcludedDates)\r\n data[\"recurrenceExcludedDates\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckAvailabilityResponse {\r\n /** Null if date wasn't provided. \r\nBoolean value indicates if workspace is available for the requested date */\r\n isAvailable: boolean | undefined;\r\n /** Null if there's no available date in a year\r\nFirst available date from the requested date (or from now if date wasn't provided) */\r\n nextAvailableDate: string | undefined;\r\n /** Dates that are not available for given recurrence pattern. Empty when no pattern is provided */\r\n recurrenceExcludedDates: string[];\r\n}\r\n\r\nexport class CheckAvailabilityRequest implements ICheckAvailabilityRequest {\r\n reservationDetails!: ReservationDetails | undefined;\r\n reservationId!: string | undefined;\r\n occurrenceDate!: string | undefined;\r\n\r\n constructor(data?: ICheckAvailabilityRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationDetails = _data[\"reservationDetails\"] ? ReservationDetails.fromJS(_data[\"reservationDetails\"]) : undefined;\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckAvailabilityRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckAvailabilityRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationDetails\"] = this.reservationDetails ? this.reservationDetails.toJSON() : undefined;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckAvailabilityRequest {\r\n reservationDetails: ReservationDetails | undefined;\r\n reservationId: string | undefined;\r\n occurrenceDate: string | undefined;\r\n}\r\n\r\nexport class CheckRegusAvailabilityResponse implements ICheckRegusAvailabilityResponse {\r\n /** Boolean value indicates if workspace is available for the requested date in Regus\r\n */\r\n isAvailable!: boolean;\r\n /** Null if workspace isn't available in Regus\r\nReference to the first (best matching?) available workspace in Regus */\r\n spaceReferenceToken!: string | undefined;\r\n\r\n constructor(data?: ICheckRegusAvailabilityResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isAvailable = _data[\"isAvailable\"];\r\n this.spaceReferenceToken = _data[\"spaceReferenceToken\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckRegusAvailabilityResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckRegusAvailabilityResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isAvailable\"] = this.isAvailable;\r\n data[\"spaceReferenceToken\"] = this.spaceReferenceToken;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckRegusAvailabilityResponse {\r\n /** Boolean value indicates if workspace is available for the requested date in Regus\r\n */\r\n isAvailable: boolean;\r\n /** Null if workspace isn't available in Regus\r\nReference to the first (best matching?) available workspace in Regus */\r\n spaceReferenceToken: string | undefined;\r\n}\r\n\r\nexport class UserInfoViewModel implements IUserInfoViewModel {\r\n isAuthenticated!: boolean;\r\n isSuperUser!: boolean;\r\n isSystemAdmin!: boolean;\r\n isVenueAdmin!: boolean;\r\n isCalendarAdmin!: boolean;\r\n isMemberGroupAdmin!: boolean;\r\n isOrganizationAdmin!: boolean;\r\n isSalesRep!: boolean;\r\n isAffiliate!: boolean;\r\n isEnterpriseAccountAdmin!: boolean;\r\n id!: string;\r\n fullName!: string | undefined;\r\n email!: string | undefined;\r\n encryptedEmail!: string | undefined;\r\n imageUrl!: string | undefined;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n role!: string | undefined;\r\n manageVenueMode!: ManageVenueMode;\r\n isVenueAdminMode!: boolean;\r\n memberType!: string | undefined;\r\n hasCompletedPortalGuide!: boolean;\r\n\r\n constructor(data?: IUserInfoViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.isAuthenticated = _data[\"isAuthenticated\"];\r\n this.isSuperUser = _data[\"isSuperUser\"];\r\n this.isSystemAdmin = _data[\"isSystemAdmin\"];\r\n this.isVenueAdmin = _data[\"isVenueAdmin\"];\r\n this.isCalendarAdmin = _data[\"isCalendarAdmin\"];\r\n this.isMemberGroupAdmin = _data[\"isMemberGroupAdmin\"];\r\n this.isOrganizationAdmin = _data[\"isOrganizationAdmin\"];\r\n this.isSalesRep = _data[\"isSalesRep\"];\r\n this.isAffiliate = _data[\"isAffiliate\"];\r\n this.isEnterpriseAccountAdmin = _data[\"isEnterpriseAccountAdmin\"];\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.encryptedEmail = _data[\"encryptedEmail\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.role = _data[\"role\"];\r\n this.manageVenueMode = _data[\"manageVenueMode\"];\r\n this.isVenueAdminMode = _data[\"isVenueAdminMode\"];\r\n this.memberType = _data[\"memberType\"];\r\n this.hasCompletedPortalGuide = _data[\"hasCompletedPortalGuide\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isAuthenticated\"] = this.isAuthenticated;\r\n data[\"isSuperUser\"] = this.isSuperUser;\r\n data[\"isSystemAdmin\"] = this.isSystemAdmin;\r\n data[\"isVenueAdmin\"] = this.isVenueAdmin;\r\n data[\"isCalendarAdmin\"] = this.isCalendarAdmin;\r\n data[\"isMemberGroupAdmin\"] = this.isMemberGroupAdmin;\r\n data[\"isOrganizationAdmin\"] = this.isOrganizationAdmin;\r\n data[\"isSalesRep\"] = this.isSalesRep;\r\n data[\"isAffiliate\"] = this.isAffiliate;\r\n data[\"isEnterpriseAccountAdmin\"] = this.isEnterpriseAccountAdmin;\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"encryptedEmail\"] = this.encryptedEmail;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"role\"] = this.role;\r\n data[\"manageVenueMode\"] = this.manageVenueMode;\r\n data[\"isVenueAdminMode\"] = this.isVenueAdminMode;\r\n data[\"memberType\"] = this.memberType;\r\n data[\"hasCompletedPortalGuide\"] = this.hasCompletedPortalGuide;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoViewModel {\r\n isAuthenticated: boolean;\r\n isSuperUser: boolean;\r\n isSystemAdmin: boolean;\r\n isVenueAdmin: boolean;\r\n isCalendarAdmin: boolean;\r\n isMemberGroupAdmin: boolean;\r\n isOrganizationAdmin: boolean;\r\n isSalesRep: boolean;\r\n isAffiliate: boolean;\r\n isEnterpriseAccountAdmin: boolean;\r\n id: string;\r\n fullName: string | undefined;\r\n email: string | undefined;\r\n encryptedEmail: string | undefined;\r\n imageUrl: string | undefined;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n role: string | undefined;\r\n manageVenueMode: ManageVenueMode;\r\n isVenueAdminMode: boolean;\r\n memberType: string | undefined;\r\n hasCompletedPortalGuide: boolean;\r\n}\r\n\r\n/** 0 = Admin 1 = Guest 2 = EnterpriseAccountAdmin */\r\nexport enum ManageVenueMode {\r\n Admin = 0,\r\n Guest = 1,\r\n EnterpriseAccountAdmin = 2,\r\n}\r\n\r\nexport class UserInfoEnterpriseAccountResponse implements IUserInfoEnterpriseAccountResponse {\r\n userInfoEnterpriseAccountViewModel!: UserInfoEnterpriseAccountViewModel | undefined;\r\n\r\n constructor(data?: IUserInfoEnterpriseAccountResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.userInfoEnterpriseAccountViewModel = _data[\"userInfoEnterpriseAccountViewModel\"] ? UserInfoEnterpriseAccountViewModel.fromJS(_data[\"userInfoEnterpriseAccountViewModel\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoEnterpriseAccountResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoEnterpriseAccountResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"userInfoEnterpriseAccountViewModel\"] = this.userInfoEnterpriseAccountViewModel ? this.userInfoEnterpriseAccountViewModel.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoEnterpriseAccountResponse {\r\n userInfoEnterpriseAccountViewModel: UserInfoEnterpriseAccountViewModel | undefined;\r\n}\r\n\r\nexport class UserInfoEnterpriseAccountViewModel implements IUserInfoEnterpriseAccountViewModel {\r\n /** Enterprise Account Id */\r\n id!: string;\r\n /** Enterprise account name */\r\n accountName!: string;\r\n /** Team Id */\r\n teamId!: string;\r\n /** Team Name */\r\n teamName!: string;\r\n\r\n constructor(data?: IUserInfoEnterpriseAccountViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.accountName = _data[\"accountName\"];\r\n this.teamId = _data[\"teamId\"];\r\n this.teamName = _data[\"teamName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): UserInfoEnterpriseAccountViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new UserInfoEnterpriseAccountViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"accountName\"] = this.accountName;\r\n data[\"teamId\"] = this.teamId;\r\n data[\"teamName\"] = this.teamName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IUserInfoEnterpriseAccountViewModel {\r\n /** Enterprise Account Id */\r\n id: string;\r\n /** Enterprise account name */\r\n accountName: string;\r\n /** Team Id */\r\n teamId: string;\r\n /** Team Name */\r\n teamName: string;\r\n}\r\n\r\nexport class HeaderMenuCountersViewModel implements IHeaderMenuCountersViewModel {\r\n moreVenuesTotalMessagesCount!: number;\r\n upcomingReservationsCount!: number;\r\n newMessagesCount!: number;\r\n newMessagesForVenues!: { [key: string]: number; };\r\n\r\n constructor(data?: IHeaderMenuCountersViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.moreVenuesTotalMessagesCount = _data[\"moreVenuesTotalMessagesCount\"];\r\n this.upcomingReservationsCount = _data[\"upcomingReservationsCount\"];\r\n this.newMessagesCount = _data[\"newMessagesCount\"];\r\n if (_data[\"newMessagesForVenues\"]) {\r\n this.newMessagesForVenues = {} as any;\r\n for (let key in _data[\"newMessagesForVenues\"]) {\r\n if (_data[\"newMessagesForVenues\"].hasOwnProperty(key))\r\n (this.newMessagesForVenues)![key] = _data[\"newMessagesForVenues\"][key];\r\n }\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HeaderMenuCountersViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HeaderMenuCountersViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"moreVenuesTotalMessagesCount\"] = this.moreVenuesTotalMessagesCount;\r\n data[\"upcomingReservationsCount\"] = this.upcomingReservationsCount;\r\n data[\"newMessagesCount\"] = this.newMessagesCount;\r\n if (this.newMessagesForVenues) {\r\n data[\"newMessagesForVenues\"] = {};\r\n for (let key in this.newMessagesForVenues) {\r\n if (this.newMessagesForVenues.hasOwnProperty(key))\r\n (data[\"newMessagesForVenues\"])[key] = (this.newMessagesForVenues)[key];\r\n }\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHeaderMenuCountersViewModel {\r\n moreVenuesTotalMessagesCount: number;\r\n upcomingReservationsCount: number;\r\n newMessagesCount: number;\r\n newMessagesForVenues: { [key: string]: number; };\r\n}\r\n\r\nexport class MyVenueViewModel implements IMyVenueViewModel {\r\n venueId!: string;\r\n venueName!: string;\r\n\r\n constructor(data?: IMyVenueViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MyVenueViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MyVenueViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMyVenueViewModel {\r\n venueId: string;\r\n venueName: string;\r\n}\r\n\r\n/** Represents saved search request */\r\nexport class SavedSearchRequest implements ISavedSearchRequest {\r\n request!: BaseSearchRequest;\r\n metadata!: SavedSearchRequestMetadata;\r\n\r\n constructor(data?: ISavedSearchRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.request = _data[\"request\"] ? BaseSearchRequest.fromJS(_data[\"request\"]) : undefined;\r\n this.metadata = _data[\"metadata\"] ? SavedSearchRequestMetadata.fromJS(_data[\"metadata\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"request\"] = this.request ? this.request.toJSON() : undefined;\r\n data[\"metadata\"] = this.metadata ? this.metadata.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\n/** Represents saved search request */\r\nexport interface ISavedSearchRequest {\r\n request: BaseSearchRequest;\r\n metadata: SavedSearchRequestMetadata;\r\n}\r\n\r\nexport class SavedSearchRequestWithId extends SavedSearchRequest implements ISavedSearchRequestWithId {\r\n id!: string;\r\n\r\n constructor(data?: ISavedSearchRequestWithId) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequestWithId {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequestWithId();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchRequestWithId extends ISavedSearchRequest {\r\n id: string;\r\n}\r\n\r\nexport abstract class CommonSearchRequest implements ICommonSearchRequest {\r\n /** Search Type. */\r\n reservationMethod!: ReservationMethod;\r\n /** Reservation start time. */\r\n startTime!: string | undefined;\r\n /** Optional reservation length parameter. Must be a multiple of 15 minutes. */\r\n reservationLengthMinutes!: number | undefined;\r\n /** Space Type */\r\n spaceTypes!: SpaceType;\r\n /** Optional Min Price constraint. */\r\n minPrice!: number | undefined;\r\n /** Optional Max Price constraint. */\r\n maxPrice!: number | undefined;\r\n /** Optional minimum workspace capacity constraint. */\r\n minCapacity!: number | undefined;\r\n /** Optional requested amenities list. */\r\n amenityIds!: string[] | undefined;\r\n\r\n constructor(data?: ICommonSearchRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.startTime = _data[\"startTime\"];\r\n this.reservationLengthMinutes = _data[\"reservationLengthMinutes\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n if (Array.isArray(_data[\"amenityIds\"])) {\r\n this.amenityIds = [] as any;\r\n for (let item of _data[\"amenityIds\"])\r\n this.amenityIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CommonSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n throw new Error(\"The abstract class 'CommonSearchRequest' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"startTime\"] = this.startTime;\r\n data[\"reservationLengthMinutes\"] = this.reservationLengthMinutes;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n if (Array.isArray(this.amenityIds)) {\r\n data[\"amenityIds\"] = [];\r\n for (let item of this.amenityIds)\r\n data[\"amenityIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICommonSearchRequest {\r\n /** Search Type. */\r\n reservationMethod: ReservationMethod;\r\n /** Reservation start time. */\r\n startTime: string | undefined;\r\n /** Optional reservation length parameter. Must be a multiple of 15 minutes. */\r\n reservationLengthMinutes: number | undefined;\r\n /** Space Type */\r\n spaceTypes: SpaceType;\r\n /** Optional Min Price constraint. */\r\n minPrice: number | undefined;\r\n /** Optional Max Price constraint. */\r\n maxPrice: number | undefined;\r\n /** Optional minimum workspace capacity constraint. */\r\n minCapacity: number | undefined;\r\n /** Optional requested amenities list. */\r\n amenityIds: string[] | undefined;\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport abstract class BaseSearchRequest extends CommonSearchRequest implements IBaseSearchRequest {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBaseSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BaseSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): BaseSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"GeoSearchRequest\") {\r\n let result = new GeoSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"CurrentLocationSearchRequest\") {\r\n let result = new CurrentLocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"FullTextSearchRequest\") {\r\n let result = new FullTextSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueSearchRequest\") {\r\n let result = new VenueSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueGroupSearchRequest\") {\r\n let result = new VenueGroupSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"LocationSearchRequest\") {\r\n let result = new LocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'BaseSearchRequest' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Root type for JSON inheritance tree */\r\nexport interface IBaseSearchRequest extends ICommonSearchRequest {\r\n}\r\n\r\n/** Search query by geocoded address */\r\nexport class GeoSearchRequest extends BaseSearchRequest implements IGeoSearchRequest {\r\n /** Address string to geocode */\r\n address!: string;\r\n\r\n constructor(data?: IGeoSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"GeoSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeoSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeoSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Search query by geocoded address */\r\nexport interface IGeoSearchRequest extends IBaseSearchRequest {\r\n /** Address string to geocode */\r\n address: string;\r\n}\r\n\r\n/** Server-side will use client IP-address to make location query. */\r\nexport class CurrentLocationSearchRequest extends BaseSearchRequest implements ICurrentLocationSearchRequest {\r\n\r\n constructor(data?: ICurrentLocationSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CurrentLocationSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): CurrentLocationSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CurrentLocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Server-side will use client IP-address to make location query. */\r\nexport interface ICurrentLocationSearchRequest extends IBaseSearchRequest {\r\n}\r\n\r\n/** Full-text search query */\r\nexport class FullTextSearchRequest extends BaseSearchRequest implements IFullTextSearchRequest {\r\n fullTextQuery!: string;\r\n\r\n constructor(data?: IFullTextSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"FullTextSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.fullTextQuery = _data[\"fullTextQuery\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): FullTextSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new FullTextSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullTextQuery\"] = this.fullTextQuery;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Full-text search query */\r\nexport interface IFullTextSearchRequest extends IBaseSearchRequest {\r\n fullTextQuery: string;\r\n}\r\n\r\n/** Request to query specific venue availability */\r\nexport class VenueSearchRequest extends BaseSearchRequest implements IVenueSearchRequest {\r\n /** Venue ID to search within. */\r\n venueId!: string;\r\n\r\n constructor(data?: IVenueSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Request to query specific venue availability */\r\nexport interface IVenueSearchRequest extends IBaseSearchRequest {\r\n /** Venue ID to search within. */\r\n venueId: string;\r\n}\r\n\r\n/** Request to query venues from spcifig Venue Group */\r\nexport class VenueGroupSearchRequest extends BaseSearchRequest implements IVenueGroupSearchRequest {\r\n /** Venue Group ID to search within. */\r\n venueGroupId!: string;\r\n\r\n constructor(data?: IVenueGroupSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueGroupSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Request to query venues from spcifig Venue Group */\r\nexport interface IVenueGroupSearchRequest extends IBaseSearchRequest {\r\n /** Venue Group ID to search within. */\r\n venueGroupId: string;\r\n}\r\n\r\n/** Search by latitude and longitude with optional radius */\r\nexport class LocationSearchRequest extends BaseSearchRequest implements ILocationSearchRequest {\r\n latitude!: number;\r\n longitude!: number;\r\n /** Search radius. Defaults to 20 miles (41667 meters) */\r\n radius!: number | undefined;\r\n\r\n constructor(data?: ILocationSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"LocationSearchRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.radius = _data[\"radius\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LocationSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LocationSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"radius\"] = this.radius;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Search by latitude and longitude with optional radius */\r\nexport interface ILocationSearchRequest extends IBaseSearchRequest {\r\n latitude: number;\r\n longitude: number;\r\n /** Search radius. Defaults to 20 miles (41667 meters) */\r\n radius: number | undefined;\r\n}\r\n\r\nexport class SavedSearchRequestMetadata implements ISavedSearchRequestMetadata {\r\n prdefinedText!: string | undefined;\r\n sourceType!: SavedSearchSourceType;\r\n\r\n constructor(data?: ISavedSearchRequestMetadata) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.prdefinedText = _data[\"prdefinedText\"];\r\n this.sourceType = _data[\"sourceType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequestMetadata {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequestMetadata();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"prdefinedText\"] = this.prdefinedText;\r\n data[\"sourceType\"] = this.sourceType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchRequestMetadata {\r\n prdefinedText: string | undefined;\r\n sourceType: SavedSearchSourceType;\r\n}\r\n\r\nexport abstract class BaseSearchAutocomplete implements IBaseSearchAutocomplete {\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IBaseSearchAutocomplete) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"BaseSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n }\r\n\r\n static fromJS(data: any): BaseSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"GeoSearchAutocomplete\") {\r\n let result = new GeoSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueSearchAutocomplete\") {\r\n let result = new VenueSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"CollectionSearchAutocomplete\") {\r\n let result = new CollectionSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"SavedSearchRequestAutocomplete\") {\r\n let result = new SavedSearchRequestAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"VenueGroupSearchAutocomplete\") {\r\n let result = new VenueGroupSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'BaseSearchAutocomplete' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBaseSearchAutocomplete {\r\n}\r\n\r\nexport class GeoSearchAutocomplete extends BaseSearchAutocomplete implements IGeoSearchAutocomplete {\r\n /** Location string */\r\n geoQuery!: string;\r\n\r\n constructor(data?: IGeoSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"GeoSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.geoQuery = _data[\"geoQuery\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): GeoSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new GeoSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"geoQuery\"] = this.geoQuery;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGeoSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Location string */\r\n geoQuery: string;\r\n}\r\n\r\nexport class VenueSearchAutocomplete extends BaseSearchAutocomplete implements IVenueSearchAutocomplete {\r\n /** Venue Name */\r\n venueName!: string;\r\n /** Venue ID */\r\n venueId!: string;\r\n /** Is venue from preferred list */\r\n isPreferred!: boolean;\r\n\r\n constructor(data?: IVenueSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueName = _data[\"venueName\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.isPreferred = _data[\"isPreferred\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"isPreferred\"] = this.isPreferred;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Venue Name */\r\n venueName: string;\r\n /** Venue ID */\r\n venueId: string;\r\n /** Is venue from preferred list */\r\n isPreferred: boolean;\r\n}\r\n\r\nexport class CollectionSearchAutocomplete extends BaseSearchAutocomplete implements ICollectionSearchAutocomplete {\r\n /** Collection Name */\r\n collectionName!: string;\r\n /** Collection ID */\r\n collectionId!: string;\r\n /** Number of items in collection */\r\n favoritesCount!: number;\r\n\r\n constructor(data?: ICollectionSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"CollectionSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.collectionName = _data[\"collectionName\"];\r\n this.collectionId = _data[\"collectionId\"];\r\n this.favoritesCount = _data[\"favoritesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CollectionSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CollectionSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"collectionName\"] = this.collectionName;\r\n data[\"collectionId\"] = this.collectionId;\r\n data[\"favoritesCount\"] = this.favoritesCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICollectionSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Collection Name */\r\n collectionName: string;\r\n /** Collection ID */\r\n collectionId: string;\r\n /** Number of items in collection */\r\n favoritesCount: number;\r\n}\r\n\r\nexport class SavedSearchRequestAutocomplete extends BaseSearchAutocomplete implements ISavedSearchRequestAutocomplete {\r\n predefinedText!: string | undefined;\r\n /** SavedSearch ID */\r\n savedSearchId!: string;\r\n\r\n constructor(data?: ISavedSearchRequestAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"SavedSearchRequestAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.predefinedText = _data[\"predefinedText\"];\r\n this.savedSearchId = _data[\"savedSearchId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchRequestAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchRequestAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"predefinedText\"] = this.predefinedText;\r\n data[\"savedSearchId\"] = this.savedSearchId;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchRequestAutocomplete extends IBaseSearchAutocomplete {\r\n predefinedText: string | undefined;\r\n /** SavedSearch ID */\r\n savedSearchId: string;\r\n}\r\n\r\nexport class VenueGroupSearchAutocomplete extends BaseSearchAutocomplete implements IVenueGroupSearchAutocomplete {\r\n /** Venue Group Name */\r\n venueGroupName!: string;\r\n /** Venue Group ID */\r\n venueGroupId!: string;\r\n /** Is Venue Group from preferred list */\r\n isPreferred!: boolean;\r\n /** Venue Group icon URL */\r\n iconUrl!: string | undefined;\r\n /** Number of venues in group */\r\n venuesCount!: number;\r\n\r\n constructor(data?: IVenueGroupSearchAutocomplete) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"VenueGroupSearchAutocomplete\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.venueGroupName = _data[\"venueGroupName\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.isPreferred = _data[\"isPreferred\"];\r\n this.iconUrl = _data[\"iconUrl\"];\r\n this.venuesCount = _data[\"venuesCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupSearchAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupSearchAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueGroupName\"] = this.venueGroupName;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"isPreferred\"] = this.isPreferred;\r\n data[\"iconUrl\"] = this.iconUrl;\r\n data[\"venuesCount\"] = this.venuesCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupSearchAutocomplete extends IBaseSearchAutocomplete {\r\n /** Venue Group Name */\r\n venueGroupName: string;\r\n /** Venue Group ID */\r\n venueGroupId: string;\r\n /** Is Venue Group from preferred list */\r\n isPreferred: boolean;\r\n /** Venue Group icon URL */\r\n iconUrl: string | undefined;\r\n /** Number of venues in group */\r\n venuesCount: number;\r\n}\r\n\r\nexport class SearchQueryAutocomplete implements ISearchQueryAutocomplete {\r\n /** Search location string */\r\n location!: string | undefined;\r\n /** optional workspace Type constraint */\r\n spaceType!: SpaceType | undefined;\r\n /** Optional minimum workspace capacity constraint */\r\n minCapacity!: number | undefined;\r\n /** Optional reservation start date */\r\n startDate!: string | undefined;\r\n\r\n constructor(data?: ISearchQueryAutocomplete) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.location = _data[\"location\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.minCapacity = _data[\"minCapacity\"];\r\n this.startDate = _data[\"startDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchQueryAutocomplete {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchQueryAutocomplete();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"location\"] = this.location;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"minCapacity\"] = this.minCapacity;\r\n data[\"startDate\"] = this.startDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchQueryAutocomplete {\r\n /** Search location string */\r\n location: string | undefined;\r\n /** optional workspace Type constraint */\r\n spaceType: SpaceType | undefined;\r\n /** Optional minimum workspace capacity constraint */\r\n minCapacity: number | undefined;\r\n /** Optional reservation start date */\r\n startDate: string | undefined;\r\n}\r\n\r\nexport class VenuesSearchResult implements IVenuesSearchResult {\r\n geoLocation!: VenuesSearchResultGeoLocation | undefined;\r\n venues!: VenueSearchResult[];\r\n\r\n constructor(data?: IVenuesSearchResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.geoLocation = _data[\"geoLocation\"] ? VenuesSearchResultGeoLocation.fromJS(_data[\"geoLocation\"]) : undefined;\r\n if (Array.isArray(_data[\"venues\"])) {\r\n this.venues = [] as any;\r\n for (let item of _data[\"venues\"])\r\n this.venues!.push(VenueSearchResult.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuesSearchResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuesSearchResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"geoLocation\"] = this.geoLocation ? this.geoLocation.toJSON() : undefined;\r\n if (Array.isArray(this.venues)) {\r\n data[\"venues\"] = [];\r\n for (let item of this.venues)\r\n data[\"venues\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuesSearchResult {\r\n geoLocation: VenuesSearchResultGeoLocation | undefined;\r\n venues: VenueSearchResult[];\r\n}\r\n\r\nexport class VenuesSearchResultGeoLocation implements IVenuesSearchResultGeoLocation {\r\n latitude!: number;\r\n longitude!: number;\r\n\r\n constructor(data?: IVenuesSearchResultGeoLocation) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuesSearchResultGeoLocation {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuesSearchResultGeoLocation();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuesSearchResultGeoLocation {\r\n latitude: number;\r\n longitude: number;\r\n}\r\n\r\n/** Geo or Current Location search request */\r\nexport class DefaultSearchRequest extends CommonSearchRequest implements IDefaultSearchRequest {\r\n /** Address string to geocode */\r\n address!: string | undefined;\r\n\r\n constructor(data?: IDefaultSearchRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DefaultSearchRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DefaultSearchRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"address\"] = this.address;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** Geo or Current Location search request */\r\nexport interface IDefaultSearchRequest extends ICommonSearchRequest {\r\n /** Address string to geocode */\r\n address: string | undefined;\r\n}\r\n\r\n/** Provides necessary metadata to properly display search UI for current user */\r\nexport class SearchConfig implements ISearchConfig {\r\n /** Immutable search options (usually configured by account admin) */\r\n immutableOptions!: ExtendedSearchOptionsConfigModel | undefined;\r\n /** Search geofences */\r\n geofences!: SearchGeofence[];\r\n /** LIst of approved member groups */\r\n approvedMemberGroups!: ApprovedMemberGroup[];\r\n /** Searchable amenities */\r\n amenities!: AmenityModel[];\r\n\r\n constructor(data?: ISearchConfig) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.immutableOptions = _data[\"immutableOptions\"] ? ExtendedSearchOptionsConfigModel.fromJS(_data[\"immutableOptions\"]) : undefined;\r\n if (Array.isArray(_data[\"geofences\"])) {\r\n this.geofences = [] as any;\r\n for (let item of _data[\"geofences\"])\r\n this.geofences!.push(SearchGeofence.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"approvedMemberGroups\"])) {\r\n this.approvedMemberGroups = [] as any;\r\n for (let item of _data[\"approvedMemberGroups\"])\r\n this.approvedMemberGroups!.push(ApprovedMemberGroup.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"amenities\"])) {\r\n this.amenities = [] as any;\r\n for (let item of _data[\"amenities\"])\r\n this.amenities!.push(AmenityModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchConfig {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchConfig();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"immutableOptions\"] = this.immutableOptions ? this.immutableOptions.toJSON() : undefined;\r\n if (Array.isArray(this.geofences)) {\r\n data[\"geofences\"] = [];\r\n for (let item of this.geofences)\r\n data[\"geofences\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.approvedMemberGroups)) {\r\n data[\"approvedMemberGroups\"] = [];\r\n for (let item of this.approvedMemberGroups)\r\n data[\"approvedMemberGroups\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.amenities)) {\r\n data[\"amenities\"] = [];\r\n for (let item of this.amenities)\r\n data[\"amenities\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\n/** Provides necessary metadata to properly display search UI for current user */\r\nexport interface ISearchConfig {\r\n /** Immutable search options (usually configured by account admin) */\r\n immutableOptions: ExtendedSearchOptionsConfigModel | undefined;\r\n /** Search geofences */\r\n geofences: SearchGeofence[];\r\n /** LIst of approved member groups */\r\n approvedMemberGroups: ApprovedMemberGroup[];\r\n /** Searchable amenities */\r\n amenities: AmenityModel[];\r\n}\r\n\r\nexport class ExtendedSearchOptionsConfigModel implements IExtendedSearchOptionsConfigModel {\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n spaceTypes!: SpaceType;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n liquidSpacePro!: boolean;\r\n immutableOptions!: ForceableExtendedSearchOptionsProperties[];\r\n\r\n constructor(data?: IExtendedSearchOptionsConfigModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.spaceTypes = _data[\"spaceTypes\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n this.liquidSpacePro = _data[\"liquidSpacePro\"];\r\n if (Array.isArray(_data[\"immutableOptions\"])) {\r\n this.immutableOptions = [] as any;\r\n for (let item of _data[\"immutableOptions\"])\r\n this.immutableOptions!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExtendedSearchOptionsConfigModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExtendedSearchOptionsConfigModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"spaceTypes\"] = this.spaceTypes;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n data[\"liquidSpacePro\"] = this.liquidSpacePro;\r\n if (Array.isArray(this.immutableOptions)) {\r\n data[\"immutableOptions\"] = [];\r\n for (let item of this.immutableOptions)\r\n data[\"immutableOptions\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExtendedSearchOptionsConfigModel {\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n spaceTypes: SpaceType;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n liquidSpacePro: boolean;\r\n immutableOptions: ForceableExtendedSearchOptionsProperties[];\r\n}\r\n\r\nexport class SearchGeofence implements ISearchGeofence {\r\n latitude!: number;\r\n longitude!: number;\r\n radiusMeters!: number;\r\n message!: string;\r\n venueName!: string;\r\n venueAddress!: string;\r\n venueUrl!: string;\r\n imageUrl!: string;\r\n venueId!: string;\r\n customCTA!: SearchGeofenceCustomCTA | undefined;\r\n\r\n constructor(data?: ISearchGeofence) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.radiusMeters = _data[\"radiusMeters\"];\r\n this.message = _data[\"message\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n this.venueUrl = _data[\"venueUrl\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.customCTA = _data[\"customCTA\"] ? SearchGeofenceCustomCTA.fromJS(_data[\"customCTA\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchGeofence {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchGeofence();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"radiusMeters\"] = this.radiusMeters;\r\n data[\"message\"] = this.message;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n data[\"venueUrl\"] = this.venueUrl;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"customCTA\"] = this.customCTA ? this.customCTA.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchGeofence {\r\n latitude: number;\r\n longitude: number;\r\n radiusMeters: number;\r\n message: string;\r\n venueName: string;\r\n venueAddress: string;\r\n venueUrl: string;\r\n imageUrl: string;\r\n venueId: string;\r\n customCTA: SearchGeofenceCustomCTA | undefined;\r\n}\r\n\r\nexport class SearchGeofenceCustomCTA implements ISearchGeofenceCustomCTA {\r\n text!: string;\r\n url!: string;\r\n\r\n constructor(data?: ISearchGeofenceCustomCTA) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.text = _data[\"text\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SearchGeofenceCustomCTA {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SearchGeofenceCustomCTA();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"text\"] = this.text;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISearchGeofenceCustomCTA {\r\n text: string;\r\n url: string;\r\n}\r\n\r\nexport class ApprovedMemberGroup implements IApprovedMemberGroup {\r\n name!: string | undefined;\r\n isImmutable!: boolean;\r\n displayPreferred!: boolean;\r\n id!: string;\r\n\r\n constructor(data?: IApprovedMemberGroup) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.isImmutable = _data[\"isImmutable\"];\r\n this.displayPreferred = _data[\"displayPreferred\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ApprovedMemberGroup {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ApprovedMemberGroup();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"isImmutable\"] = this.isImmutable;\r\n data[\"displayPreferred\"] = this.displayPreferred;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IApprovedMemberGroup {\r\n name: string | undefined;\r\n isImmutable: boolean;\r\n displayPreferred: boolean;\r\n id: string;\r\n}\r\n\r\nexport class AmenityModel implements IAmenityModel {\r\n id!: string;\r\n name!: string | undefined;\r\n hourlyMonthly!: HourlyMonthly;\r\n\r\n constructor(data?: IAmenityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.hourlyMonthly = _data[\"hourlyMonthly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AmenityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AmenityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"hourlyMonthly\"] = this.hourlyMonthly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAmenityModel {\r\n id: string;\r\n name: string | undefined;\r\n hourlyMonthly: HourlyMonthly;\r\n}\r\n\r\nexport class InviteGuestsViewModel implements IInviteGuestsViewModel {\r\n reservationId!: string;\r\n sendInvites!: boolean;\r\n meetingTitle!: string | undefined;\r\n securityCode!: string | undefined;\r\n guests!: Guest[];\r\n\r\n constructor(data?: IInviteGuestsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationId = _data[\"reservationId\"];\r\n this.sendInvites = _data[\"sendInvites\"];\r\n this.meetingTitle = _data[\"meetingTitle\"];\r\n this.securityCode = _data[\"securityCode\"];\r\n if (Array.isArray(_data[\"guests\"])) {\r\n this.guests = [] as any;\r\n for (let item of _data[\"guests\"])\r\n this.guests!.push(Guest.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): InviteGuestsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InviteGuestsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"sendInvites\"] = this.sendInvites;\r\n data[\"meetingTitle\"] = this.meetingTitle;\r\n data[\"securityCode\"] = this.securityCode;\r\n if (Array.isArray(this.guests)) {\r\n data[\"guests\"] = [];\r\n for (let item of this.guests)\r\n data[\"guests\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInviteGuestsViewModel {\r\n reservationId: string;\r\n sendInvites: boolean;\r\n meetingTitle: string | undefined;\r\n securityCode: string | undefined;\r\n guests: Guest[];\r\n}\r\n\r\nexport class Guest implements IGuest {\r\n fullName!: string;\r\n email!: string;\r\n\r\n constructor(data?: IGuest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Guest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Guest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IGuest {\r\n fullName: string;\r\n email: string;\r\n}\r\n\r\nexport class ReservationPager implements IReservationPager {\r\n /** Total reservations count */\r\n total!: number;\r\n /** List of page tokens */\r\n data!: string[];\r\n\r\n constructor(data?: IReservationPager) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.total = _data[\"total\"];\r\n if (Array.isArray(_data[\"data\"])) {\r\n this.data = [] as any;\r\n for (let item of _data[\"data\"])\r\n this.data!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationPager {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationPager();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"total\"] = this.total;\r\n if (Array.isArray(this.data)) {\r\n data[\"data\"] = [];\r\n for (let item of this.data)\r\n data[\"data\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationPager {\r\n /** Total reservations count */\r\n total: number;\r\n /** List of page tokens */\r\n data: string[];\r\n}\r\n\r\nexport class ReservationPagerRequest implements IReservationPagerRequest {\r\n /** Type of reservations: All, Future, Past */\r\n reservationTimeType!: ReservationTimeType;\r\n /** Member that actually created reservation. Suitable when quering Book-on-bahalf reservations */\r\n reservationsOwnerId!: string | undefined;\r\n /** End date */\r\n reservationEndTimeFilter!: string | undefined;\r\n /** Start date */\r\n reservationStartTimeFilter!: string | undefined;\r\n /** Reservation per page */\r\n countOnPage!: number;\r\n\r\n constructor(data?: IReservationPagerRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationTimeType = _data[\"reservationTimeType\"];\r\n this.reservationsOwnerId = _data[\"reservationsOwnerId\"];\r\n this.reservationEndTimeFilter = _data[\"reservationEndTimeFilter\"];\r\n this.reservationStartTimeFilter = _data[\"reservationStartTimeFilter\"];\r\n this.countOnPage = _data[\"countOnPage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationPagerRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationPagerRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationTimeType\"] = this.reservationTimeType;\r\n data[\"reservationsOwnerId\"] = this.reservationsOwnerId;\r\n data[\"reservationEndTimeFilter\"] = this.reservationEndTimeFilter;\r\n data[\"reservationStartTimeFilter\"] = this.reservationStartTimeFilter;\r\n data[\"countOnPage\"] = this.countOnPage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationPagerRequest {\r\n /** Type of reservations: All, Future, Past */\r\n reservationTimeType: ReservationTimeType;\r\n /** Member that actually created reservation. Suitable when quering Book-on-bahalf reservations */\r\n reservationsOwnerId: string | undefined;\r\n /** End date */\r\n reservationEndTimeFilter: string | undefined;\r\n /** Start date */\r\n reservationStartTimeFilter: string | undefined;\r\n /** Reservation per page */\r\n countOnPage: number;\r\n}\r\n\r\nexport class EditReservationResponse implements IEditReservationResponse {\r\n id!: string;\r\n occurrenceDate!: string | undefined;\r\n\r\n constructor(data?: IEditReservationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditReservationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditReservationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditReservationResponse {\r\n id: string;\r\n occurrenceDate: string | undefined;\r\n}\r\n\r\nexport class EditReservationRequest implements IEditReservationRequest {\r\n patch!: Operation[];\r\n deviceData!: string | undefined;\r\n totalPrice!: number | undefined;\r\n terminateWhenTotalPriceMismatch!: boolean | undefined;\r\n changeWorkspaceRequest!: ChangeWorkspaceRequest | undefined;\r\n reservationSourcePage!: string | undefined;\r\n\r\n constructor(data?: IEditReservationRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"patch\"])) {\r\n this.patch = [] as any;\r\n for (let item of _data[\"patch\"])\r\n this.patch!.push(Operation.fromJS(item));\r\n }\r\n this.deviceData = _data[\"deviceData\"];\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.terminateWhenTotalPriceMismatch = _data[\"terminateWhenTotalPriceMismatch\"];\r\n this.changeWorkspaceRequest = _data[\"changeWorkspaceRequest\"] ? ChangeWorkspaceRequest.fromJS(_data[\"changeWorkspaceRequest\"]) : undefined;\r\n this.reservationSourcePage = _data[\"reservationSourcePage\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.patch)) {\r\n data[\"patch\"] = [];\r\n for (let item of this.patch)\r\n data[\"patch\"].push(item.toJSON());\r\n }\r\n data[\"deviceData\"] = this.deviceData;\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"terminateWhenTotalPriceMismatch\"] = this.terminateWhenTotalPriceMismatch;\r\n data[\"changeWorkspaceRequest\"] = this.changeWorkspaceRequest ? this.changeWorkspaceRequest.toJSON() : undefined;\r\n data[\"reservationSourcePage\"] = this.reservationSourcePage;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditReservationRequest {\r\n patch: Operation[];\r\n deviceData: string | undefined;\r\n totalPrice: number | undefined;\r\n terminateWhenTotalPriceMismatch: boolean | undefined;\r\n changeWorkspaceRequest: ChangeWorkspaceRequest | undefined;\r\n reservationSourcePage: string | undefined;\r\n}\r\n\r\nexport class ReservationRaw implements IReservationRaw {\r\n id!: string;\r\n ownerId!: string;\r\n venueId!: string;\r\n workspaceId!: string;\r\n startTime!: string;\r\n\r\n constructor(data?: IReservationRaw) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.startTime = _data[\"startTime\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationRaw {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ReservationRaw();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"startTime\"] = this.startTime;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRaw {\r\n id: string;\r\n ownerId: string;\r\n venueId: string;\r\n workspaceId: string;\r\n startTime: string;\r\n}\r\n\r\nexport abstract class ReservationRequest implements IReservationRequest {\r\n venueId!: string;\r\n workspaceId!: string;\r\n name!: string | undefined;\r\n /** Admin or SU notes */\r\n notes!: string | undefined;\r\n organizer!: ReservationOrganizer;\r\n amenities!: string[];\r\n paymentMethod!: PaymentMethodDescriptor | undefined;\r\n reservationSourcePage!: string | undefined;\r\n campaignTrackingDetails!: { [key: string]: string; } | undefined;\r\n totalPrice!: number | undefined;\r\n terminateWhenTotalPriceMismatch!: boolean | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences!: ReservationIntegrationReferences | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.name = _data[\"name\"];\r\n this.notes = _data[\"notes\"];\r\n this.organizer = _data[\"organizer\"] ? ReservationOrganizer.fromJS(_data[\"organizer\"]) : undefined;\r\n if (Array.isArray(_data[\"amenities\"])) {\r\n this.amenities = [] as any;\r\n for (let item of _data[\"amenities\"])\r\n this.amenities!.push(item);\r\n }\r\n this.paymentMethod = _data[\"paymentMethod\"] ? PaymentMethodDescriptor.fromJS(_data[\"paymentMethod\"]) : undefined;\r\n this.reservationSourcePage = _data[\"reservationSourcePage\"];\r\n if (_data[\"campaignTrackingDetails\"]) {\r\n this.campaignTrackingDetails = {} as any;\r\n for (let key in _data[\"campaignTrackingDetails\"]) {\r\n if (_data[\"campaignTrackingDetails\"].hasOwnProperty(key))\r\n (this.campaignTrackingDetails)![key] = _data[\"campaignTrackingDetails\"][key];\r\n }\r\n }\r\n this.totalPrice = _data[\"totalPrice\"];\r\n this.terminateWhenTotalPriceMismatch = _data[\"terminateWhenTotalPriceMismatch\"];\r\n this.integrationReferences = _data[\"integrationReferences\"] ? ReservationIntegrationReferences.fromJS(_data[\"integrationReferences\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"HourlyReservationRequest\") {\r\n let result = new HourlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"DaypassReservationRequest\") {\r\n let result = new DaypassReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"MonthlyReservationRequest\") {\r\n let result = new MonthlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationRequest' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"name\"] = this.name;\r\n data[\"notes\"] = this.notes;\r\n data[\"organizer\"] = this.organizer ? this.organizer.toJSON() : undefined;\r\n if (Array.isArray(this.amenities)) {\r\n data[\"amenities\"] = [];\r\n for (let item of this.amenities)\r\n data[\"amenities\"].push(item);\r\n }\r\n data[\"paymentMethod\"] = this.paymentMethod ? this.paymentMethod.toJSON() : undefined;\r\n data[\"reservationSourcePage\"] = this.reservationSourcePage;\r\n if (this.campaignTrackingDetails) {\r\n data[\"campaignTrackingDetails\"] = {};\r\n for (let key in this.campaignTrackingDetails) {\r\n if (this.campaignTrackingDetails.hasOwnProperty(key))\r\n (data[\"campaignTrackingDetails\"])[key] = (this.campaignTrackingDetails)[key];\r\n }\r\n }\r\n data[\"totalPrice\"] = this.totalPrice;\r\n data[\"terminateWhenTotalPriceMismatch\"] = this.terminateWhenTotalPriceMismatch;\r\n data[\"integrationReferences\"] = this.integrationReferences ? this.integrationReferences.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationRequest {\r\n venueId: string;\r\n workspaceId: string;\r\n name: string | undefined;\r\n /** Admin or SU notes */\r\n notes: string | undefined;\r\n organizer: ReservationOrganizer;\r\n amenities: string[];\r\n paymentMethod: PaymentMethodDescriptor | undefined;\r\n reservationSourcePage: string | undefined;\r\n campaignTrackingDetails: { [key: string]: string; } | undefined;\r\n totalPrice: number | undefined;\r\n terminateWhenTotalPriceMismatch: boolean | undefined;\r\n /** Intermidiate data for integrations, i.e. Regus. Ensures that availability and price calculations are consistent between display and submit */\r\n integrationReferences: ReservationIntegrationReferences | undefined;\r\n}\r\n\r\nexport abstract class ReservationOrganizer implements IReservationOrganizer {\r\n fullName!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n company!: string | undefined;\r\n address!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n postalCode!: string | undefined;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IReservationOrganizer) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"ReservationOrganizer\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.company = _data[\"company\"];\r\n this.address = _data[\"address\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n this.postalCode = _data[\"postalCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ReservationOrganizer {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"AnonymousReservationOrganizer\") {\r\n let result = new AnonymousReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"AuthenticatedReservationOrganizer\") {\r\n let result = new AuthenticatedReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'ReservationOrganizer' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"company\"] = this.company;\r\n data[\"address\"] = this.address;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n data[\"postalCode\"] = this.postalCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IReservationOrganizer {\r\n fullName: string | undefined;\r\n phoneNumber: string | undefined;\r\n company: string | undefined;\r\n address: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n postalCode: string | undefined;\r\n}\r\n\r\nexport class AnonymousReservationOrganizer extends ReservationOrganizer implements IAnonymousReservationOrganizer {\r\n email!: string;\r\n\r\n constructor(data?: IAnonymousReservationOrganizer) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"AnonymousReservationOrganizer\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AnonymousReservationOrganizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AnonymousReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"email\"] = this.email;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAnonymousReservationOrganizer extends IReservationOrganizer {\r\n email: string;\r\n}\r\n\r\nexport class AuthenticatedReservationOrganizer extends ReservationOrganizer implements IAuthenticatedReservationOrganizer {\r\n id!: string;\r\n\r\n constructor(data?: IAuthenticatedReservationOrganizer) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"AuthenticatedReservationOrganizer\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AuthenticatedReservationOrganizer {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AuthenticatedReservationOrganizer();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAuthenticatedReservationOrganizer extends IReservationOrganizer {\r\n id: string;\r\n}\r\n\r\nexport class HourlyReservationRequest extends ReservationRequest implements IHourlyReservationRequest {\r\n details!: HourlyReservationDetails;\r\n promotion!: ReservationPromotion | undefined;\r\n\r\n constructor(data?: IHourlyReservationRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"HourlyReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.details = _data[\"details\"] ? HourlyReservationDetails.fromJS(_data[\"details\"]) : undefined;\r\n this.promotion = _data[\"promotion\"] ? ReservationPromotion.fromJS(_data[\"promotion\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): HourlyReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HourlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n data[\"promotion\"] = this.promotion ? this.promotion.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHourlyReservationRequest extends IReservationRequest {\r\n details: HourlyReservationDetails;\r\n promotion: ReservationPromotion | undefined;\r\n}\r\n\r\nexport class DaypassReservationRequest extends ReservationRequest implements IDaypassReservationRequest {\r\n details!: DaypassReservationDetails;\r\n promotion!: ReservationPromotion | undefined;\r\n\r\n constructor(data?: IDaypassReservationRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"DaypassReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.details = _data[\"details\"] ? DaypassReservationDetails.fromJS(_data[\"details\"]) : undefined;\r\n this.promotion = _data[\"promotion\"] ? ReservationPromotion.fromJS(_data[\"promotion\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): DaypassReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DaypassReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n data[\"promotion\"] = this.promotion ? this.promotion.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDaypassReservationRequest extends IReservationRequest {\r\n details: DaypassReservationDetails;\r\n promotion: ReservationPromotion | undefined;\r\n}\r\n\r\nexport class MonthlyReservationRequest extends ReservationRequest implements IMonthlyReservationRequest {\r\n details!: MonthlyReservationDetails;\r\n\r\n constructor(data?: IMonthlyReservationRequest) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"MonthlyReservationRequest\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.details = _data[\"details\"] ? MonthlyReservationDetails.fromJS(_data[\"details\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MonthlyReservationRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MonthlyReservationRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"details\"] = this.details ? this.details.toJSON() : undefined;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMonthlyReservationRequest extends IReservationRequest {\r\n details: MonthlyReservationDetails;\r\n}\r\n\r\nexport class CreateReservationResponse implements ICreateReservationResponse {\r\n id!: string;\r\n securityCode!: string;\r\n\r\n constructor(data?: ICreateReservationResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.securityCode = _data[\"securityCode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CreateReservationResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CreateReservationResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"securityCode\"] = this.securityCode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICreateReservationResponse {\r\n id: string;\r\n securityCode: string;\r\n}\r\n\r\nexport class VenueConfirmationViewModel implements IVenueConfirmationViewModel {\r\n status!: VenueConfirmationStatus;\r\n date!: string | undefined;\r\n authorFullName!: string | undefined;\r\n urgency!: HourlyReservationUrgencyStatus;\r\n\r\n constructor(data?: IVenueConfirmationViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.status = _data[\"status\"];\r\n this.date = _data[\"date\"];\r\n this.authorFullName = _data[\"authorFullName\"];\r\n this.urgency = _data[\"urgency\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueConfirmationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueConfirmationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"status\"] = this.status;\r\n data[\"date\"] = this.date;\r\n data[\"authorFullName\"] = this.authorFullName;\r\n data[\"urgency\"] = this.urgency;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueConfirmationViewModel {\r\n status: VenueConfirmationStatus;\r\n date: string | undefined;\r\n authorFullName: string | undefined;\r\n urgency: HourlyReservationUrgencyStatus;\r\n}\r\n\r\nexport class PromotionListItemViewModel implements IPromotionListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n code!: string;\r\n redemptionsCount!: number;\r\n activeDate!: string;\r\n expirationDate!: string;\r\n\r\n constructor(data?: IPromotionListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.code = _data[\"code\"];\r\n this.redemptionsCount = _data[\"redemptionsCount\"];\r\n this.activeDate = _data[\"activeDate\"];\r\n this.expirationDate = _data[\"expirationDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"code\"] = this.code;\r\n data[\"redemptionsCount\"] = this.redemptionsCount;\r\n data[\"activeDate\"] = this.activeDate;\r\n data[\"expirationDate\"] = this.expirationDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionListItemViewModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n code: string;\r\n redemptionsCount: number;\r\n activeDate: string;\r\n expirationDate: string;\r\n}\r\n\r\nexport class PromotionSettingsViewModel implements IPromotionSettingsViewModel {\r\n name!: string;\r\n code!: string;\r\n promotionPageLink!: string | undefined;\r\n description!: string | undefined;\r\n legalDescription!: string | undefined;\r\n searchDescription!: string | undefined;\r\n discountType!: PromotionDiscountType;\r\n discountAmount!: number;\r\n isPaidByLiquidspace!: boolean;\r\n maximumSavings!: number;\r\n activeDate!: string;\r\n expirationDate!: string;\r\n reservationWindowStartTime!: string | undefined;\r\n reservationWindowEndTime!: string | undefined;\r\n /** Coupon Cookie Expiration (days) */\r\n couponCookieExpiration!: number | undefined;\r\n maxNumberRedemptionsTotal!: number;\r\n maxNumberRedemptionsPerUser!: number;\r\n firstTimeUserOnly!: boolean;\r\n nonOriginatedVenueOnly!: boolean;\r\n firstTimeVisitNonOriginatedVenue!: boolean;\r\n creditCardOnly!: boolean;\r\n creditCardTypes!: CreditCardTypeType[];\r\n memberInvitedOnly!: boolean;\r\n /** Valid after member create date (days) */\r\n daysValidAfterMemberCreation!: number;\r\n mobileOnly!: boolean;\r\n membershipPromotionType!: MembershipPromotionType;\r\n additionalInfoRequired!: boolean;\r\n additionalInfoPlaceholderText!: string | undefined;\r\n workspaceScenarioIds!: string[];\r\n\r\n constructor(data?: IPromotionSettingsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n this.promotionPageLink = _data[\"promotionPageLink\"];\r\n this.description = _data[\"description\"];\r\n this.legalDescription = _data[\"legalDescription\"];\r\n this.searchDescription = _data[\"searchDescription\"];\r\n this.discountType = _data[\"discountType\"];\r\n this.discountAmount = _data[\"discountAmount\"];\r\n this.isPaidByLiquidspace = _data[\"isPaidByLiquidspace\"];\r\n this.maximumSavings = _data[\"maximumSavings\"];\r\n this.activeDate = _data[\"activeDate\"];\r\n this.expirationDate = _data[\"expirationDate\"];\r\n this.reservationWindowStartTime = _data[\"reservationWindowStartTime\"];\r\n this.reservationWindowEndTime = _data[\"reservationWindowEndTime\"];\r\n this.couponCookieExpiration = _data[\"couponCookieExpiration\"];\r\n this.maxNumberRedemptionsTotal = _data[\"maxNumberRedemptionsTotal\"];\r\n this.maxNumberRedemptionsPerUser = _data[\"maxNumberRedemptionsPerUser\"];\r\n this.firstTimeUserOnly = _data[\"firstTimeUserOnly\"];\r\n this.nonOriginatedVenueOnly = _data[\"nonOriginatedVenueOnly\"];\r\n this.firstTimeVisitNonOriginatedVenue = _data[\"firstTimeVisitNonOriginatedVenue\"];\r\n this.creditCardOnly = _data[\"creditCardOnly\"];\r\n if (Array.isArray(_data[\"creditCardTypes\"])) {\r\n this.creditCardTypes = [] as any;\r\n for (let item of _data[\"creditCardTypes\"])\r\n this.creditCardTypes!.push(item);\r\n }\r\n this.memberInvitedOnly = _data[\"memberInvitedOnly\"];\r\n this.daysValidAfterMemberCreation = _data[\"daysValidAfterMemberCreation\"];\r\n this.mobileOnly = _data[\"mobileOnly\"];\r\n this.membershipPromotionType = _data[\"membershipPromotionType\"];\r\n this.additionalInfoRequired = _data[\"additionalInfoRequired\"];\r\n this.additionalInfoPlaceholderText = _data[\"additionalInfoPlaceholderText\"];\r\n if (Array.isArray(_data[\"workspaceScenarioIds\"])) {\r\n this.workspaceScenarioIds = [] as any;\r\n for (let item of _data[\"workspaceScenarioIds\"])\r\n this.workspaceScenarioIds!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionSettingsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionSettingsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n data[\"promotionPageLink\"] = this.promotionPageLink;\r\n data[\"description\"] = this.description;\r\n data[\"legalDescription\"] = this.legalDescription;\r\n data[\"searchDescription\"] = this.searchDescription;\r\n data[\"discountType\"] = this.discountType;\r\n data[\"discountAmount\"] = this.discountAmount;\r\n data[\"isPaidByLiquidspace\"] = this.isPaidByLiquidspace;\r\n data[\"maximumSavings\"] = this.maximumSavings;\r\n data[\"activeDate\"] = this.activeDate;\r\n data[\"expirationDate\"] = this.expirationDate;\r\n data[\"reservationWindowStartTime\"] = this.reservationWindowStartTime;\r\n data[\"reservationWindowEndTime\"] = this.reservationWindowEndTime;\r\n data[\"couponCookieExpiration\"] = this.couponCookieExpiration;\r\n data[\"maxNumberRedemptionsTotal\"] = this.maxNumberRedemptionsTotal;\r\n data[\"maxNumberRedemptionsPerUser\"] = this.maxNumberRedemptionsPerUser;\r\n data[\"firstTimeUserOnly\"] = this.firstTimeUserOnly;\r\n data[\"nonOriginatedVenueOnly\"] = this.nonOriginatedVenueOnly;\r\n data[\"firstTimeVisitNonOriginatedVenue\"] = this.firstTimeVisitNonOriginatedVenue;\r\n data[\"creditCardOnly\"] = this.creditCardOnly;\r\n if (Array.isArray(this.creditCardTypes)) {\r\n data[\"creditCardTypes\"] = [];\r\n for (let item of this.creditCardTypes)\r\n data[\"creditCardTypes\"].push(item);\r\n }\r\n data[\"memberInvitedOnly\"] = this.memberInvitedOnly;\r\n data[\"daysValidAfterMemberCreation\"] = this.daysValidAfterMemberCreation;\r\n data[\"mobileOnly\"] = this.mobileOnly;\r\n data[\"membershipPromotionType\"] = this.membershipPromotionType;\r\n data[\"additionalInfoRequired\"] = this.additionalInfoRequired;\r\n data[\"additionalInfoPlaceholderText\"] = this.additionalInfoPlaceholderText;\r\n if (Array.isArray(this.workspaceScenarioIds)) {\r\n data[\"workspaceScenarioIds\"] = [];\r\n for (let item of this.workspaceScenarioIds)\r\n data[\"workspaceScenarioIds\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionSettingsViewModel {\r\n name: string;\r\n code: string;\r\n promotionPageLink: string | undefined;\r\n description: string | undefined;\r\n legalDescription: string | undefined;\r\n searchDescription: string | undefined;\r\n discountType: PromotionDiscountType;\r\n discountAmount: number;\r\n isPaidByLiquidspace: boolean;\r\n maximumSavings: number;\r\n activeDate: string;\r\n expirationDate: string;\r\n reservationWindowStartTime: string | undefined;\r\n reservationWindowEndTime: string | undefined;\r\n /** Coupon Cookie Expiration (days) */\r\n couponCookieExpiration: number | undefined;\r\n maxNumberRedemptionsTotal: number;\r\n maxNumberRedemptionsPerUser: number;\r\n firstTimeUserOnly: boolean;\r\n nonOriginatedVenueOnly: boolean;\r\n firstTimeVisitNonOriginatedVenue: boolean;\r\n creditCardOnly: boolean;\r\n creditCardTypes: CreditCardTypeType[];\r\n memberInvitedOnly: boolean;\r\n /** Valid after member create date (days) */\r\n daysValidAfterMemberCreation: number;\r\n mobileOnly: boolean;\r\n membershipPromotionType: MembershipPromotionType;\r\n additionalInfoRequired: boolean;\r\n additionalInfoPlaceholderText: string | undefined;\r\n workspaceScenarioIds: string[];\r\n}\r\n\r\n/** 0 = FixedAmount 1 = Percentage */\r\nexport enum PromotionDiscountType {\r\n FixedAmount = 0,\r\n Percentage = 1,\r\n}\r\n\r\n/** 0 = None 1 = HomeVenue 2 = Reciprocal 3 = LiquidSpace */\r\nexport enum MembershipPromotionType {\r\n None = 0,\r\n HomeVenue = 1,\r\n Reciprocal = 2,\r\n LiquidSpace = 3,\r\n}\r\n\r\nexport class PromotionRedemptionListItemViewModel implements IPromotionRedemptionListItemViewModel {\r\n redemptionId!: string;\r\n redemptionDate!: string;\r\n userGuid!: string;\r\n reservationId!: string;\r\n occurrenceDate!: string | undefined;\r\n\r\n constructor(data?: IPromotionRedemptionListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.redemptionId = _data[\"redemptionId\"];\r\n this.redemptionDate = _data[\"redemptionDate\"];\r\n this.userGuid = _data[\"userGuid\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.occurrenceDate = _data[\"occurrenceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionRedemptionListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionRedemptionListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"redemptionId\"] = this.redemptionId;\r\n data[\"redemptionDate\"] = this.redemptionDate;\r\n data[\"userGuid\"] = this.userGuid;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"occurrenceDate\"] = this.occurrenceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionRedemptionListItemViewModel {\r\n redemptionId: string;\r\n redemptionDate: string;\r\n userGuid: string;\r\n reservationId: string;\r\n occurrenceDate: string | undefined;\r\n}\r\n\r\nexport class PromotionValidationResultViewModel implements IPromotionValidationResultViewModel {\r\n code!: string | undefined;\r\n isValid!: boolean;\r\n errorMessage!: string | undefined;\r\n additionalInfoRequired!: boolean;\r\n additionalInfoPlaceholderText!: string | undefined;\r\n\r\n constructor(data?: IPromotionValidationResultViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.code = _data[\"code\"];\r\n this.isValid = _data[\"isValid\"];\r\n this.errorMessage = _data[\"errorMessage\"];\r\n this.additionalInfoRequired = _data[\"additionalInfoRequired\"];\r\n this.additionalInfoPlaceholderText = _data[\"additionalInfoPlaceholderText\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionValidationResultViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionValidationResultViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"code\"] = this.code;\r\n data[\"isValid\"] = this.isValid;\r\n data[\"errorMessage\"] = this.errorMessage;\r\n data[\"additionalInfoRequired\"] = this.additionalInfoRequired;\r\n data[\"additionalInfoPlaceholderText\"] = this.additionalInfoPlaceholderText;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionValidationResultViewModel {\r\n code: string | undefined;\r\n isValid: boolean;\r\n errorMessage: string | undefined;\r\n additionalInfoRequired: boolean;\r\n additionalInfoPlaceholderText: string | undefined;\r\n}\r\n\r\nexport class PromotionMemberGroupListItemViewModel implements IPromotionMemberGroupListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IPromotionMemberGroupListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionMemberGroupListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionMemberGroupListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionMemberGroupListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class PromotionVenueGroupListItemViewModel implements IPromotionVenueGroupListItemViewModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IPromotionVenueGroupListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionVenueGroupListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionVenueGroupListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionVenueGroupListItemViewModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport class PromotionVenueListItemViewModel implements IPromotionVenueListItemViewModel {\r\n id!: string;\r\n fullName!: string;\r\n address!: string;\r\n\r\n constructor(data?: IPromotionVenueListItemViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PromotionVenueListItemViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PromotionVenueListItemViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPromotionVenueListItemViewModel {\r\n id: string;\r\n fullName: string;\r\n address: string;\r\n}\r\n\r\nexport class SendMessageResponse implements ISendMessageResponse {\r\n message!: MessageViewModel | undefined;\r\n chain!: MessageChain | undefined;\r\n\r\n constructor(data?: ISendMessageResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"] ? MessageViewModel.fromJS(_data[\"message\"]) : undefined;\r\n this.chain = _data[\"chain\"] ? MessageChain.fromJS(_data[\"chain\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendMessageResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendMessageResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message ? this.message.toJSON() : undefined;\r\n data[\"chain\"] = this.chain ? this.chain.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISendMessageResponse {\r\n message: MessageViewModel | undefined;\r\n chain: MessageChain | undefined;\r\n}\r\n\r\nexport class MessageViewModel implements IMessageViewModel {\r\n id!: string;\r\n deleted!: boolean;\r\n createTime!: string;\r\n ownerId!: string;\r\n targetId!: string;\r\n chainId!: string | undefined;\r\n text!: string | undefined;\r\n read!: boolean;\r\n subject!: string | undefined;\r\n venueId!: string | undefined;\r\n fromVenue!: boolean;\r\n workspaceId!: string | undefined;\r\n omitStripSensitiveData!: boolean;\r\n isMonthly!: boolean;\r\n messageSource!: MessageSource;\r\n searchRequestId!: string | undefined;\r\n hasProposal!: boolean;\r\n workflowId!: string | undefined;\r\n attachments!: MessageAttachmentViewModel[] | undefined;\r\n isModerated!: boolean;\r\n ownerName!: string | undefined;\r\n ownerFirstName!: string | undefined;\r\n ownerImage!: string | undefined;\r\n isOwn!: boolean;\r\n displayVenueLink!: boolean;\r\n hasHiddenText!: boolean;\r\n isSpaceExpert!: boolean;\r\n score!: number | undefined;\r\n cbvScore!: number | undefined;\r\n\r\n constructor(data?: IMessageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.deleted = _data[\"deleted\"];\r\n this.createTime = _data[\"createTime\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n this.targetId = _data[\"targetId\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.text = _data[\"text\"];\r\n this.read = _data[\"read\"];\r\n this.subject = _data[\"subject\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.fromVenue = _data[\"fromVenue\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.omitStripSensitiveData = _data[\"omitStripSensitiveData\"];\r\n this.isMonthly = _data[\"isMonthly\"];\r\n this.messageSource = _data[\"messageSource\"];\r\n this.searchRequestId = _data[\"searchRequestId\"];\r\n this.hasProposal = _data[\"hasProposal\"];\r\n this.workflowId = _data[\"workflowId\"];\r\n if (Array.isArray(_data[\"attachments\"])) {\r\n this.attachments = [] as any;\r\n for (let item of _data[\"attachments\"])\r\n this.attachments!.push(MessageAttachmentViewModel.fromJS(item));\r\n }\r\n this.isModerated = _data[\"isModerated\"];\r\n this.ownerName = _data[\"ownerName\"];\r\n this.ownerFirstName = _data[\"ownerFirstName\"];\r\n this.ownerImage = _data[\"ownerImage\"];\r\n this.isOwn = _data[\"isOwn\"];\r\n this.displayVenueLink = _data[\"displayVenueLink\"];\r\n this.hasHiddenText = _data[\"hasHiddenText\"];\r\n this.isSpaceExpert = _data[\"isSpaceExpert\"];\r\n this.score = _data[\"score\"];\r\n this.cbvScore = _data[\"cbvScore\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"deleted\"] = this.deleted;\r\n data[\"createTime\"] = this.createTime;\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"targetId\"] = this.targetId;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"text\"] = this.text;\r\n data[\"read\"] = this.read;\r\n data[\"subject\"] = this.subject;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"fromVenue\"] = this.fromVenue;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"omitStripSensitiveData\"] = this.omitStripSensitiveData;\r\n data[\"isMonthly\"] = this.isMonthly;\r\n data[\"messageSource\"] = this.messageSource;\r\n data[\"searchRequestId\"] = this.searchRequestId;\r\n data[\"hasProposal\"] = this.hasProposal;\r\n data[\"workflowId\"] = this.workflowId;\r\n if (Array.isArray(this.attachments)) {\r\n data[\"attachments\"] = [];\r\n for (let item of this.attachments)\r\n data[\"attachments\"].push(item.toJSON());\r\n }\r\n data[\"isModerated\"] = this.isModerated;\r\n data[\"ownerName\"] = this.ownerName;\r\n data[\"ownerFirstName\"] = this.ownerFirstName;\r\n data[\"ownerImage\"] = this.ownerImage;\r\n data[\"isOwn\"] = this.isOwn;\r\n data[\"displayVenueLink\"] = this.displayVenueLink;\r\n data[\"hasHiddenText\"] = this.hasHiddenText;\r\n data[\"isSpaceExpert\"] = this.isSpaceExpert;\r\n data[\"score\"] = this.score;\r\n data[\"cbvScore\"] = this.cbvScore;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageViewModel {\r\n id: string;\r\n deleted: boolean;\r\n createTime: string;\r\n ownerId: string;\r\n targetId: string;\r\n chainId: string | undefined;\r\n text: string | undefined;\r\n read: boolean;\r\n subject: string | undefined;\r\n venueId: string | undefined;\r\n fromVenue: boolean;\r\n workspaceId: string | undefined;\r\n omitStripSensitiveData: boolean;\r\n isMonthly: boolean;\r\n messageSource: MessageSource;\r\n searchRequestId: string | undefined;\r\n hasProposal: boolean;\r\n workflowId: string | undefined;\r\n attachments: MessageAttachmentViewModel[] | undefined;\r\n isModerated: boolean;\r\n ownerName: string | undefined;\r\n ownerFirstName: string | undefined;\r\n ownerImage: string | undefined;\r\n isOwn: boolean;\r\n displayVenueLink: boolean;\r\n hasHiddenText: boolean;\r\n isSpaceExpert: boolean;\r\n score: number | undefined;\r\n cbvScore: number | undefined;\r\n}\r\n\r\n/** 0 = NotSpecified 1 = Messenger 2 = XPP 3 = WLP 4 = FurnitureRequest 5 = ShareProfile 6 = UpsertSharedCollection 7 = UpsertProposal 8 = UpsertSearchRequest 9 = InquiryRequest 10 = TourRequest 11 = BookRequest 12 = UpsertTour 13 = UpsertMemberVisaState 14 = MessengerEmailEvent 15 = VenueSubmittedForApproval 16 = SUMobileUsersMessage 17 = CheckAvailability 18 = DeclineProposal 19 = ApproveToBook 20 = VenueSubmittedForLiquidspacePro */\r\nexport enum MessageSource {\r\n NotSpecified = 0,\r\n Messenger = 1,\r\n XPP = 2,\r\n WLP = 3,\r\n FurnitureRequest = 4,\r\n ShareProfile = 5,\r\n UpsertSharedCollection = 6,\r\n UpsertProposal = 7,\r\n UpsertSearchRequest = 8,\r\n InquiryRequest = 9,\r\n TourRequest = 10,\r\n BookRequest = 11,\r\n UpsertTour = 12,\r\n UpsertMemberVisaState = 13,\r\n MessengerEmailEvent = 14,\r\n VenueSubmittedForApproval = 15,\r\n SUMobileUsersMessage = 16,\r\n CheckAvailability = 17,\r\n DeclineProposal = 18,\r\n ApproveToBook = 19,\r\n VenueSubmittedForLiquidspacePro = 20,\r\n}\r\n\r\nexport class MessageAttachmentViewModel implements IMessageAttachmentViewModel {\r\n id!: string;\r\n fileName!: string | undefined;\r\n contentType!: string | undefined;\r\n previewUrl!: string | undefined;\r\n\r\n constructor(data?: IMessageAttachmentViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fileName = _data[\"fileName\"];\r\n this.contentType = _data[\"contentType\"];\r\n this.previewUrl = _data[\"previewUrl\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageAttachmentViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageAttachmentViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fileName\"] = this.fileName;\r\n data[\"contentType\"] = this.contentType;\r\n data[\"previewUrl\"] = this.previewUrl;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageAttachmentViewModel {\r\n id: string;\r\n fileName: string | undefined;\r\n contentType: string | undefined;\r\n previewUrl: string | undefined;\r\n}\r\n\r\nexport class MessageChain implements IMessageChain {\r\n chainId!: string;\r\n memberId!: string;\r\n memberPhoneNumber!: string | undefined;\r\n memberCompany!: string | undefined;\r\n memberEnterpriseAccountName!: string | undefined;\r\n subject!: string;\r\n messages!: MessageViewModel[];\r\n messageStatus!: MessageStatus;\r\n additionalStatus!: string;\r\n isArchived!: boolean;\r\n messageRules!: { [key: string]: string; };\r\n isVenueMode!: boolean;\r\n senderId!: string;\r\n senderName!: string;\r\n senderFirstName!: string;\r\n senderImage!: string | undefined;\r\n senderDeleted!: boolean;\r\n senderIsSpaceExpert!: boolean;\r\n venueId!: string | undefined;\r\n venueUrl!: string | undefined;\r\n venueName!: string | undefined;\r\n venueToday!: string | undefined;\r\n monthlyVisaId!: string | undefined;\r\n xppUrl!: string | undefined;\r\n workspaceId!: string | undefined;\r\n workspaceName!: string | undefined;\r\n workspaceLandingPageUrl!: string | undefined;\r\n isPeriodWorkspace!: boolean;\r\n isRequestToBookWorkspace!: boolean;\r\n isWorkspaceInquire!: boolean;\r\n workflowId!: string | undefined;\r\n monthlyMemberVisaState!: VisaState | undefined;\r\n tour!: TourViewModel | undefined;\r\n visaRequest!: VisaRequestViewModel | undefined;\r\n savedSearchDashboardViewModel!: SavedSearchDashboardViewModel | undefined;\r\n proposalWorkspace!: ProposalWorkspaceViewModel | undefined;\r\n lastMessageDate!: string | undefined;\r\n lastMessageDateVTZ!: string | undefined;\r\n workspaces!: WorkspaceOptionViewModel[];\r\n readyToBookStep!: number;\r\n showProposalActions!: boolean;\r\n requestToBookUrl!: string | undefined;\r\n scheduleTourUrl!: string | undefined;\r\n activeVenueTourId!: string | undefined;\r\n hasMemberEngagedWithVenue!: boolean;\r\n\r\n constructor(data?: IMessageChain) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.chainId = _data[\"chainId\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberPhoneNumber = _data[\"memberPhoneNumber\"];\r\n this.memberCompany = _data[\"memberCompany\"];\r\n this.memberEnterpriseAccountName = _data[\"memberEnterpriseAccountName\"];\r\n this.subject = _data[\"subject\"];\r\n if (Array.isArray(_data[\"messages\"])) {\r\n this.messages = [] as any;\r\n for (let item of _data[\"messages\"])\r\n this.messages!.push(MessageViewModel.fromJS(item));\r\n }\r\n this.messageStatus = _data[\"messageStatus\"];\r\n this.additionalStatus = _data[\"additionalStatus\"];\r\n this.isArchived = _data[\"isArchived\"];\r\n if (_data[\"messageRules\"]) {\r\n this.messageRules = {} as any;\r\n for (let key in _data[\"messageRules\"]) {\r\n if (_data[\"messageRules\"].hasOwnProperty(key))\r\n (this.messageRules)![key] = _data[\"messageRules\"][key];\r\n }\r\n }\r\n this.isVenueMode = _data[\"isVenueMode\"];\r\n this.senderId = _data[\"senderId\"];\r\n this.senderName = _data[\"senderName\"];\r\n this.senderFirstName = _data[\"senderFirstName\"];\r\n this.senderImage = _data[\"senderImage\"];\r\n this.senderDeleted = _data[\"senderDeleted\"];\r\n this.senderIsSpaceExpert = _data[\"senderIsSpaceExpert\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueUrl = _data[\"venueUrl\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueToday = _data[\"venueToday\"];\r\n this.monthlyVisaId = _data[\"monthlyVisaId\"];\r\n this.xppUrl = _data[\"xppUrl\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.workspaceLandingPageUrl = _data[\"workspaceLandingPageUrl\"];\r\n this.isPeriodWorkspace = _data[\"isPeriodWorkspace\"];\r\n this.isRequestToBookWorkspace = _data[\"isRequestToBookWorkspace\"];\r\n this.isWorkspaceInquire = _data[\"isWorkspaceInquire\"];\r\n this.workflowId = _data[\"workflowId\"];\r\n this.monthlyMemberVisaState = _data[\"monthlyMemberVisaState\"];\r\n this.tour = _data[\"tour\"] ? TourViewModel.fromJS(_data[\"tour\"]) : undefined;\r\n this.visaRequest = _data[\"visaRequest\"] ? VisaRequestViewModel.fromJS(_data[\"visaRequest\"]) : undefined;\r\n this.savedSearchDashboardViewModel = _data[\"savedSearchDashboardViewModel\"] ? SavedSearchDashboardViewModel.fromJS(_data[\"savedSearchDashboardViewModel\"]) : undefined;\r\n this.proposalWorkspace = _data[\"proposalWorkspace\"] ? ProposalWorkspaceViewModel.fromJS(_data[\"proposalWorkspace\"]) : undefined;\r\n this.lastMessageDate = _data[\"lastMessageDate\"];\r\n this.lastMessageDateVTZ = _data[\"lastMessageDateVTZ\"];\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(WorkspaceOptionViewModel.fromJS(item));\r\n }\r\n this.readyToBookStep = _data[\"readyToBookStep\"];\r\n this.showProposalActions = _data[\"showProposalActions\"];\r\n this.requestToBookUrl = _data[\"requestToBookUrl\"];\r\n this.scheduleTourUrl = _data[\"scheduleTourUrl\"];\r\n this.activeVenueTourId = _data[\"activeVenueTourId\"];\r\n this.hasMemberEngagedWithVenue = _data[\"hasMemberEngagedWithVenue\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageChain {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageChain();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"chainId\"] = this.chainId;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberPhoneNumber\"] = this.memberPhoneNumber;\r\n data[\"memberCompany\"] = this.memberCompany;\r\n data[\"memberEnterpriseAccountName\"] = this.memberEnterpriseAccountName;\r\n data[\"subject\"] = this.subject;\r\n if (Array.isArray(this.messages)) {\r\n data[\"messages\"] = [];\r\n for (let item of this.messages)\r\n data[\"messages\"].push(item.toJSON());\r\n }\r\n data[\"messageStatus\"] = this.messageStatus;\r\n data[\"additionalStatus\"] = this.additionalStatus;\r\n data[\"isArchived\"] = this.isArchived;\r\n if (this.messageRules) {\r\n data[\"messageRules\"] = {};\r\n for (let key in this.messageRules) {\r\n if (this.messageRules.hasOwnProperty(key))\r\n (data[\"messageRules\"])[key] = (this.messageRules)[key];\r\n }\r\n }\r\n data[\"isVenueMode\"] = this.isVenueMode;\r\n data[\"senderId\"] = this.senderId;\r\n data[\"senderName\"] = this.senderName;\r\n data[\"senderFirstName\"] = this.senderFirstName;\r\n data[\"senderImage\"] = this.senderImage;\r\n data[\"senderDeleted\"] = this.senderDeleted;\r\n data[\"senderIsSpaceExpert\"] = this.senderIsSpaceExpert;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueUrl\"] = this.venueUrl;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueToday\"] = this.venueToday;\r\n data[\"monthlyVisaId\"] = this.monthlyVisaId;\r\n data[\"xppUrl\"] = this.xppUrl;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"workspaceLandingPageUrl\"] = this.workspaceLandingPageUrl;\r\n data[\"isPeriodWorkspace\"] = this.isPeriodWorkspace;\r\n data[\"isRequestToBookWorkspace\"] = this.isRequestToBookWorkspace;\r\n data[\"isWorkspaceInquire\"] = this.isWorkspaceInquire;\r\n data[\"workflowId\"] = this.workflowId;\r\n data[\"monthlyMemberVisaState\"] = this.monthlyMemberVisaState;\r\n data[\"tour\"] = this.tour ? this.tour.toJSON() : undefined;\r\n data[\"visaRequest\"] = this.visaRequest ? this.visaRequest.toJSON() : undefined;\r\n data[\"savedSearchDashboardViewModel\"] = this.savedSearchDashboardViewModel ? this.savedSearchDashboardViewModel.toJSON() : undefined;\r\n data[\"proposalWorkspace\"] = this.proposalWorkspace ? this.proposalWorkspace.toJSON() : undefined;\r\n data[\"lastMessageDate\"] = this.lastMessageDate;\r\n data[\"lastMessageDateVTZ\"] = this.lastMessageDateVTZ;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n data[\"readyToBookStep\"] = this.readyToBookStep;\r\n data[\"showProposalActions\"] = this.showProposalActions;\r\n data[\"requestToBookUrl\"] = this.requestToBookUrl;\r\n data[\"scheduleTourUrl\"] = this.scheduleTourUrl;\r\n data[\"activeVenueTourId\"] = this.activeVenueTourId;\r\n data[\"hasMemberEngagedWithVenue\"] = this.hasMemberEngagedWithVenue;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageChain {\r\n chainId: string;\r\n memberId: string;\r\n memberPhoneNumber: string | undefined;\r\n memberCompany: string | undefined;\r\n memberEnterpriseAccountName: string | undefined;\r\n subject: string;\r\n messages: MessageViewModel[];\r\n messageStatus: MessageStatus;\r\n additionalStatus: string;\r\n isArchived: boolean;\r\n messageRules: { [key: string]: string; };\r\n isVenueMode: boolean;\r\n senderId: string;\r\n senderName: string;\r\n senderFirstName: string;\r\n senderImage: string | undefined;\r\n senderDeleted: boolean;\r\n senderIsSpaceExpert: boolean;\r\n venueId: string | undefined;\r\n venueUrl: string | undefined;\r\n venueName: string | undefined;\r\n venueToday: string | undefined;\r\n monthlyVisaId: string | undefined;\r\n xppUrl: string | undefined;\r\n workspaceId: string | undefined;\r\n workspaceName: string | undefined;\r\n workspaceLandingPageUrl: string | undefined;\r\n isPeriodWorkspace: boolean;\r\n isRequestToBookWorkspace: boolean;\r\n isWorkspaceInquire: boolean;\r\n workflowId: string | undefined;\r\n monthlyMemberVisaState: VisaState | undefined;\r\n tour: TourViewModel | undefined;\r\n visaRequest: VisaRequestViewModel | undefined;\r\n savedSearchDashboardViewModel: SavedSearchDashboardViewModel | undefined;\r\n proposalWorkspace: ProposalWorkspaceViewModel | undefined;\r\n lastMessageDate: string | undefined;\r\n lastMessageDateVTZ: string | undefined;\r\n workspaces: WorkspaceOptionViewModel[];\r\n readyToBookStep: number;\r\n showProposalActions: boolean;\r\n requestToBookUrl: string | undefined;\r\n scheduleTourUrl: string | undefined;\r\n activeVenueTourId: string | undefined;\r\n hasMemberEngagedWithVenue: boolean;\r\n}\r\n\r\n/** 0 = Default 1 = New 2 = BookingApproved 4 = BookingDeclined 8 = Reserved */\r\nexport enum MessageStatus {\r\n Default = 0,\r\n New = 1,\r\n BookingApproved = 2,\r\n BookingDeclined = 4,\r\n Reserved = 8,\r\n}\r\n\r\nexport class Tour implements ITour {\r\n id!: string;\r\n memberId!: string;\r\n venueId!: string;\r\n workspaceId!: string;\r\n tourStatus!: TourStatus;\r\n dateTime!: string;\r\n messengerChainId!: string;\r\n userInteractionStateWorkflowId!: string | undefined;\r\n tourCancelReason!: TourCancelReason;\r\n tourPostCompleteStatus!: TourPostCompleteStatus;\r\n plannedDesksCountToBook!: number;\r\n created!: string | undefined;\r\n\r\n constructor(data?: ITour) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.tourStatus = _data[\"tourStatus\"];\r\n this.dateTime = _data[\"dateTime\"];\r\n this.messengerChainId = _data[\"messengerChainId\"];\r\n this.userInteractionStateWorkflowId = _data[\"userInteractionStateWorkflowId\"];\r\n this.tourCancelReason = _data[\"tourCancelReason\"];\r\n this.tourPostCompleteStatus = _data[\"tourPostCompleteStatus\"];\r\n this.plannedDesksCountToBook = _data[\"plannedDesksCountToBook\"];\r\n this.created = _data[\"created\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): Tour {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new Tour();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"tourStatus\"] = this.tourStatus;\r\n data[\"dateTime\"] = this.dateTime;\r\n data[\"messengerChainId\"] = this.messengerChainId;\r\n data[\"userInteractionStateWorkflowId\"] = this.userInteractionStateWorkflowId;\r\n data[\"tourCancelReason\"] = this.tourCancelReason;\r\n data[\"tourPostCompleteStatus\"] = this.tourPostCompleteStatus;\r\n data[\"plannedDesksCountToBook\"] = this.plannedDesksCountToBook;\r\n data[\"created\"] = this.created;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITour {\r\n id: string;\r\n memberId: string;\r\n venueId: string;\r\n workspaceId: string;\r\n tourStatus: TourStatus;\r\n dateTime: string;\r\n messengerChainId: string;\r\n userInteractionStateWorkflowId: string | undefined;\r\n tourCancelReason: TourCancelReason;\r\n tourPostCompleteStatus: TourPostCompleteStatus;\r\n plannedDesksCountToBook: number;\r\n created: string | undefined;\r\n}\r\n\r\nexport class TourViewModel extends Tour implements ITourViewModel {\r\n dateTimeUtc!: string;\r\n requestToBookUrl!: string | undefined;\r\n workspaceImage!: string | undefined;\r\n timeZoneAbbreviation!: string | undefined;\r\n venueMapUrl!: string | undefined;\r\n workspaceUrl!: string | undefined;\r\n visaState!: VisaState | undefined;\r\n bookItUrl!: string | undefined;\r\n dateTimeVenueTime!: string;\r\n minDate!: string;\r\n memberFirstName!: string | undefined;\r\n workspaceName!: string | undefined;\r\n venueName!: string | undefined;\r\n venueAddress!: string | undefined;\r\n workspaceStatus!: WorkspaceStatus;\r\n\r\n constructor(data?: ITourViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.dateTimeUtc = _data[\"dateTimeUtc\"];\r\n this.requestToBookUrl = _data[\"requestToBookUrl\"];\r\n this.workspaceImage = _data[\"workspaceImage\"];\r\n this.timeZoneAbbreviation = _data[\"timeZoneAbbreviation\"];\r\n this.venueMapUrl = _data[\"venueMapUrl\"];\r\n this.workspaceUrl = _data[\"workspaceUrl\"];\r\n this.visaState = _data[\"visaState\"];\r\n this.bookItUrl = _data[\"bookItUrl\"];\r\n this.dateTimeVenueTime = _data[\"dateTimeVenueTime\"];\r\n this.minDate = _data[\"minDate\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueAddress = _data[\"venueAddress\"];\r\n this.workspaceStatus = _data[\"workspaceStatus\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): TourViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new TourViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dateTimeUtc\"] = this.dateTimeUtc;\r\n data[\"requestToBookUrl\"] = this.requestToBookUrl;\r\n data[\"workspaceImage\"] = this.workspaceImage;\r\n data[\"timeZoneAbbreviation\"] = this.timeZoneAbbreviation;\r\n data[\"venueMapUrl\"] = this.venueMapUrl;\r\n data[\"workspaceUrl\"] = this.workspaceUrl;\r\n data[\"visaState\"] = this.visaState;\r\n data[\"bookItUrl\"] = this.bookItUrl;\r\n data[\"dateTimeVenueTime\"] = this.dateTimeVenueTime;\r\n data[\"minDate\"] = this.minDate;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueAddress\"] = this.venueAddress;\r\n data[\"workspaceStatus\"] = this.workspaceStatus;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ITourViewModel extends ITour {\r\n dateTimeUtc: string;\r\n requestToBookUrl: string | undefined;\r\n workspaceImage: string | undefined;\r\n timeZoneAbbreviation: string | undefined;\r\n venueMapUrl: string | undefined;\r\n workspaceUrl: string | undefined;\r\n visaState: VisaState | undefined;\r\n bookItUrl: string | undefined;\r\n dateTimeVenueTime: string;\r\n minDate: string;\r\n memberFirstName: string | undefined;\r\n workspaceName: string | undefined;\r\n venueName: string | undefined;\r\n venueAddress: string | undefined;\r\n workspaceStatus: WorkspaceStatus;\r\n}\r\n\r\n/** 0 = Requested 1 = ChangedByGuest 2 = ChangedByVenue 3 = Confirmed 4 = CanceledByVenue 5 = CanceledByGuest 6 = Complete 7 = Expired 8 = Suggested */\r\nexport enum TourStatus {\r\n Requested = 0,\r\n ChangedByGuest = 1,\r\n ChangedByVenue = 2,\r\n Confirmed = 3,\r\n CanceledByVenue = 4,\r\n CanceledByGuest = 5,\r\n Complete = 6,\r\n Expired = 7,\r\n Suggested = 8,\r\n}\r\n\r\n/** 0 = None 1 = ReadyToBook 2 = StillThinking 3 = HostUnresponsive 4 = NotReadyRightNow 5 = BookedAlternate 6 = SpaceNotFit 7 = MyReasonIsNotListed 8 = AlreadyBooked */\r\nexport enum TourPostCompleteStatus {\r\n None = 0,\r\n ReadyToBook = 1,\r\n StillThinking = 2,\r\n HostUnresponsive = 3,\r\n NotReadyRightNow = 4,\r\n BookedAlternate = 5,\r\n SpaceNotFit = 6,\r\n MyReasonIsNotListed = 7,\r\n AlreadyBooked = 8,\r\n}\r\n\r\nexport class VisaRequestViewModel implements IVisaRequestViewModel {\r\n memberId!: string;\r\n bookingStartDate!: string | undefined;\r\n\r\n constructor(data?: IVisaRequestViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.bookingStartDate = _data[\"bookingStartDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VisaRequestViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VisaRequestViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"bookingStartDate\"] = this.bookingStartDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVisaRequestViewModel {\r\n memberId: string;\r\n bookingStartDate: string | undefined;\r\n}\r\n\r\nexport class SavedSearchDashboardViewModel implements ISavedSearchDashboardViewModel {\r\n id!: string;\r\n memberId!: string;\r\n memberFirstNameInitial!: string | undefined;\r\n memberFirstName!: string | undefined;\r\n memberLastName!: string | undefined;\r\n memberCompany!: string | undefined;\r\n memberPictureUrl!: string | undefined;\r\n spaceType!: string | undefined;\r\n spaceTypeWithCapacity!: string | undefined;\r\n capacity!: number | undefined;\r\n startDateString!: string | undefined;\r\n stringRepresentation!: string | undefined;\r\n isDeskSearch!: boolean;\r\n chainId!: string | undefined;\r\n messageDateString!: string | undefined;\r\n messageStatus!: string | undefined;\r\n reservationMethod!: WorkspaceReservationMethod | undefined;\r\n neighborhoods!: string[] | undefined;\r\n createdDateRelative!: string | undefined;\r\n listingsViewed!: number;\r\n minPrice!: number | undefined;\r\n maxPrice!: number | undefined;\r\n ownedListingsViewed!: SavedSearchListingInfo[] | undefined;\r\n lastSearchTag!: string | undefined;\r\n city!: string | undefined;\r\n isRFP!: boolean;\r\n rfpCompany!: string | undefined;\r\n specialRequests!: string | undefined;\r\n createdDate!: string | undefined;\r\n neighborhoodIds!: string[] | undefined;\r\n zipcodes!: string[] | undefined;\r\n\r\n constructor(data?: ISavedSearchDashboardViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFirstNameInitial = _data[\"memberFirstNameInitial\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.memberLastName = _data[\"memberLastName\"];\r\n this.memberCompany = _data[\"memberCompany\"];\r\n this.memberPictureUrl = _data[\"memberPictureUrl\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeWithCapacity = _data[\"spaceTypeWithCapacity\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.startDateString = _data[\"startDateString\"];\r\n this.stringRepresentation = _data[\"stringRepresentation\"];\r\n this.isDeskSearch = _data[\"isDeskSearch\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.messageDateString = _data[\"messageDateString\"];\r\n this.messageStatus = _data[\"messageStatus\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n if (Array.isArray(_data[\"neighborhoods\"])) {\r\n this.neighborhoods = [] as any;\r\n for (let item of _data[\"neighborhoods\"])\r\n this.neighborhoods!.push(item);\r\n }\r\n this.createdDateRelative = _data[\"createdDateRelative\"];\r\n this.listingsViewed = _data[\"listingsViewed\"];\r\n this.minPrice = _data[\"minPrice\"];\r\n this.maxPrice = _data[\"maxPrice\"];\r\n if (Array.isArray(_data[\"ownedListingsViewed\"])) {\r\n this.ownedListingsViewed = [] as any;\r\n for (let item of _data[\"ownedListingsViewed\"])\r\n this.ownedListingsViewed!.push(SavedSearchListingInfo.fromJS(item));\r\n }\r\n this.lastSearchTag = _data[\"lastSearchTag\"];\r\n this.city = _data[\"city\"];\r\n this.isRFP = _data[\"isRFP\"];\r\n this.rfpCompany = _data[\"rfpCompany\"];\r\n this.specialRequests = _data[\"specialRequests\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n if (Array.isArray(_data[\"neighborhoodIds\"])) {\r\n this.neighborhoodIds = [] as any;\r\n for (let item of _data[\"neighborhoodIds\"])\r\n this.neighborhoodIds!.push(item);\r\n }\r\n if (Array.isArray(_data[\"zipcodes\"])) {\r\n this.zipcodes = [] as any;\r\n for (let item of _data[\"zipcodes\"])\r\n this.zipcodes!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchDashboardViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchDashboardViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFirstNameInitial\"] = this.memberFirstNameInitial;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"memberLastName\"] = this.memberLastName;\r\n data[\"memberCompany\"] = this.memberCompany;\r\n data[\"memberPictureUrl\"] = this.memberPictureUrl;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeWithCapacity\"] = this.spaceTypeWithCapacity;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"startDateString\"] = this.startDateString;\r\n data[\"stringRepresentation\"] = this.stringRepresentation;\r\n data[\"isDeskSearch\"] = this.isDeskSearch;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"messageDateString\"] = this.messageDateString;\r\n data[\"messageStatus\"] = this.messageStatus;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n if (Array.isArray(this.neighborhoods)) {\r\n data[\"neighborhoods\"] = [];\r\n for (let item of this.neighborhoods)\r\n data[\"neighborhoods\"].push(item);\r\n }\r\n data[\"createdDateRelative\"] = this.createdDateRelative;\r\n data[\"listingsViewed\"] = this.listingsViewed;\r\n data[\"minPrice\"] = this.minPrice;\r\n data[\"maxPrice\"] = this.maxPrice;\r\n if (Array.isArray(this.ownedListingsViewed)) {\r\n data[\"ownedListingsViewed\"] = [];\r\n for (let item of this.ownedListingsViewed)\r\n data[\"ownedListingsViewed\"].push(item.toJSON());\r\n }\r\n data[\"lastSearchTag\"] = this.lastSearchTag;\r\n data[\"city\"] = this.city;\r\n data[\"isRFP\"] = this.isRFP;\r\n data[\"rfpCompany\"] = this.rfpCompany;\r\n data[\"specialRequests\"] = this.specialRequests;\r\n data[\"createdDate\"] = this.createdDate;\r\n if (Array.isArray(this.neighborhoodIds)) {\r\n data[\"neighborhoodIds\"] = [];\r\n for (let item of this.neighborhoodIds)\r\n data[\"neighborhoodIds\"].push(item);\r\n }\r\n if (Array.isArray(this.zipcodes)) {\r\n data[\"zipcodes\"] = [];\r\n for (let item of this.zipcodes)\r\n data[\"zipcodes\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchDashboardViewModel {\r\n id: string;\r\n memberId: string;\r\n memberFirstNameInitial: string | undefined;\r\n memberFirstName: string | undefined;\r\n memberLastName: string | undefined;\r\n memberCompany: string | undefined;\r\n memberPictureUrl: string | undefined;\r\n spaceType: string | undefined;\r\n spaceTypeWithCapacity: string | undefined;\r\n capacity: number | undefined;\r\n startDateString: string | undefined;\r\n stringRepresentation: string | undefined;\r\n isDeskSearch: boolean;\r\n chainId: string | undefined;\r\n messageDateString: string | undefined;\r\n messageStatus: string | undefined;\r\n reservationMethod: WorkspaceReservationMethod | undefined;\r\n neighborhoods: string[] | undefined;\r\n createdDateRelative: string | undefined;\r\n listingsViewed: number;\r\n minPrice: number | undefined;\r\n maxPrice: number | undefined;\r\n ownedListingsViewed: SavedSearchListingInfo[] | undefined;\r\n lastSearchTag: string | undefined;\r\n city: string | undefined;\r\n isRFP: boolean;\r\n rfpCompany: string | undefined;\r\n specialRequests: string | undefined;\r\n createdDate: string | undefined;\r\n neighborhoodIds: string[] | undefined;\r\n zipcodes: string[] | undefined;\r\n}\r\n\r\nexport class SavedSearchListingInfo implements ISavedSearchListingInfo {\r\n id!: string;\r\n name!: string | undefined;\r\n url!: string | undefined;\r\n\r\n constructor(data?: ISavedSearchListingInfo) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SavedSearchListingInfo {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SavedSearchListingInfo();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISavedSearchListingInfo {\r\n id: string;\r\n name: string | undefined;\r\n url: string | undefined;\r\n}\r\n\r\nexport class WorkspaceOptionViewModel implements IWorkspaceOptionViewModel {\r\n workspaceId!: string;\r\n scenario!: string | undefined;\r\n name!: string | undefined;\r\n venueName!: string | undefined;\r\n imageUrl!: string | undefined;\r\n capacity!: number;\r\n workspaceType!: string | undefined;\r\n priceDisplay!: string | undefined;\r\n wlpUrl!: string | undefined;\r\n workspaceStatus!: string | undefined;\r\n desksAvailabilityStatusForProposals!: string | undefined;\r\n isMultipleDeskBookingAllowedForWorkspace!: boolean;\r\n depositMode!: DepositMode | undefined;\r\n setupFee!: number;\r\n isBooked!: boolean | undefined;\r\n cancellationPolicy!: CancellationPolicy;\r\n monthlyPrice!: number | undefined;\r\n\r\n constructor(data?: IWorkspaceOptionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.scenario = _data[\"scenario\"];\r\n this.name = _data[\"name\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.capacity = _data[\"capacity\"];\r\n this.workspaceType = _data[\"workspaceType\"];\r\n this.priceDisplay = _data[\"priceDisplay\"];\r\n this.wlpUrl = _data[\"wlpUrl\"];\r\n this.workspaceStatus = _data[\"workspaceStatus\"];\r\n this.desksAvailabilityStatusForProposals = _data[\"desksAvailabilityStatusForProposals\"];\r\n this.isMultipleDeskBookingAllowedForWorkspace = _data[\"isMultipleDeskBookingAllowedForWorkspace\"];\r\n this.depositMode = _data[\"depositMode\"];\r\n this.setupFee = _data[\"setupFee\"];\r\n this.isBooked = _data[\"isBooked\"];\r\n this.cancellationPolicy = _data[\"cancellationPolicy\"];\r\n this.monthlyPrice = _data[\"monthlyPrice\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceOptionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceOptionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"scenario\"] = this.scenario;\r\n data[\"name\"] = this.name;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"capacity\"] = this.capacity;\r\n data[\"workspaceType\"] = this.workspaceType;\r\n data[\"priceDisplay\"] = this.priceDisplay;\r\n data[\"wlpUrl\"] = this.wlpUrl;\r\n data[\"workspaceStatus\"] = this.workspaceStatus;\r\n data[\"desksAvailabilityStatusForProposals\"] = this.desksAvailabilityStatusForProposals;\r\n data[\"isMultipleDeskBookingAllowedForWorkspace\"] = this.isMultipleDeskBookingAllowedForWorkspace;\r\n data[\"depositMode\"] = this.depositMode;\r\n data[\"setupFee\"] = this.setupFee;\r\n data[\"isBooked\"] = this.isBooked;\r\n data[\"cancellationPolicy\"] = this.cancellationPolicy;\r\n data[\"monthlyPrice\"] = this.monthlyPrice;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceOptionViewModel {\r\n workspaceId: string;\r\n scenario: string | undefined;\r\n name: string | undefined;\r\n venueName: string | undefined;\r\n imageUrl: string | undefined;\r\n capacity: number;\r\n workspaceType: string | undefined;\r\n priceDisplay: string | undefined;\r\n wlpUrl: string | undefined;\r\n workspaceStatus: string | undefined;\r\n desksAvailabilityStatusForProposals: string | undefined;\r\n isMultipleDeskBookingAllowedForWorkspace: boolean;\r\n depositMode: DepositMode | undefined;\r\n setupFee: number;\r\n isBooked: boolean | undefined;\r\n cancellationPolicy: CancellationPolicy;\r\n monthlyPrice: number | undefined;\r\n}\r\n\r\nexport class ProposalWorkspaceViewModel extends WorkspaceOptionViewModel implements IProposalWorkspaceViewModel {\r\n proposalId!: string;\r\n proposalStatus!: ProposalStatus;\r\n proposalCreated!: string;\r\n\r\n constructor(data?: IProposalWorkspaceViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.proposalId = _data[\"proposalId\"];\r\n this.proposalStatus = _data[\"proposalStatus\"];\r\n this.proposalCreated = _data[\"proposalCreated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ProposalWorkspaceViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ProposalWorkspaceViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"proposalId\"] = this.proposalId;\r\n data[\"proposalStatus\"] = this.proposalStatus;\r\n data[\"proposalCreated\"] = this.proposalCreated;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IProposalWorkspaceViewModel extends IWorkspaceOptionViewModel {\r\n proposalId: string;\r\n proposalStatus: ProposalStatus;\r\n proposalCreated: string;\r\n}\r\n\r\n/** 0 = Created 1 = Declined 2 = Expired 3 = Replied 4 = Accepted 5 = Signed 6 = Changed */\r\nexport enum ProposalStatus {\r\n Created = 0,\r\n Declined = 1,\r\n Expired = 2,\r\n Replied = 3,\r\n Accepted = 4,\r\n Signed = 5,\r\n Changed = 6,\r\n}\r\n\r\n/** 0 = NoDeposit 1 = Month 2 = TwoMonths */\r\nexport enum DepositMode {\r\n NoDeposit = 0,\r\n Month = 1,\r\n TwoMonths = 2,\r\n}\r\n\r\nexport class MessengerBaseViewModel implements IMessengerBaseViewModel {\r\n ownerId!: string;\r\n ownerName!: string | undefined;\r\n ownerFirstName!: string | undefined;\r\n ownerImage!: string | undefined;\r\n ownerDisplay!: boolean;\r\n\r\n constructor(data?: IMessengerBaseViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ownerId = _data[\"ownerId\"];\r\n this.ownerName = _data[\"ownerName\"];\r\n this.ownerFirstName = _data[\"ownerFirstName\"];\r\n this.ownerImage = _data[\"ownerImage\"];\r\n this.ownerDisplay = _data[\"ownerDisplay\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessengerBaseViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessengerBaseViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ownerId\"] = this.ownerId;\r\n data[\"ownerName\"] = this.ownerName;\r\n data[\"ownerFirstName\"] = this.ownerFirstName;\r\n data[\"ownerImage\"] = this.ownerImage;\r\n data[\"ownerDisplay\"] = this.ownerDisplay;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessengerBaseViewModel {\r\n ownerId: string;\r\n ownerName: string | undefined;\r\n ownerFirstName: string | undefined;\r\n ownerImage: string | undefined;\r\n ownerDisplay: boolean;\r\n}\r\n\r\nexport class MemberMessagesModel extends MessengerBaseViewModel implements IMemberMessagesModel {\r\n messageChains!: MessageChain[] | undefined;\r\n messageTargets!: MessageTargetViewModel[] | undefined;\r\n messageTargetsCount!: number;\r\n newMessagesCount!: number;\r\n unrespondedMessagesCount!: number;\r\n selectedChainId!: string | undefined;\r\n venueId!: string | undefined;\r\n composeTargetId!: string;\r\n composeTargetName!: string | undefined;\r\n composeTargetVenueId!: string | undefined;\r\n composeSubject!: string | undefined;\r\n composeBody!: string | undefined;\r\n isAdmin!: boolean;\r\n canFollow!: boolean;\r\n hasSavedSearch!: boolean;\r\n shareProfileLink!: string | undefined;\r\n preferedSearchUrl!: string | undefined;\r\n messagesFilter!: MessagesFilter | undefined;\r\n isHourlyOnlyVenue!: boolean;\r\n showVenueResponseRate!: boolean;\r\n hasMessageChains!: boolean;\r\n pendingVisaRequestCount!: number;\r\n unconfirmedToursCount!: number;\r\n avgLeadResponseMinutes!: number;\r\n avgLeadResponseRate!: number;\r\n leadRequestTotal!: number;\r\n responsivenessDisplayAfterAmount!: number;\r\n isSuperUser!: boolean;\r\n messengerAction!: MessengerAction;\r\n\r\n constructor(data?: IMemberMessagesModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n if (Array.isArray(_data[\"messageChains\"])) {\r\n this.messageChains = [] as any;\r\n for (let item of _data[\"messageChains\"])\r\n this.messageChains!.push(MessageChain.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"messageTargets\"])) {\r\n this.messageTargets = [] as any;\r\n for (let item of _data[\"messageTargets\"])\r\n this.messageTargets!.push(MessageTargetViewModel.fromJS(item));\r\n }\r\n this.messageTargetsCount = _data[\"messageTargetsCount\"];\r\n this.newMessagesCount = _data[\"newMessagesCount\"];\r\n this.unrespondedMessagesCount = _data[\"unrespondedMessagesCount\"];\r\n this.selectedChainId = _data[\"selectedChainId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.composeTargetId = _data[\"composeTargetId\"];\r\n this.composeTargetName = _data[\"composeTargetName\"];\r\n this.composeTargetVenueId = _data[\"composeTargetVenueId\"];\r\n this.composeSubject = _data[\"composeSubject\"];\r\n this.composeBody = _data[\"composeBody\"];\r\n this.isAdmin = _data[\"isAdmin\"];\r\n this.canFollow = _data[\"canFollow\"];\r\n this.hasSavedSearch = _data[\"hasSavedSearch\"];\r\n this.shareProfileLink = _data[\"shareProfileLink\"];\r\n this.preferedSearchUrl = _data[\"preferedSearchUrl\"];\r\n this.messagesFilter = _data[\"messagesFilter\"] ? MessagesFilter.fromJS(_data[\"messagesFilter\"]) : undefined;\r\n this.isHourlyOnlyVenue = _data[\"isHourlyOnlyVenue\"];\r\n this.showVenueResponseRate = _data[\"showVenueResponseRate\"];\r\n this.hasMessageChains = _data[\"hasMessageChains\"];\r\n this.pendingVisaRequestCount = _data[\"pendingVisaRequestCount\"];\r\n this.unconfirmedToursCount = _data[\"unconfirmedToursCount\"];\r\n this.avgLeadResponseMinutes = _data[\"avgLeadResponseMinutes\"];\r\n this.avgLeadResponseRate = _data[\"avgLeadResponseRate\"];\r\n this.leadRequestTotal = _data[\"leadRequestTotal\"];\r\n this.responsivenessDisplayAfterAmount = _data[\"responsivenessDisplayAfterAmount\"];\r\n this.isSuperUser = _data[\"isSuperUser\"];\r\n this.messengerAction = _data[\"messengerAction\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberMessagesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberMessagesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.messageChains)) {\r\n data[\"messageChains\"] = [];\r\n for (let item of this.messageChains)\r\n data[\"messageChains\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.messageTargets)) {\r\n data[\"messageTargets\"] = [];\r\n for (let item of this.messageTargets)\r\n data[\"messageTargets\"].push(item.toJSON());\r\n }\r\n data[\"messageTargetsCount\"] = this.messageTargetsCount;\r\n data[\"newMessagesCount\"] = this.newMessagesCount;\r\n data[\"unrespondedMessagesCount\"] = this.unrespondedMessagesCount;\r\n data[\"selectedChainId\"] = this.selectedChainId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"composeTargetId\"] = this.composeTargetId;\r\n data[\"composeTargetName\"] = this.composeTargetName;\r\n data[\"composeTargetVenueId\"] = this.composeTargetVenueId;\r\n data[\"composeSubject\"] = this.composeSubject;\r\n data[\"composeBody\"] = this.composeBody;\r\n data[\"isAdmin\"] = this.isAdmin;\r\n data[\"canFollow\"] = this.canFollow;\r\n data[\"hasSavedSearch\"] = this.hasSavedSearch;\r\n data[\"shareProfileLink\"] = this.shareProfileLink;\r\n data[\"preferedSearchUrl\"] = this.preferedSearchUrl;\r\n data[\"messagesFilter\"] = this.messagesFilter ? this.messagesFilter.toJSON() : undefined;\r\n data[\"isHourlyOnlyVenue\"] = this.isHourlyOnlyVenue;\r\n data[\"showVenueResponseRate\"] = this.showVenueResponseRate;\r\n data[\"hasMessageChains\"] = this.hasMessageChains;\r\n data[\"pendingVisaRequestCount\"] = this.pendingVisaRequestCount;\r\n data[\"unconfirmedToursCount\"] = this.unconfirmedToursCount;\r\n data[\"avgLeadResponseMinutes\"] = this.avgLeadResponseMinutes;\r\n data[\"avgLeadResponseRate\"] = this.avgLeadResponseRate;\r\n data[\"leadRequestTotal\"] = this.leadRequestTotal;\r\n data[\"responsivenessDisplayAfterAmount\"] = this.responsivenessDisplayAfterAmount;\r\n data[\"isSuperUser\"] = this.isSuperUser;\r\n data[\"messengerAction\"] = this.messengerAction;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberMessagesModel extends IMessengerBaseViewModel {\r\n messageChains: MessageChain[] | undefined;\r\n messageTargets: MessageTargetViewModel[] | undefined;\r\n messageTargetsCount: number;\r\n newMessagesCount: number;\r\n unrespondedMessagesCount: number;\r\n selectedChainId: string | undefined;\r\n venueId: string | undefined;\r\n composeTargetId: string;\r\n composeTargetName: string | undefined;\r\n composeTargetVenueId: string | undefined;\r\n composeSubject: string | undefined;\r\n composeBody: string | undefined;\r\n isAdmin: boolean;\r\n canFollow: boolean;\r\n hasSavedSearch: boolean;\r\n shareProfileLink: string | undefined;\r\n preferedSearchUrl: string | undefined;\r\n messagesFilter: MessagesFilter | undefined;\r\n isHourlyOnlyVenue: boolean;\r\n showVenueResponseRate: boolean;\r\n hasMessageChains: boolean;\r\n pendingVisaRequestCount: number;\r\n unconfirmedToursCount: number;\r\n avgLeadResponseMinutes: number;\r\n avgLeadResponseRate: number;\r\n leadRequestTotal: number;\r\n responsivenessDisplayAfterAmount: number;\r\n isSuperUser: boolean;\r\n messengerAction: MessengerAction;\r\n}\r\n\r\nexport class MessageTargetViewModel implements IMessageTargetViewModel {\r\n imageUrl!: string | undefined;\r\n imageDefaults!: string | undefined;\r\n displayName!: string | undefined;\r\n displayLink!: string | undefined;\r\n composeTargetId!: string;\r\n reasonHtml!: string | undefined;\r\n address!: string | undefined;\r\n ctaText!: string | undefined;\r\n venueId!: string | undefined;\r\n isSpaceExpert!: boolean;\r\n\r\n constructor(data?: IMessageTargetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.imageDefaults = _data[\"imageDefaults\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.displayLink = _data[\"displayLink\"];\r\n this.composeTargetId = _data[\"composeTargetId\"];\r\n this.reasonHtml = _data[\"reasonHtml\"];\r\n this.address = _data[\"address\"];\r\n this.ctaText = _data[\"ctaText\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.isSpaceExpert = _data[\"isSpaceExpert\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessageTargetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessageTargetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"imageDefaults\"] = this.imageDefaults;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"displayLink\"] = this.displayLink;\r\n data[\"composeTargetId\"] = this.composeTargetId;\r\n data[\"reasonHtml\"] = this.reasonHtml;\r\n data[\"address\"] = this.address;\r\n data[\"ctaText\"] = this.ctaText;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"isSpaceExpert\"] = this.isSpaceExpert;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessageTargetViewModel {\r\n imageUrl: string | undefined;\r\n imageDefaults: string | undefined;\r\n displayName: string | undefined;\r\n displayLink: string | undefined;\r\n composeTargetId: string;\r\n reasonHtml: string | undefined;\r\n address: string | undefined;\r\n ctaText: string | undefined;\r\n venueId: string | undefined;\r\n isSpaceExpert: boolean;\r\n}\r\n\r\nexport class MessagesFilter implements IMessagesFilter {\r\n filter!: MessagesFilterEnum;\r\n\r\n constructor(data?: IMessagesFilter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.filter = _data[\"filter\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MessagesFilter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MessagesFilter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"filter\"] = this.filter;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMessagesFilter {\r\n filter: MessagesFilterEnum;\r\n}\r\n\r\n/** 0 = AllMessages 1 = Unread 2 = Unresponded 3 = Tours 4 = VisaPending 5 = VisaGranted 6 = Proposals 7 = Archived */\r\nexport enum MessagesFilterEnum {\r\n AllMessages = 0,\r\n Unread = 1,\r\n Unresponded = 2,\r\n Tours = 3,\r\n VisaPending = 4,\r\n VisaGranted = 5,\r\n Proposals = 6,\r\n Archived = 7,\r\n}\r\n\r\n/** 0 = None 1 = ConfirmTour 2 = CancelTour 3 = ChangeTour 4 = AfterTourNotInterested 5 = AfterTourStillThinking 6 = AfterTourReadyToBook 7 = ApproveBooking 8 = DeclineBooking 9 = ScheduleTour 10 = ProposalNotInterested 11 = CreateProposal 12 = NoSpaceToPropose 13 = AfterTourAlreadyBooked 14 = SuggestTour 15 = RequestToBook 16 = BookIt 17 = AfterTourRequestToBook 18 = AfterTourCompleteBooking 19 = TourFeedbackApproveToBook 20 = TourFeedbackReschedule 21 = TourFeedbackDecline */\r\nexport enum MessengerAction {\r\n None = 0,\r\n ConfirmTour = 1,\r\n CancelTour = 2,\r\n ChangeTour = 3,\r\n AfterTourNotInterested = 4,\r\n AfterTourStillThinking = 5,\r\n AfterTourReadyToBook = 6,\r\n ApproveBooking = 7,\r\n DeclineBooking = 8,\r\n ScheduleTour = 9,\r\n ProposalNotInterested = 10,\r\n CreateProposal = 11,\r\n NoSpaceToPropose = 12,\r\n AfterTourAlreadyBooked = 13,\r\n SuggestTour = 14,\r\n RequestToBook = 15,\r\n BookIt = 16,\r\n AfterTourRequestToBook = 17,\r\n AfterTourCompleteBooking = 18,\r\n TourFeedbackApproveToBook = 19,\r\n TourFeedbackReschedule = 20,\r\n TourFeedbackDecline = 21,\r\n}\r\n\r\n/** 1 = Member 2 = Venue 4 = MemberGroup 8 = VenueGroup */\r\nexport enum EntityType {\r\n Member = 1,\r\n Venue = 2,\r\n MemberGroup = 4,\r\n VenueGroup = 8,\r\n}\r\n\r\nexport class MemberGroupViewModel implements IMemberGroupViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n phoneContact!: string | undefined;\r\n emailContact!: string | undefined;\r\n website!: string | undefined;\r\n twitterHandler!: string | undefined;\r\n headquarters!: MemberGroupHeadquarterViewModel[];\r\n notificationEmails!: string | undefined;\r\n ownerEmail!: string | undefined;\r\n ownerId!: string;\r\n admins!: MemberListItemViewModel[];\r\n enterpriseAccountId!: string | undefined;\r\n bookingDelegates!: MemberListItemViewModel[];\r\n userType!: MemberGroupUserType;\r\n enableLiquidSpaceDesks!: boolean;\r\n enableLiquidSpacePro!: boolean;\r\n memberGroupType!: MemberGroupType;\r\n defaultCollectionIds!: string | undefined;\r\n suppressPromotionalEmails!: boolean;\r\n suppressInviteEmails!: boolean;\r\n emailDomains!: string | undefined;\r\n searchSettings!: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n extendedSearchOptions!: ExtendedSearchOptionsModel;\r\n requireApprovalBeforeFollow!: boolean;\r\n requirePrivateCalendarVisibility!: boolean;\r\n disableCCEntry!: boolean;\r\n defaultPromotionId!: string | undefined;\r\n promotions!: MemberGroupPromotionViewModel[];\r\n description!: string | undefined;\r\n brandedLogo!: PictureURLViewModel | undefined;\r\n crosssiteBrandingType!: CrosssiteBrandingType;\r\n disableRecurringReservations!: boolean;\r\n maxDailyBudget!: number | undefined;\r\n maxMonthlyBudget!: number | undefined;\r\n maxMonthlyMemberBudget!: number | undefined;\r\n headerMenuOptionsVisibility!: HeaderMenuOptions;\r\n leadTrackingMemberGroupId!: string | undefined;\r\n customCss!: string | undefined;\r\n portalOptions!: BrandedPortalOptionsModel;\r\n emailOptions!: BrandedEmailOptionsModel;\r\n brandedEmailLogo!: PictureURLViewModel | undefined;\r\n\r\n constructor(data?: IMemberGroupViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.phoneContact = _data[\"phoneContact\"];\r\n this.emailContact = _data[\"emailContact\"];\r\n this.website = _data[\"website\"];\r\n this.twitterHandler = _data[\"twitterHandler\"];\r\n if (Array.isArray(_data[\"headquarters\"])) {\r\n this.headquarters = [] as any;\r\n for (let item of _data[\"headquarters\"])\r\n this.headquarters!.push(MemberGroupHeadquarterViewModel.fromJS(item));\r\n }\r\n this.notificationEmails = _data[\"notificationEmails\"];\r\n this.ownerEmail = _data[\"ownerEmail\"];\r\n this.ownerId = _data[\"ownerId\"];\r\n if (Array.isArray(_data[\"admins\"])) {\r\n this.admins = [] as any;\r\n for (let item of _data[\"admins\"])\r\n this.admins!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n if (Array.isArray(_data[\"bookingDelegates\"])) {\r\n this.bookingDelegates = [] as any;\r\n for (let item of _data[\"bookingDelegates\"])\r\n this.bookingDelegates!.push(MemberListItemViewModel.fromJS(item));\r\n }\r\n this.userType = _data[\"userType\"];\r\n this.enableLiquidSpaceDesks = _data[\"enableLiquidSpaceDesks\"];\r\n this.enableLiquidSpacePro = _data[\"enableLiquidSpacePro\"];\r\n this.memberGroupType = _data[\"memberGroupType\"];\r\n this.defaultCollectionIds = _data[\"defaultCollectionIds\"];\r\n this.suppressPromotionalEmails = _data[\"suppressPromotionalEmails\"];\r\n this.suppressInviteEmails = _data[\"suppressInviteEmails\"];\r\n this.emailDomains = _data[\"emailDomains\"];\r\n if (_data[\"searchSettings\"]) {\r\n this.searchSettings = {} as any;\r\n for (let key in _data[\"searchSettings\"]) {\r\n if (_data[\"searchSettings\"].hasOwnProperty(key))\r\n (this.searchSettings)![key] = _data[\"searchSettings\"][key];\r\n }\r\n }\r\n this.extendedSearchOptions = _data[\"extendedSearchOptions\"] ? ExtendedSearchOptionsModel.fromJS(_data[\"extendedSearchOptions\"]) : undefined;\r\n this.requireApprovalBeforeFollow = _data[\"requireApprovalBeforeFollow\"];\r\n this.requirePrivateCalendarVisibility = _data[\"requirePrivateCalendarVisibility\"];\r\n this.disableCCEntry = _data[\"disableCCEntry\"];\r\n this.defaultPromotionId = _data[\"defaultPromotionId\"];\r\n if (Array.isArray(_data[\"promotions\"])) {\r\n this.promotions = [] as any;\r\n for (let item of _data[\"promotions\"])\r\n this.promotions!.push(MemberGroupPromotionViewModel.fromJS(item));\r\n }\r\n this.description = _data[\"description\"];\r\n this.brandedLogo = _data[\"brandedLogo\"] ? PictureURLViewModel.fromJS(_data[\"brandedLogo\"]) : undefined;\r\n this.crosssiteBrandingType = _data[\"crosssiteBrandingType\"];\r\n this.disableRecurringReservations = _data[\"disableRecurringReservations\"];\r\n this.maxDailyBudget = _data[\"maxDailyBudget\"];\r\n this.maxMonthlyBudget = _data[\"maxMonthlyBudget\"];\r\n this.maxMonthlyMemberBudget = _data[\"maxMonthlyMemberBudget\"];\r\n this.headerMenuOptionsVisibility = _data[\"headerMenuOptionsVisibility\"];\r\n this.leadTrackingMemberGroupId = _data[\"leadTrackingMemberGroupId\"];\r\n this.customCss = _data[\"customCss\"];\r\n this.portalOptions = _data[\"portalOptions\"] ? BrandedPortalOptionsModel.fromJS(_data[\"portalOptions\"]) : undefined;\r\n this.emailOptions = _data[\"emailOptions\"] ? BrandedEmailOptionsModel.fromJS(_data[\"emailOptions\"]) : undefined;\r\n this.brandedEmailLogo = _data[\"brandedEmailLogo\"] ? PictureURLViewModel.fromJS(_data[\"brandedEmailLogo\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"phoneContact\"] = this.phoneContact;\r\n data[\"emailContact\"] = this.emailContact;\r\n data[\"website\"] = this.website;\r\n data[\"twitterHandler\"] = this.twitterHandler;\r\n if (Array.isArray(this.headquarters)) {\r\n data[\"headquarters\"] = [];\r\n for (let item of this.headquarters)\r\n data[\"headquarters\"].push(item.toJSON());\r\n }\r\n data[\"notificationEmails\"] = this.notificationEmails;\r\n data[\"ownerEmail\"] = this.ownerEmail;\r\n data[\"ownerId\"] = this.ownerId;\r\n if (Array.isArray(this.admins)) {\r\n data[\"admins\"] = [];\r\n for (let item of this.admins)\r\n data[\"admins\"].push(item.toJSON());\r\n }\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n if (Array.isArray(this.bookingDelegates)) {\r\n data[\"bookingDelegates\"] = [];\r\n for (let item of this.bookingDelegates)\r\n data[\"bookingDelegates\"].push(item.toJSON());\r\n }\r\n data[\"userType\"] = this.userType;\r\n data[\"enableLiquidSpaceDesks\"] = this.enableLiquidSpaceDesks;\r\n data[\"enableLiquidSpacePro\"] = this.enableLiquidSpacePro;\r\n data[\"memberGroupType\"] = this.memberGroupType;\r\n data[\"defaultCollectionIds\"] = this.defaultCollectionIds;\r\n data[\"suppressPromotionalEmails\"] = this.suppressPromotionalEmails;\r\n data[\"suppressInviteEmails\"] = this.suppressInviteEmails;\r\n data[\"emailDomains\"] = this.emailDomains;\r\n if (this.searchSettings) {\r\n data[\"searchSettings\"] = {};\r\n for (let key in this.searchSettings) {\r\n if (this.searchSettings.hasOwnProperty(key))\r\n (data[\"searchSettings\"])[key] = (this.searchSettings)[key];\r\n }\r\n }\r\n data[\"extendedSearchOptions\"] = this.extendedSearchOptions ? this.extendedSearchOptions.toJSON() : undefined;\r\n data[\"requireApprovalBeforeFollow\"] = this.requireApprovalBeforeFollow;\r\n data[\"requirePrivateCalendarVisibility\"] = this.requirePrivateCalendarVisibility;\r\n data[\"disableCCEntry\"] = this.disableCCEntry;\r\n data[\"defaultPromotionId\"] = this.defaultPromotionId;\r\n if (Array.isArray(this.promotions)) {\r\n data[\"promotions\"] = [];\r\n for (let item of this.promotions)\r\n data[\"promotions\"].push(item.toJSON());\r\n }\r\n data[\"description\"] = this.description;\r\n data[\"brandedLogo\"] = this.brandedLogo ? this.brandedLogo.toJSON() : undefined;\r\n data[\"crosssiteBrandingType\"] = this.crosssiteBrandingType;\r\n data[\"disableRecurringReservations\"] = this.disableRecurringReservations;\r\n data[\"maxDailyBudget\"] = this.maxDailyBudget;\r\n data[\"maxMonthlyBudget\"] = this.maxMonthlyBudget;\r\n data[\"maxMonthlyMemberBudget\"] = this.maxMonthlyMemberBudget;\r\n data[\"headerMenuOptionsVisibility\"] = this.headerMenuOptionsVisibility;\r\n data[\"leadTrackingMemberGroupId\"] = this.leadTrackingMemberGroupId;\r\n data[\"customCss\"] = this.customCss;\r\n data[\"portalOptions\"] = this.portalOptions ? this.portalOptions.toJSON() : undefined;\r\n data[\"emailOptions\"] = this.emailOptions ? this.emailOptions.toJSON() : undefined;\r\n data[\"brandedEmailLogo\"] = this.brandedEmailLogo ? this.brandedEmailLogo.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupViewModel {\r\n id: string;\r\n name: string | undefined;\r\n phoneContact: string | undefined;\r\n emailContact: string | undefined;\r\n website: string | undefined;\r\n twitterHandler: string | undefined;\r\n headquarters: MemberGroupHeadquarterViewModel[];\r\n notificationEmails: string | undefined;\r\n ownerEmail: string | undefined;\r\n ownerId: string;\r\n admins: MemberListItemViewModel[];\r\n enterpriseAccountId: string | undefined;\r\n bookingDelegates: MemberListItemViewModel[];\r\n userType: MemberGroupUserType;\r\n enableLiquidSpaceDesks: boolean;\r\n enableLiquidSpacePro: boolean;\r\n memberGroupType: MemberGroupType;\r\n defaultCollectionIds: string | undefined;\r\n suppressPromotionalEmails: boolean;\r\n suppressInviteEmails: boolean;\r\n emailDomains: string | undefined;\r\n searchSettings: { [key in keyof typeof SearchSettingsEnum]?: boolean; };\r\n extendedSearchOptions: ExtendedSearchOptionsModel;\r\n requireApprovalBeforeFollow: boolean;\r\n requirePrivateCalendarVisibility: boolean;\r\n disableCCEntry: boolean;\r\n defaultPromotionId: string | undefined;\r\n promotions: MemberGroupPromotionViewModel[];\r\n description: string | undefined;\r\n brandedLogo: PictureURLViewModel | undefined;\r\n crosssiteBrandingType: CrosssiteBrandingType;\r\n disableRecurringReservations: boolean;\r\n maxDailyBudget: number | undefined;\r\n maxMonthlyBudget: number | undefined;\r\n maxMonthlyMemberBudget: number | undefined;\r\n headerMenuOptionsVisibility: HeaderMenuOptions;\r\n leadTrackingMemberGroupId: string | undefined;\r\n customCss: string | undefined;\r\n portalOptions: BrandedPortalOptionsModel;\r\n emailOptions: BrandedEmailOptionsModel;\r\n brandedEmailLogo: PictureURLViewModel | undefined;\r\n}\r\n\r\nexport class MemberGroupHeadquarterViewModel implements IMemberGroupHeadquarterViewModel {\r\n id!: string;\r\n memberGroupId!: string;\r\n venueId!: string;\r\n venueGroupId!: string;\r\n address!: string | undefined;\r\n title!: string | undefined;\r\n venueName!: string | undefined;\r\n venueGroupName!: string | undefined;\r\n\r\n constructor(data?: IMemberGroupHeadquarterViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.memberGroupId = _data[\"memberGroupId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.venueGroupId = _data[\"venueGroupId\"];\r\n this.address = _data[\"address\"];\r\n this.title = _data[\"title\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.venueGroupName = _data[\"venueGroupName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupHeadquarterViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupHeadquarterViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"memberGroupId\"] = this.memberGroupId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueGroupId\"] = this.venueGroupId;\r\n data[\"address\"] = this.address;\r\n data[\"title\"] = this.title;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"venueGroupName\"] = this.venueGroupName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupHeadquarterViewModel {\r\n id: string;\r\n memberGroupId: string;\r\n venueId: string;\r\n venueGroupId: string;\r\n address: string | undefined;\r\n title: string | undefined;\r\n venueName: string | undefined;\r\n venueGroupName: string | undefined;\r\n}\r\n\r\n/** 0 = Guest 1 = AffiliateUser */\r\nexport enum MemberGroupUserType {\r\n Guest = 0,\r\n AffiliateUser = 1,\r\n}\r\n\r\n/** 0 = Corporate 1 = Promotion 2 = Venue 3 = Event 4 = Mobility */\r\nexport enum MemberGroupType {\r\n Corporate = 0,\r\n Promotion = 1,\r\n Venue = 2,\r\n Event = 3,\r\n Mobility = 4,\r\n}\r\n\r\nexport class MemberGroupPromotionViewModel implements IMemberGroupPromotionViewModel {\r\n id!: string;\r\n name!: string | undefined;\r\n discountTypeString!: string | undefined;\r\n discountAmount!: number;\r\n\r\n constructor(data?: IMemberGroupPromotionViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.discountTypeString = _data[\"discountTypeString\"];\r\n this.discountAmount = _data[\"discountAmount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupPromotionViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupPromotionViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"discountTypeString\"] = this.discountTypeString;\r\n data[\"discountAmount\"] = this.discountAmount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupPromotionViewModel {\r\n id: string;\r\n name: string | undefined;\r\n discountTypeString: string | undefined;\r\n discountAmount: number;\r\n}\r\n\r\n/** 0 = None 1 = Sessional 2 = OnLogin */\r\nexport enum CrosssiteBrandingType {\r\n None = 0,\r\n Sessional = 1,\r\n OnLogin = 2,\r\n}\r\n\r\n/** 0 = None 1 = FindSpace 2 = ListSpace 4 = Enterprise 8 = Help 16 = Join 268435455 = All */\r\nexport enum HeaderMenuOptions {\r\n None = 0,\r\n FindSpace = 1,\r\n ListSpace = 2,\r\n Enterprise = 4,\r\n Help = 8,\r\n Join = 16,\r\n All = 268435455,\r\n}\r\n\r\nexport class MemberGroupListViewModel implements IMemberGroupListViewModel {\r\n id!: string;\r\n name!: string;\r\n enterpriseAccountId!: string | undefined;\r\n enterpriseAccountName!: string | undefined;\r\n isEnterpriseAccountDeleted!: boolean | undefined;\r\n memberCount!: number;\r\n\r\n constructor(data?: IMemberGroupListViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.enterpriseAccountId = _data[\"enterpriseAccountId\"];\r\n this.enterpriseAccountName = _data[\"enterpriseAccountName\"];\r\n this.isEnterpriseAccountDeleted = _data[\"isEnterpriseAccountDeleted\"];\r\n this.memberCount = _data[\"memberCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MemberGroupListViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MemberGroupListViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"enterpriseAccountId\"] = this.enterpriseAccountId;\r\n data[\"enterpriseAccountName\"] = this.enterpriseAccountName;\r\n data[\"isEnterpriseAccountDeleted\"] = this.isEnterpriseAccountDeleted;\r\n data[\"memberCount\"] = this.memberCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMemberGroupListViewModel {\r\n id: string;\r\n name: string;\r\n enterpriseAccountId: string | undefined;\r\n enterpriseAccountName: string | undefined;\r\n isEnterpriseAccountDeleted: boolean | undefined;\r\n memberCount: number;\r\n}\r\n\r\nexport class ManageMemberGroupInvitationPreviewEmailViewModel implements IManageMemberGroupInvitationPreviewEmailViewModel {\r\n message!: string | undefined;\r\n fName!: string | undefined;\r\n lName!: string | undefined;\r\n\r\n constructor(data?: IManageMemberGroupInvitationPreviewEmailViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.fName = _data[\"fName\"];\r\n this.lName = _data[\"lName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ManageMemberGroupInvitationPreviewEmailViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ManageMemberGroupInvitationPreviewEmailViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"fName\"] = this.fName;\r\n data[\"lName\"] = this.lName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IManageMemberGroupInvitationPreviewEmailViewModel {\r\n message: string | undefined;\r\n fName: string | undefined;\r\n lName: string | undefined;\r\n}\r\n\r\nexport class MarketplaceAccount implements IMarketplaceAccount {\r\n payableKey!: PayableKey;\r\n name!: string;\r\n paymentTerm!: PaymentTerm;\r\n invoiceStatus!: InvoiceGenerationStatus;\r\n targetBalance!: number;\r\n debit!: number;\r\n credit!: number;\r\n nextInvoiceDate!: string | undefined;\r\n\r\n constructor(data?: IMarketplaceAccount) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.payableKey = _data[\"payableKey\"] ? PayableKey.fromJS(_data[\"payableKey\"]) : undefined;\r\n this.name = _data[\"name\"];\r\n this.paymentTerm = _data[\"paymentTerm\"];\r\n this.invoiceStatus = _data[\"invoiceStatus\"];\r\n this.targetBalance = _data[\"targetBalance\"];\r\n this.debit = _data[\"debit\"];\r\n this.credit = _data[\"credit\"];\r\n this.nextInvoiceDate = _data[\"nextInvoiceDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceAccount {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceAccount();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"payableKey\"] = this.payableKey ? this.payableKey.toJSON() : undefined;\r\n data[\"name\"] = this.name;\r\n data[\"paymentTerm\"] = this.paymentTerm;\r\n data[\"invoiceStatus\"] = this.invoiceStatus;\r\n data[\"targetBalance\"] = this.targetBalance;\r\n data[\"debit\"] = this.debit;\r\n data[\"credit\"] = this.credit;\r\n data[\"nextInvoiceDate\"] = this.nextInvoiceDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceAccount {\r\n payableKey: PayableKey;\r\n name: string;\r\n paymentTerm: PaymentTerm;\r\n invoiceStatus: InvoiceGenerationStatus;\r\n targetBalance: number;\r\n debit: number;\r\n credit: number;\r\n nextInvoiceDate: string | undefined;\r\n}\r\n\r\nexport class MarketplaceTransaction implements IMarketplaceTransaction {\r\n id!: string;\r\n customerProfileId!: string;\r\n paymentProfileId!: string;\r\n createDate!: string;\r\n parentId!: string | undefined;\r\n reservationId!: string | undefined;\r\n amountInfo!: CostInfo;\r\n isCredit!: boolean;\r\n\r\n constructor(data?: IMarketplaceTransaction) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.customerProfileId = _data[\"customerProfileId\"];\r\n this.paymentProfileId = _data[\"paymentProfileId\"];\r\n this.createDate = _data[\"createDate\"];\r\n this.parentId = _data[\"parentId\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.amountInfo = _data[\"amountInfo\"] ? CostInfo.fromJS(_data[\"amountInfo\"]) : undefined;\r\n this.isCredit = _data[\"isCredit\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceTransaction {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceTransaction();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"customerProfileId\"] = this.customerProfileId;\r\n data[\"paymentProfileId\"] = this.paymentProfileId;\r\n data[\"createDate\"] = this.createDate;\r\n data[\"parentId\"] = this.parentId;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"amountInfo\"] = this.amountInfo ? this.amountInfo.toJSON() : undefined;\r\n data[\"isCredit\"] = this.isCredit;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceTransaction {\r\n id: string;\r\n customerProfileId: string;\r\n paymentProfileId: string;\r\n createDate: string;\r\n parentId: string | undefined;\r\n reservationId: string | undefined;\r\n amountInfo: CostInfo;\r\n isCredit: boolean;\r\n}\r\n\r\nexport class MarketplaceTransactionWithStartDate implements IMarketplaceTransactionWithStartDate {\r\n transaction!: MarketplaceTransaction;\r\n /** Reservation start date in Venue Time Zone */\r\n startDate!: string | undefined;\r\n\r\n constructor(data?: IMarketplaceTransactionWithStartDate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.transaction = _data[\"transaction\"] ? MarketplaceTransaction.fromJS(_data[\"transaction\"]) : undefined;\r\n this.startDate = _data[\"startDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceTransactionWithStartDate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceTransactionWithStartDate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"transaction\"] = this.transaction ? this.transaction.toJSON() : undefined;\r\n data[\"startDate\"] = this.startDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceTransactionWithStartDate {\r\n transaction: MarketplaceTransaction;\r\n /** Reservation start date in Venue Time Zone */\r\n startDate: string | undefined;\r\n}\r\n\r\nexport class MarketplaceInvoice implements IMarketplaceInvoice {\r\n id!: string;\r\n invoiceNumber!: string | undefined;\r\n sendDate!: string | undefined;\r\n dueDate!: string | undefined;\r\n billingDate!: string;\r\n status!: InvoiceStatus;\r\n amount!: number;\r\n items!: MarketplaceInvoiceItem[];\r\n invoiceUrl!: string | undefined;\r\n autoGenerated!: boolean;\r\n\r\n constructor(data?: IMarketplaceInvoice) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.invoiceNumber = _data[\"invoiceNumber\"];\r\n this.sendDate = _data[\"sendDate\"];\r\n this.dueDate = _data[\"dueDate\"];\r\n this.billingDate = _data[\"billingDate\"];\r\n this.status = _data[\"status\"];\r\n this.amount = _data[\"amount\"];\r\n if (Array.isArray(_data[\"items\"])) {\r\n this.items = [] as any;\r\n for (let item of _data[\"items\"])\r\n this.items!.push(MarketplaceInvoiceItem.fromJS(item));\r\n }\r\n this.invoiceUrl = _data[\"invoiceUrl\"];\r\n this.autoGenerated = _data[\"autoGenerated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceInvoice {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceInvoice();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"invoiceNumber\"] = this.invoiceNumber;\r\n data[\"sendDate\"] = this.sendDate;\r\n data[\"dueDate\"] = this.dueDate;\r\n data[\"billingDate\"] = this.billingDate;\r\n data[\"status\"] = this.status;\r\n data[\"amount\"] = this.amount;\r\n if (Array.isArray(this.items)) {\r\n data[\"items\"] = [];\r\n for (let item of this.items)\r\n data[\"items\"].push(item.toJSON());\r\n }\r\n data[\"invoiceUrl\"] = this.invoiceUrl;\r\n data[\"autoGenerated\"] = this.autoGenerated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceInvoice {\r\n id: string;\r\n invoiceNumber: string | undefined;\r\n sendDate: string | undefined;\r\n dueDate: string | undefined;\r\n billingDate: string;\r\n status: InvoiceStatus;\r\n amount: number;\r\n items: MarketplaceInvoiceItem[];\r\n invoiceUrl: string | undefined;\r\n autoGenerated: boolean;\r\n}\r\n\r\n/** 0 = Unknown 1 = Scheduled 2 = Draft 3 = Open 4 = Overdue 5 = Paid 6 = Void 7 = ProcessingError */\r\nexport enum InvoiceStatus {\r\n Unknown = 0,\r\n Scheduled = 1,\r\n Draft = 2,\r\n Open = 3,\r\n Overdue = 4,\r\n Paid = 5,\r\n Void = 6,\r\n ProcessingError = 7,\r\n}\r\n\r\nexport class MarketplaceInvoiceItem implements IMarketplaceInvoiceItem {\r\n description!: string | undefined;\r\n amount!: number;\r\n\r\n constructor(data?: IMarketplaceInvoiceItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.amount = _data[\"amount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MarketplaceInvoiceItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MarketplaceInvoiceItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"amount\"] = this.amount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMarketplaceInvoiceItem {\r\n description: string | undefined;\r\n amount: number;\r\n}\r\n\r\nexport class AddMarketplaceInvoiceRequest implements IAddMarketplaceInvoiceRequest {\r\n invoiceId!: string;\r\n periodDate!: string;\r\n\r\n constructor(data?: IAddMarketplaceInvoiceRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.invoiceId = _data[\"invoiceId\"];\r\n this.periodDate = _data[\"periodDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddMarketplaceInvoiceRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddMarketplaceInvoiceRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"invoiceId\"] = this.invoiceId;\r\n data[\"periodDate\"] = this.periodDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddMarketplaceInvoiceRequest {\r\n invoiceId: string;\r\n periodDate: string;\r\n}\r\n\r\nexport class VenueSelectorListItem implements IVenueSelectorListItem {\r\n id!: string;\r\n name!: string;\r\n status!: VenueStatusNew;\r\n openStatus!: VenueOpenStatus;\r\n icon!: string | undefined;\r\n imageUrl!: string | undefined;\r\n vlpUrl!: string;\r\n address!: string;\r\n\r\n constructor(data?: IVenueSelectorListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.status = _data[\"status\"];\r\n this.openStatus = _data[\"openStatus\"];\r\n this.icon = _data[\"icon\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.vlpUrl = _data[\"vlpUrl\"];\r\n this.address = _data[\"address\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSelectorListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSelectorListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"status\"] = this.status;\r\n data[\"openStatus\"] = this.openStatus;\r\n data[\"icon\"] = this.icon;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"vlpUrl\"] = this.vlpUrl;\r\n data[\"address\"] = this.address;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSelectorListItem {\r\n id: string;\r\n name: string;\r\n status: VenueStatusNew;\r\n openStatus: VenueOpenStatus;\r\n icon: string | undefined;\r\n imageUrl: string | undefined;\r\n vlpUrl: string;\r\n address: string;\r\n}\r\n\r\n/** 0 = Unconfirmed 1 = Open 2 = Limited 3 = Closed */\r\nexport enum VenueOpenStatus {\r\n Unconfirmed = 0,\r\n Open = 1,\r\n Limited = 2,\r\n Closed = 3,\r\n}\r\n\r\nexport class VenueBrief extends VenueSelectorListItem implements IVenueBrief {\r\n isVenueBrief!: boolean;\r\n workspaces!: WorkspaceBrief[];\r\n userIsCalendarAdmin!: boolean;\r\n userIsAdminOrOwner!: boolean;\r\n enableWorkspaceAnalytics!: boolean;\r\n hasVenueReservations!: boolean;\r\n isSettingsDisabled!: boolean;\r\n isReferralDisabled!: boolean;\r\n liquidSpaceProStatus!: LiquidSpaceProStatus;\r\n venueBasicListingCompleted!: boolean;\r\n workspaceBasicListingCompleted!: boolean;\r\n integrationOption!: string;\r\n hasIntegration!: boolean;\r\n hasRegusIntegration!: boolean;\r\n hasDeskimoIntegration!: boolean;\r\n isOnlinePaymentSupported!: boolean;\r\n isInternational!: boolean;\r\n availableWorkspaceStatuses!: WorkspaceStatus[];\r\n licenseVersion!: LicenseVersion;\r\n\r\n constructor(data?: IVenueBrief) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.isVenueBrief = _data[\"isVenueBrief\"];\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(WorkspaceBrief.fromJS(item));\r\n }\r\n this.userIsCalendarAdmin = _data[\"userIsCalendarAdmin\"];\r\n this.userIsAdminOrOwner = _data[\"userIsAdminOrOwner\"];\r\n this.enableWorkspaceAnalytics = _data[\"enableWorkspaceAnalytics\"];\r\n this.hasVenueReservations = _data[\"hasVenueReservations\"];\r\n this.isSettingsDisabled = _data[\"isSettingsDisabled\"];\r\n this.isReferralDisabled = _data[\"isReferralDisabled\"];\r\n this.liquidSpaceProStatus = _data[\"liquidSpaceProStatus\"];\r\n this.venueBasicListingCompleted = _data[\"venueBasicListingCompleted\"];\r\n this.workspaceBasicListingCompleted = _data[\"workspaceBasicListingCompleted\"];\r\n this.integrationOption = _data[\"integrationOption\"];\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.hasRegusIntegration = _data[\"hasRegusIntegration\"];\r\n this.hasDeskimoIntegration = _data[\"hasDeskimoIntegration\"];\r\n this.isOnlinePaymentSupported = _data[\"isOnlinePaymentSupported\"];\r\n this.isInternational = _data[\"isInternational\"];\r\n if (Array.isArray(_data[\"availableWorkspaceStatuses\"])) {\r\n this.availableWorkspaceStatuses = [] as any;\r\n for (let item of _data[\"availableWorkspaceStatuses\"])\r\n this.availableWorkspaceStatuses!.push(item);\r\n }\r\n this.licenseVersion = _data[\"licenseVersion\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueBrief {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueBrief();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"isVenueBrief\"] = this.isVenueBrief;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n data[\"userIsCalendarAdmin\"] = this.userIsCalendarAdmin;\r\n data[\"userIsAdminOrOwner\"] = this.userIsAdminOrOwner;\r\n data[\"enableWorkspaceAnalytics\"] = this.enableWorkspaceAnalytics;\r\n data[\"hasVenueReservations\"] = this.hasVenueReservations;\r\n data[\"isSettingsDisabled\"] = this.isSettingsDisabled;\r\n data[\"isReferralDisabled\"] = this.isReferralDisabled;\r\n data[\"liquidSpaceProStatus\"] = this.liquidSpaceProStatus;\r\n data[\"venueBasicListingCompleted\"] = this.venueBasicListingCompleted;\r\n data[\"workspaceBasicListingCompleted\"] = this.workspaceBasicListingCompleted;\r\n data[\"integrationOption\"] = this.integrationOption;\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"hasRegusIntegration\"] = this.hasRegusIntegration;\r\n data[\"hasDeskimoIntegration\"] = this.hasDeskimoIntegration;\r\n data[\"isOnlinePaymentSupported\"] = this.isOnlinePaymentSupported;\r\n data[\"isInternational\"] = this.isInternational;\r\n if (Array.isArray(this.availableWorkspaceStatuses)) {\r\n data[\"availableWorkspaceStatuses\"] = [];\r\n for (let item of this.availableWorkspaceStatuses)\r\n data[\"availableWorkspaceStatuses\"].push(item);\r\n }\r\n data[\"licenseVersion\"] = this.licenseVersion;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueBrief extends IVenueSelectorListItem {\r\n isVenueBrief: boolean;\r\n workspaces: WorkspaceBrief[];\r\n userIsCalendarAdmin: boolean;\r\n userIsAdminOrOwner: boolean;\r\n enableWorkspaceAnalytics: boolean;\r\n hasVenueReservations: boolean;\r\n isSettingsDisabled: boolean;\r\n isReferralDisabled: boolean;\r\n liquidSpaceProStatus: LiquidSpaceProStatus;\r\n venueBasicListingCompleted: boolean;\r\n workspaceBasicListingCompleted: boolean;\r\n integrationOption: string;\r\n hasIntegration: boolean;\r\n hasRegusIntegration: boolean;\r\n hasDeskimoIntegration: boolean;\r\n isOnlinePaymentSupported: boolean;\r\n isInternational: boolean;\r\n availableWorkspaceStatuses: WorkspaceStatus[];\r\n licenseVersion: LicenseVersion;\r\n}\r\n\r\nexport class WorkspaceBrief implements IWorkspaceBrief {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IWorkspaceBrief) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceBrief {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceBrief();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceBrief {\r\n id: string;\r\n name: string;\r\n}\r\n\r\n/** 0 = None 1 = Invited 2 = Pending 3 = Enabled 4 = Disabled */\r\nexport enum LiquidSpaceProStatus {\r\n None = 0,\r\n Invited = 1,\r\n Pending = 2,\r\n Enabled = 3,\r\n Disabled = 4,\r\n}\r\n\r\n/** 0 = Dash1 1 = Dash2 */\r\nexport enum LicenseVersion {\r\n Dash1 = 0,\r\n Dash2 = 1,\r\n}\r\n\r\nexport class IntegrationOptionRequest implements IIntegrationOptionRequest {\r\n name!: string;\r\n isOtherOption!: boolean;\r\n supportArticleLink!: string | undefined;\r\n\r\n constructor(data?: IIntegrationOptionRequest) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.isOtherOption = _data[\"isOtherOption\"];\r\n this.supportArticleLink = _data[\"supportArticleLink\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): IntegrationOptionRequest {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new IntegrationOptionRequest();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"isOtherOption\"] = this.isOtherOption;\r\n data[\"supportArticleLink\"] = this.supportArticleLink;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IIntegrationOptionRequest {\r\n name: string;\r\n isOtherOption: boolean;\r\n supportArticleLink: string | undefined;\r\n}\r\n\r\nexport class VenueSettingsModel implements IVenueSettingsModel {\r\n id!: string;\r\n fullName!: string;\r\n description!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n simpleAddress1!: string | undefined;\r\n simpleAddress2!: string | undefined;\r\n city!: string | undefined;\r\n zip!: string | undefined;\r\n state!: string | undefined;\r\n country!: string | undefined;\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n venueHostGuid!: string;\r\n streetViewParameters!: StreetViewModel;\r\n percentageTax!: number | undefined;\r\n fixedAmountTax!: number | undefined;\r\n taxApplyType!: VenueTaxApplyType;\r\n applyTaxToIncidentals!: boolean;\r\n billingContact!: BillingContactModel;\r\n hours!: HoursViewModel;\r\n statusNew!: VenueStatusNew;\r\n defaultBookingMethod!: BookingMethod;\r\n defaultBookingMethodHourly!: BookingMethod;\r\n timeZoneId!: string | undefined;\r\n licenseVersion!: LicenseVersion;\r\n enableElectronicSignatures!: boolean;\r\n seoTitle!: string | undefined;\r\n seoDescription!: string | undefined;\r\n inSetupDate!: string | undefined;\r\n launchedDate!: string | undefined;\r\n publishedDate!: string | undefined;\r\n claimSentDate!: string | undefined;\r\n claimSentFollowupDate!: string | undefined;\r\n retiredDate!: string | undefined;\r\n professionalPhotoRank!: PhotoRankEnum;\r\n professionalPhotoDate!: string | undefined;\r\n source!: VenueSource;\r\n classification!: VenueClassification;\r\n rank!: VenueRank;\r\n currency!: CurrencyType;\r\n venueNameSynonymsString!: string | undefined;\r\n vlpUrlSlug!: string | undefined;\r\n accountId!: string | undefined;\r\n enableHostReferral!: boolean;\r\n referralEmail!: string | undefined;\r\n proposalCreditsTotalAmount!: number;\r\n enableWorkspaceAnalytics!: boolean;\r\n liquidSpaceProStatus!: LiquidSpaceProStatus;\r\n enableMembership!: boolean;\r\n enableLeadXMLAttachments!: boolean;\r\n leadDadiAccountID!: string | undefined;\r\n externalPropertyId!: string | undefined;\r\n gCalEndpoint!: GCalEndpoint;\r\n exchangeUserName!: string | undefined;\r\n exchangeUserPass!: string | undefined;\r\n exchangeAddress!: string | undefined;\r\n exchangeEndpoint!: ExchangeEndpoint;\r\n ownerIdForExchangeSourcedReservations!: string;\r\n morningStarURL!: string | undefined;\r\n morningStarIntegrationUser!: string | undefined;\r\n morningStarIntegrationPassword!: string | undefined;\r\n morningStarClientId!: string | undefined;\r\n morningStarLocationId!: string | undefined;\r\n morningStarVisaId!: string | undefined;\r\n morningStarDontSendInvitationEmail!: boolean;\r\n rjMetisVenueId!: string | undefined;\r\n rjMetisReservationsOwnerId!: string;\r\n rjMetisVisaId!: string;\r\n rjMetisSyncTenants!: boolean;\r\n evoApiConnectionId!: string;\r\n ownerIdForIOSourcedReservations!: string;\r\n ioCenterId!: string | undefined;\r\n evoClientId!: string | undefined;\r\n enableMemberClientId!: boolean;\r\n officeRnDOrganizationId!: string;\r\n officeRnDOfficeId!: string | undefined;\r\n officeRnDWebhookSecret!: string | undefined;\r\n ownerIdForOfficeRnDSourcedReservations!: string;\r\n officeRnDTeamForLiquidspaceSourcedReservations!: string | undefined;\r\n officeRnDOwnerForLiquidspaceSourcedReservations!: string | undefined;\r\n ownerIdForMSGraphSourcedReservations!: string;\r\n msGraphId!: string | undefined;\r\n msGraphEmail!: string | undefined;\r\n deskimoMarketCode!: string | undefined;\r\n deskimoPropertyReference!: string | undefined;\r\n ownerIdForDeskimoSourcedReservations!: string | undefined;\r\n hasIntegration!: boolean;\r\n venueHasExchangeIntegration!: boolean;\r\n pictureURLs!: PictureURLViewModel[];\r\n amenities!: VenueAmenitiesModel;\r\n openStatus!: VenueOpenStatus;\r\n created!: string;\r\n claimProfileLink!: string;\r\n integrationOption!: string | undefined;\r\n vlpUrl!: string | undefined;\r\n customLicensePdfTemplate!: string | undefined;\r\n\r\n constructor(data?: IVenueSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.description = _data[\"description\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.simpleAddress1 = _data[\"simpleAddress1\"];\r\n this.simpleAddress2 = _data[\"simpleAddress2\"];\r\n this.city = _data[\"city\"];\r\n this.zip = _data[\"zip\"];\r\n this.state = _data[\"state\"];\r\n this.country = _data[\"country\"];\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n this.venueHostGuid = _data[\"venueHostGuid\"];\r\n this.streetViewParameters = _data[\"streetViewParameters\"] ? StreetViewModel.fromJS(_data[\"streetViewParameters\"]) : undefined;\r\n this.percentageTax = _data[\"percentageTax\"];\r\n this.fixedAmountTax = _data[\"fixedAmountTax\"];\r\n this.taxApplyType = _data[\"taxApplyType\"];\r\n this.applyTaxToIncidentals = _data[\"applyTaxToIncidentals\"];\r\n this.billingContact = _data[\"billingContact\"] ? BillingContactModel.fromJS(_data[\"billingContact\"]) : undefined;\r\n this.hours = _data[\"hours\"] ? HoursViewModel.fromJS(_data[\"hours\"]) : undefined;\r\n this.statusNew = _data[\"statusNew\"];\r\n this.defaultBookingMethod = _data[\"defaultBookingMethod\"];\r\n this.defaultBookingMethodHourly = _data[\"defaultBookingMethodHourly\"];\r\n this.timeZoneId = _data[\"timeZoneId\"];\r\n this.licenseVersion = _data[\"licenseVersion\"];\r\n this.enableElectronicSignatures = _data[\"enableElectronicSignatures\"];\r\n this.seoTitle = _data[\"seoTitle\"];\r\n this.seoDescription = _data[\"seoDescription\"];\r\n this.inSetupDate = _data[\"inSetupDate\"];\r\n this.launchedDate = _data[\"launchedDate\"];\r\n this.publishedDate = _data[\"publishedDate\"];\r\n this.claimSentDate = _data[\"claimSentDate\"];\r\n this.claimSentFollowupDate = _data[\"claimSentFollowupDate\"];\r\n this.retiredDate = _data[\"retiredDate\"];\r\n this.professionalPhotoRank = _data[\"professionalPhotoRank\"];\r\n this.professionalPhotoDate = _data[\"professionalPhotoDate\"];\r\n this.source = _data[\"source\"];\r\n this.classification = _data[\"classification\"];\r\n this.rank = _data[\"rank\"];\r\n this.currency = _data[\"currency\"];\r\n this.venueNameSynonymsString = _data[\"venueNameSynonymsString\"];\r\n this.vlpUrlSlug = _data[\"vlpUrlSlug\"];\r\n this.accountId = _data[\"accountId\"];\r\n this.enableHostReferral = _data[\"enableHostReferral\"];\r\n this.referralEmail = _data[\"referralEmail\"];\r\n this.proposalCreditsTotalAmount = _data[\"proposalCreditsTotalAmount\"];\r\n this.enableWorkspaceAnalytics = _data[\"enableWorkspaceAnalytics\"];\r\n this.liquidSpaceProStatus = _data[\"liquidSpaceProStatus\"];\r\n this.enableMembership = _data[\"enableMembership\"];\r\n this.enableLeadXMLAttachments = _data[\"enableLeadXMLAttachments\"];\r\n this.leadDadiAccountID = _data[\"leadDadiAccountID\"];\r\n this.externalPropertyId = _data[\"externalPropertyId\"];\r\n this.gCalEndpoint = _data[\"gCalEndpoint\"];\r\n this.exchangeUserName = _data[\"exchangeUserName\"];\r\n this.exchangeUserPass = _data[\"exchangeUserPass\"];\r\n this.exchangeAddress = _data[\"exchangeAddress\"];\r\n this.exchangeEndpoint = _data[\"exchangeEndpoint\"];\r\n this.ownerIdForExchangeSourcedReservations = _data[\"ownerIdForExchangeSourcedReservations\"];\r\n this.morningStarURL = _data[\"morningStarURL\"];\r\n this.morningStarIntegrationUser = _data[\"morningStarIntegrationUser\"];\r\n this.morningStarIntegrationPassword = _data[\"morningStarIntegrationPassword\"];\r\n this.morningStarClientId = _data[\"morningStarClientId\"];\r\n this.morningStarLocationId = _data[\"morningStarLocationId\"];\r\n this.morningStarVisaId = _data[\"morningStarVisaId\"];\r\n this.morningStarDontSendInvitationEmail = _data[\"morningStarDontSendInvitationEmail\"];\r\n this.rjMetisVenueId = _data[\"rjMetisVenueId\"];\r\n this.rjMetisReservationsOwnerId = _data[\"rjMetisReservationsOwnerId\"];\r\n this.rjMetisVisaId = _data[\"rjMetisVisaId\"];\r\n this.rjMetisSyncTenants = _data[\"rjMetisSyncTenants\"];\r\n this.evoApiConnectionId = _data[\"evoApiConnectionId\"];\r\n this.ownerIdForIOSourcedReservations = _data[\"ownerIdForIOSourcedReservations\"];\r\n this.ioCenterId = _data[\"ioCenterId\"];\r\n this.evoClientId = _data[\"evoClientId\"];\r\n this.enableMemberClientId = _data[\"enableMemberClientId\"];\r\n this.officeRnDOrganizationId = _data[\"officeRnDOrganizationId\"];\r\n this.officeRnDOfficeId = _data[\"officeRnDOfficeId\"];\r\n this.officeRnDWebhookSecret = _data[\"officeRnDWebhookSecret\"];\r\n this.ownerIdForOfficeRnDSourcedReservations = _data[\"ownerIdForOfficeRnDSourcedReservations\"];\r\n this.officeRnDTeamForLiquidspaceSourcedReservations = _data[\"officeRnDTeamForLiquidspaceSourcedReservations\"];\r\n this.officeRnDOwnerForLiquidspaceSourcedReservations = _data[\"officeRnDOwnerForLiquidspaceSourcedReservations\"];\r\n this.ownerIdForMSGraphSourcedReservations = _data[\"ownerIdForMSGraphSourcedReservations\"];\r\n this.msGraphId = _data[\"msGraphId\"];\r\n this.msGraphEmail = _data[\"msGraphEmail\"];\r\n this.deskimoMarketCode = _data[\"deskimoMarketCode\"];\r\n this.deskimoPropertyReference = _data[\"deskimoPropertyReference\"];\r\n this.ownerIdForDeskimoSourcedReservations = _data[\"ownerIdForDeskimoSourcedReservations\"];\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.venueHasExchangeIntegration = _data[\"venueHasExchangeIntegration\"];\r\n if (Array.isArray(_data[\"pictureURLs\"])) {\r\n this.pictureURLs = [] as any;\r\n for (let item of _data[\"pictureURLs\"])\r\n this.pictureURLs!.push(PictureURLViewModel.fromJS(item));\r\n }\r\n this.amenities = _data[\"amenities\"] ? VenueAmenitiesModel.fromJS(_data[\"amenities\"]) : undefined;\r\n this.openStatus = _data[\"openStatus\"];\r\n this.created = _data[\"created\"];\r\n this.claimProfileLink = _data[\"claimProfileLink\"];\r\n this.integrationOption = _data[\"integrationOption\"];\r\n this.vlpUrl = _data[\"vlpUrl\"];\r\n this.customLicensePdfTemplate = _data[\"customLicensePdfTemplate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"description\"] = this.description;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"simpleAddress1\"] = this.simpleAddress1;\r\n data[\"simpleAddress2\"] = this.simpleAddress2;\r\n data[\"city\"] = this.city;\r\n data[\"zip\"] = this.zip;\r\n data[\"state\"] = this.state;\r\n data[\"country\"] = this.country;\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n data[\"venueHostGuid\"] = this.venueHostGuid;\r\n data[\"streetViewParameters\"] = this.streetViewParameters ? this.streetViewParameters.toJSON() : undefined;\r\n data[\"percentageTax\"] = this.percentageTax;\r\n data[\"fixedAmountTax\"] = this.fixedAmountTax;\r\n data[\"taxApplyType\"] = this.taxApplyType;\r\n data[\"applyTaxToIncidentals\"] = this.applyTaxToIncidentals;\r\n data[\"billingContact\"] = this.billingContact ? this.billingContact.toJSON() : undefined;\r\n data[\"hours\"] = this.hours ? this.hours.toJSON() : undefined;\r\n data[\"statusNew\"] = this.statusNew;\r\n data[\"defaultBookingMethod\"] = this.defaultBookingMethod;\r\n data[\"defaultBookingMethodHourly\"] = this.defaultBookingMethodHourly;\r\n data[\"timeZoneId\"] = this.timeZoneId;\r\n data[\"licenseVersion\"] = this.licenseVersion;\r\n data[\"enableElectronicSignatures\"] = this.enableElectronicSignatures;\r\n data[\"seoTitle\"] = this.seoTitle;\r\n data[\"seoDescription\"] = this.seoDescription;\r\n data[\"inSetupDate\"] = this.inSetupDate;\r\n data[\"launchedDate\"] = this.launchedDate;\r\n data[\"publishedDate\"] = this.publishedDate;\r\n data[\"claimSentDate\"] = this.claimSentDate;\r\n data[\"claimSentFollowupDate\"] = this.claimSentFollowupDate;\r\n data[\"retiredDate\"] = this.retiredDate;\r\n data[\"professionalPhotoRank\"] = this.professionalPhotoRank;\r\n data[\"professionalPhotoDate\"] = this.professionalPhotoDate;\r\n data[\"source\"] = this.source;\r\n data[\"classification\"] = this.classification;\r\n data[\"rank\"] = this.rank;\r\n data[\"currency\"] = this.currency;\r\n data[\"venueNameSynonymsString\"] = this.venueNameSynonymsString;\r\n data[\"vlpUrlSlug\"] = this.vlpUrlSlug;\r\n data[\"accountId\"] = this.accountId;\r\n data[\"enableHostReferral\"] = this.enableHostReferral;\r\n data[\"referralEmail\"] = this.referralEmail;\r\n data[\"proposalCreditsTotalAmount\"] = this.proposalCreditsTotalAmount;\r\n data[\"enableWorkspaceAnalytics\"] = this.enableWorkspaceAnalytics;\r\n data[\"liquidSpaceProStatus\"] = this.liquidSpaceProStatus;\r\n data[\"enableMembership\"] = this.enableMembership;\r\n data[\"enableLeadXMLAttachments\"] = this.enableLeadXMLAttachments;\r\n data[\"leadDadiAccountID\"] = this.leadDadiAccountID;\r\n data[\"externalPropertyId\"] = this.externalPropertyId;\r\n data[\"gCalEndpoint\"] = this.gCalEndpoint;\r\n data[\"exchangeUserName\"] = this.exchangeUserName;\r\n data[\"exchangeUserPass\"] = this.exchangeUserPass;\r\n data[\"exchangeAddress\"] = this.exchangeAddress;\r\n data[\"exchangeEndpoint\"] = this.exchangeEndpoint;\r\n data[\"ownerIdForExchangeSourcedReservations\"] = this.ownerIdForExchangeSourcedReservations;\r\n data[\"morningStarURL\"] = this.morningStarURL;\r\n data[\"morningStarIntegrationUser\"] = this.morningStarIntegrationUser;\r\n data[\"morningStarIntegrationPassword\"] = this.morningStarIntegrationPassword;\r\n data[\"morningStarClientId\"] = this.morningStarClientId;\r\n data[\"morningStarLocationId\"] = this.morningStarLocationId;\r\n data[\"morningStarVisaId\"] = this.morningStarVisaId;\r\n data[\"morningStarDontSendInvitationEmail\"] = this.morningStarDontSendInvitationEmail;\r\n data[\"rjMetisVenueId\"] = this.rjMetisVenueId;\r\n data[\"rjMetisReservationsOwnerId\"] = this.rjMetisReservationsOwnerId;\r\n data[\"rjMetisVisaId\"] = this.rjMetisVisaId;\r\n data[\"rjMetisSyncTenants\"] = this.rjMetisSyncTenants;\r\n data[\"evoApiConnectionId\"] = this.evoApiConnectionId;\r\n data[\"ownerIdForIOSourcedReservations\"] = this.ownerIdForIOSourcedReservations;\r\n data[\"ioCenterId\"] = this.ioCenterId;\r\n data[\"evoClientId\"] = this.evoClientId;\r\n data[\"enableMemberClientId\"] = this.enableMemberClientId;\r\n data[\"officeRnDOrganizationId\"] = this.officeRnDOrganizationId;\r\n data[\"officeRnDOfficeId\"] = this.officeRnDOfficeId;\r\n data[\"officeRnDWebhookSecret\"] = this.officeRnDWebhookSecret;\r\n data[\"ownerIdForOfficeRnDSourcedReservations\"] = this.ownerIdForOfficeRnDSourcedReservations;\r\n data[\"officeRnDTeamForLiquidspaceSourcedReservations\"] = this.officeRnDTeamForLiquidspaceSourcedReservations;\r\n data[\"officeRnDOwnerForLiquidspaceSourcedReservations\"] = this.officeRnDOwnerForLiquidspaceSourcedReservations;\r\n data[\"ownerIdForMSGraphSourcedReservations\"] = this.ownerIdForMSGraphSourcedReservations;\r\n data[\"msGraphId\"] = this.msGraphId;\r\n data[\"msGraphEmail\"] = this.msGraphEmail;\r\n data[\"deskimoMarketCode\"] = this.deskimoMarketCode;\r\n data[\"deskimoPropertyReference\"] = this.deskimoPropertyReference;\r\n data[\"ownerIdForDeskimoSourcedReservations\"] = this.ownerIdForDeskimoSourcedReservations;\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"venueHasExchangeIntegration\"] = this.venueHasExchangeIntegration;\r\n if (Array.isArray(this.pictureURLs)) {\r\n data[\"pictureURLs\"] = [];\r\n for (let item of this.pictureURLs)\r\n data[\"pictureURLs\"].push(item.toJSON());\r\n }\r\n data[\"amenities\"] = this.amenities ? this.amenities.toJSON() : undefined;\r\n data[\"openStatus\"] = this.openStatus;\r\n data[\"created\"] = this.created;\r\n data[\"claimProfileLink\"] = this.claimProfileLink;\r\n data[\"integrationOption\"] = this.integrationOption;\r\n data[\"vlpUrl\"] = this.vlpUrl;\r\n data[\"customLicensePdfTemplate\"] = this.customLicensePdfTemplate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueSettingsModel {\r\n id: string;\r\n fullName: string;\r\n description: string | undefined;\r\n phoneNumber: string | undefined;\r\n simpleAddress1: string | undefined;\r\n simpleAddress2: string | undefined;\r\n city: string | undefined;\r\n zip: string | undefined;\r\n state: string | undefined;\r\n country: string | undefined;\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n venueHostGuid: string;\r\n streetViewParameters: StreetViewModel;\r\n percentageTax: number | undefined;\r\n fixedAmountTax: number | undefined;\r\n taxApplyType: VenueTaxApplyType;\r\n applyTaxToIncidentals: boolean;\r\n billingContact: BillingContactModel;\r\n hours: HoursViewModel;\r\n statusNew: VenueStatusNew;\r\n defaultBookingMethod: BookingMethod;\r\n defaultBookingMethodHourly: BookingMethod;\r\n timeZoneId: string | undefined;\r\n licenseVersion: LicenseVersion;\r\n enableElectronicSignatures: boolean;\r\n seoTitle: string | undefined;\r\n seoDescription: string | undefined;\r\n inSetupDate: string | undefined;\r\n launchedDate: string | undefined;\r\n publishedDate: string | undefined;\r\n claimSentDate: string | undefined;\r\n claimSentFollowupDate: string | undefined;\r\n retiredDate: string | undefined;\r\n professionalPhotoRank: PhotoRankEnum;\r\n professionalPhotoDate: string | undefined;\r\n source: VenueSource;\r\n classification: VenueClassification;\r\n rank: VenueRank;\r\n currency: CurrencyType;\r\n venueNameSynonymsString: string | undefined;\r\n vlpUrlSlug: string | undefined;\r\n accountId: string | undefined;\r\n enableHostReferral: boolean;\r\n referralEmail: string | undefined;\r\n proposalCreditsTotalAmount: number;\r\n enableWorkspaceAnalytics: boolean;\r\n liquidSpaceProStatus: LiquidSpaceProStatus;\r\n enableMembership: boolean;\r\n enableLeadXMLAttachments: boolean;\r\n leadDadiAccountID: string | undefined;\r\n externalPropertyId: string | undefined;\r\n gCalEndpoint: GCalEndpoint;\r\n exchangeUserName: string | undefined;\r\n exchangeUserPass: string | undefined;\r\n exchangeAddress: string | undefined;\r\n exchangeEndpoint: ExchangeEndpoint;\r\n ownerIdForExchangeSourcedReservations: string;\r\n morningStarURL: string | undefined;\r\n morningStarIntegrationUser: string | undefined;\r\n morningStarIntegrationPassword: string | undefined;\r\n morningStarClientId: string | undefined;\r\n morningStarLocationId: string | undefined;\r\n morningStarVisaId: string | undefined;\r\n morningStarDontSendInvitationEmail: boolean;\r\n rjMetisVenueId: string | undefined;\r\n rjMetisReservationsOwnerId: string;\r\n rjMetisVisaId: string;\r\n rjMetisSyncTenants: boolean;\r\n evoApiConnectionId: string;\r\n ownerIdForIOSourcedReservations: string;\r\n ioCenterId: string | undefined;\r\n evoClientId: string | undefined;\r\n enableMemberClientId: boolean;\r\n officeRnDOrganizationId: string;\r\n officeRnDOfficeId: string | undefined;\r\n officeRnDWebhookSecret: string | undefined;\r\n ownerIdForOfficeRnDSourcedReservations: string;\r\n officeRnDTeamForLiquidspaceSourcedReservations: string | undefined;\r\n officeRnDOwnerForLiquidspaceSourcedReservations: string | undefined;\r\n ownerIdForMSGraphSourcedReservations: string;\r\n msGraphId: string | undefined;\r\n msGraphEmail: string | undefined;\r\n deskimoMarketCode: string | undefined;\r\n deskimoPropertyReference: string | undefined;\r\n ownerIdForDeskimoSourcedReservations: string | undefined;\r\n hasIntegration: boolean;\r\n venueHasExchangeIntegration: boolean;\r\n pictureURLs: PictureURLViewModel[];\r\n amenities: VenueAmenitiesModel;\r\n openStatus: VenueOpenStatus;\r\n created: string;\r\n claimProfileLink: string;\r\n integrationOption: string | undefined;\r\n vlpUrl: string | undefined;\r\n customLicensePdfTemplate: string | undefined;\r\n}\r\n\r\nexport class StreetViewModel implements IStreetViewModel {\r\n displayStreetView!: boolean;\r\n position!: PositionModel;\r\n pointOfView!: PointOfViewModel;\r\n zoom!: number | undefined;\r\n\r\n constructor(data?: IStreetViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.displayStreetView = _data[\"displayStreetView\"];\r\n this.position = _data[\"position\"] ? PositionModel.fromJS(_data[\"position\"]) : undefined;\r\n this.pointOfView = _data[\"pointOfView\"] ? PointOfViewModel.fromJS(_data[\"pointOfView\"]) : undefined;\r\n this.zoom = _data[\"zoom\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): StreetViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new StreetViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayStreetView\"] = this.displayStreetView;\r\n data[\"position\"] = this.position ? this.position.toJSON() : undefined;\r\n data[\"pointOfView\"] = this.pointOfView ? this.pointOfView.toJSON() : undefined;\r\n data[\"zoom\"] = this.zoom;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IStreetViewModel {\r\n displayStreetView: boolean;\r\n position: PositionModel;\r\n pointOfView: PointOfViewModel;\r\n zoom: number | undefined;\r\n}\r\n\r\nexport class PositionModel implements IPositionModel {\r\n latitude!: number | undefined;\r\n longitude!: number | undefined;\r\n\r\n constructor(data?: IPositionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.latitude = _data[\"latitude\"];\r\n this.longitude = _data[\"longitude\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PositionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PositionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"latitude\"] = this.latitude;\r\n data[\"longitude\"] = this.longitude;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPositionModel {\r\n latitude: number | undefined;\r\n longitude: number | undefined;\r\n}\r\n\r\nexport class PointOfViewModel implements IPointOfViewModel {\r\n heading!: number | undefined;\r\n pitch!: number | undefined;\r\n\r\n constructor(data?: IPointOfViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.heading = _data[\"heading\"];\r\n this.pitch = _data[\"pitch\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PointOfViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PointOfViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"heading\"] = this.heading;\r\n data[\"pitch\"] = this.pitch;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPointOfViewModel {\r\n heading: number | undefined;\r\n pitch: number | undefined;\r\n}\r\n\r\n/** 0 = TaxApplyToDiscountedPrice 1 = TaxApplyToListPrice */\r\nexport enum VenueTaxApplyType {\r\n TaxApplyToDiscountedPrice = 0,\r\n TaxApplyToListPrice = 1,\r\n}\r\n\r\nexport class BillingContactModel implements IBillingContactModel {\r\n id!: string;\r\n name!: string | undefined;\r\n email!: string | undefined;\r\n phone!: string | undefined;\r\n addresLine1!: string | undefined;\r\n addresLine2!: string | undefined;\r\n city!: string | undefined;\r\n state!: string | undefined;\r\n zip!: string | undefined;\r\n country!: string | undefined;\r\n contactType!: ContactTypeEnum;\r\n payeeName!: string | undefined;\r\n sameAddressAsVenue!: boolean;\r\n billingMethod!: BillingMethod | undefined;\r\n accountType!: ACHAccountType;\r\n accountName!: string | undefined;\r\n routingNumber!: string | undefined;\r\n bankAccount!: string | undefined;\r\n payPalEmailAddress!: string | undefined;\r\n bankName!: string | undefined;\r\n bankAndBranchNumber!: string | undefined;\r\n taxId!: string | undefined;\r\n\r\n constructor(data?: IBillingContactModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.addresLine1 = _data[\"addresLine1\"];\r\n this.addresLine2 = _data[\"addresLine2\"];\r\n this.city = _data[\"city\"];\r\n this.state = _data[\"state\"];\r\n this.zip = _data[\"zip\"];\r\n this.country = _data[\"country\"];\r\n this.contactType = _data[\"contactType\"];\r\n this.payeeName = _data[\"payeeName\"];\r\n this.sameAddressAsVenue = _data[\"sameAddressAsVenue\"];\r\n this.billingMethod = _data[\"billingMethod\"];\r\n this.accountType = _data[\"accountType\"];\r\n this.accountName = _data[\"accountName\"];\r\n this.routingNumber = _data[\"routingNumber\"];\r\n this.bankAccount = _data[\"bankAccount\"];\r\n this.payPalEmailAddress = _data[\"payPalEmailAddress\"];\r\n this.bankName = _data[\"bankName\"];\r\n this.bankAndBranchNumber = _data[\"bankAndBranchNumber\"];\r\n this.taxId = _data[\"taxId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): BillingContactModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new BillingContactModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"addresLine1\"] = this.addresLine1;\r\n data[\"addresLine2\"] = this.addresLine2;\r\n data[\"city\"] = this.city;\r\n data[\"state\"] = this.state;\r\n data[\"zip\"] = this.zip;\r\n data[\"country\"] = this.country;\r\n data[\"contactType\"] = this.contactType;\r\n data[\"payeeName\"] = this.payeeName;\r\n data[\"sameAddressAsVenue\"] = this.sameAddressAsVenue;\r\n data[\"billingMethod\"] = this.billingMethod;\r\n data[\"accountType\"] = this.accountType;\r\n data[\"accountName\"] = this.accountName;\r\n data[\"routingNumber\"] = this.routingNumber;\r\n data[\"bankAccount\"] = this.bankAccount;\r\n data[\"payPalEmailAddress\"] = this.payPalEmailAddress;\r\n data[\"bankName\"] = this.bankName;\r\n data[\"bankAndBranchNumber\"] = this.bankAndBranchNumber;\r\n data[\"taxId\"] = this.taxId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IBillingContactModel {\r\n id: string;\r\n name: string | undefined;\r\n email: string | undefined;\r\n phone: string | undefined;\r\n addresLine1: string | undefined;\r\n addresLine2: string | undefined;\r\n city: string | undefined;\r\n state: string | undefined;\r\n zip: string | undefined;\r\n country: string | undefined;\r\n contactType: ContactTypeEnum;\r\n payeeName: string | undefined;\r\n sameAddressAsVenue: boolean;\r\n billingMethod: BillingMethod | undefined;\r\n accountType: ACHAccountType;\r\n accountName: string | undefined;\r\n routingNumber: string | undefined;\r\n bankAccount: string | undefined;\r\n payPalEmailAddress: string | undefined;\r\n bankName: string | undefined;\r\n bankAndBranchNumber: string | undefined;\r\n taxId: string | undefined;\r\n}\r\n\r\n/** 0 = Billing */\r\nexport enum ContactTypeEnum {\r\n Billing = 0,\r\n}\r\n\r\n/** 0 = Check 1 = ACH 1 = BankAccount 2 = Paypal 3 = BankTransfer 4 = None */\r\nexport enum BillingMethod {\r\n Check = 0,\r\n ACH = 1,\r\n BankAccount = 1,\r\n Paypal = 2,\r\n BankTransfer = 3,\r\n None = 4,\r\n}\r\n\r\n/** 0 = Checking 1 = Savings */\r\nexport enum ACHAccountType {\r\n Checking = 0,\r\n Savings = 1,\r\n}\r\n\r\nexport class HoursViewModel implements IHoursViewModel {\r\n allHolidays!: HolidayViewModel[];\r\n forDayOfWeek!: HooRuleForDayOfWeekViewModel[];\r\n forHolidays!: HooRuleForHolidayViewModel[];\r\n\r\n constructor(data?: IHoursViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"allHolidays\"])) {\r\n this.allHolidays = [] as any;\r\n for (let item of _data[\"allHolidays\"])\r\n this.allHolidays!.push(HolidayViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"forDayOfWeek\"])) {\r\n this.forDayOfWeek = [] as any;\r\n for (let item of _data[\"forDayOfWeek\"])\r\n this.forDayOfWeek!.push(HooRuleForDayOfWeekViewModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"forHolidays\"])) {\r\n this.forHolidays = [] as any;\r\n for (let item of _data[\"forHolidays\"])\r\n this.forHolidays!.push(HooRuleForHolidayViewModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HoursViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HoursViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.allHolidays)) {\r\n data[\"allHolidays\"] = [];\r\n for (let item of this.allHolidays)\r\n data[\"allHolidays\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.forDayOfWeek)) {\r\n data[\"forDayOfWeek\"] = [];\r\n for (let item of this.forDayOfWeek)\r\n data[\"forDayOfWeek\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.forHolidays)) {\r\n data[\"forHolidays\"] = [];\r\n for (let item of this.forHolidays)\r\n data[\"forHolidays\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHoursViewModel {\r\n allHolidays: HolidayViewModel[];\r\n forDayOfWeek: HooRuleForDayOfWeekViewModel[];\r\n forHolidays: HooRuleForHolidayViewModel[];\r\n}\r\n\r\nexport class HolidayViewModel implements IHolidayViewModel {\r\n name!: string;\r\n countries!: string[];\r\n id!: string;\r\n dates!: string[];\r\n\r\n constructor(data?: IHolidayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"countries\"])) {\r\n this.countries = [] as any;\r\n for (let item of _data[\"countries\"])\r\n this.countries!.push(item);\r\n }\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"dates\"])) {\r\n this.dates = [] as any;\r\n for (let item of _data[\"dates\"])\r\n this.dates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HolidayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HolidayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.countries)) {\r\n data[\"countries\"] = [];\r\n for (let item of this.countries)\r\n data[\"countries\"].push(item);\r\n }\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.dates)) {\r\n data[\"dates\"] = [];\r\n for (let item of this.dates)\r\n data[\"dates\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHolidayViewModel {\r\n name: string;\r\n countries: string[];\r\n id: string;\r\n dates: string[];\r\n}\r\n\r\nexport class HooRuleForDayOfWeekViewModel implements IHooRuleForDayOfWeekViewModel {\r\n dayOfWeek!: DayOfWeek;\r\n offsetToOpening!: string;\r\n offsetToClosing!: string;\r\n\r\n constructor(data?: IHooRuleForDayOfWeekViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dayOfWeek = _data[\"dayOfWeek\"];\r\n this.offsetToOpening = _data[\"offsetToOpening\"];\r\n this.offsetToClosing = _data[\"offsetToClosing\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForDayOfWeekViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForDayOfWeekViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dayOfWeek\"] = this.dayOfWeek;\r\n data[\"offsetToOpening\"] = this.offsetToOpening;\r\n data[\"offsetToClosing\"] = this.offsetToClosing;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForDayOfWeekViewModel {\r\n dayOfWeek: DayOfWeek;\r\n offsetToOpening: string;\r\n offsetToClosing: string;\r\n}\r\n\r\n/** 0 = Sunday 1 = Monday 2 = Tuesday 3 = Wednesday 4 = Thursday 5 = Friday 6 = Saturday */\r\nexport enum DayOfWeek {\r\n Sunday = 0,\r\n Monday = 1,\r\n Tuesday = 2,\r\n Wednesday = 3,\r\n Thursday = 4,\r\n Friday = 5,\r\n Saturday = 6,\r\n}\r\n\r\nexport class HooRuleForHolidayViewModel implements IHooRuleForHolidayViewModel {\r\n holidayId!: string;\r\n\r\n constructor(data?: IHooRuleForHolidayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.holidayId = _data[\"holidayId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForHolidayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForHolidayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"holidayId\"] = this.holidayId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForHolidayViewModel {\r\n holidayId: string;\r\n}\r\n\r\n/** 0 = None 1 = ProfessionalVenueSourced 2 = ProfessionalLiquidSpaceSourced */\r\nexport enum PhotoRankEnum {\r\n None = 0,\r\n ProfessionalVenueSourced = 1,\r\n ProfessionalLiquidSpaceSourced = 2,\r\n}\r\n\r\n/** 0 = Unspecified 1 = BusinessCenter 2 = Coworking 3 = Hotel 4 = Library 5 = PrivateOffice 6 = Bank 7 = HighQualityCoworking 8 = HighQualityOBC 9 = OBCInternal 10 = CoworkingInternal 11 = EnterpriseInternal 12 = CommercialOfficeBuilding 13 = ConferenceCenters 14 = RestaurantCafe 15 = CourtReportingLegal 16 = TrainingCenters 17 = Incubator 18 = BusinessClub 19 = Studio 20 = GolfCourse 21 = AthleticClub 22 = CoffeeShop 23 = Museum 24 = MakerSpace 25 = Winery 26 = Government 27 = Church 28 = StrategicPortfolio 29 = Sublease 2147483647 = Other */\r\nexport enum VenueClassification {\r\n Unspecified = 0,\r\n BusinessCenter = 1,\r\n Coworking = 2,\r\n Hotel = 3,\r\n Library = 4,\r\n PrivateOffice = 5,\r\n Bank = 6,\r\n HighQualityCoworking = 7,\r\n HighQualityOBC = 8,\r\n OBCInternal = 9,\r\n CoworkingInternal = 10,\r\n EnterpriseInternal = 11,\r\n CommercialOfficeBuilding = 12,\r\n ConferenceCenters = 13,\r\n RestaurantCafe = 14,\r\n CourtReportingLegal = 15,\r\n TrainingCenters = 16,\r\n Incubator = 17,\r\n BusinessClub = 18,\r\n Studio = 19,\r\n GolfCourse = 20,\r\n AthleticClub = 21,\r\n CoffeeShop = 22,\r\n Museum = 23,\r\n MakerSpace = 24,\r\n Winery = 25,\r\n Government = 26,\r\n Church = 27,\r\n StrategicPortfolio = 28,\r\n Sublease = 29,\r\n Other = 2147483647,\r\n}\r\n\r\n/** 0 = LevelZero 1 = Bronze 2 = Gold 3 = Platinum 4 = Titanium */\r\nexport enum VenueRank {\r\n LevelZero = 0,\r\n Bronze = 1,\r\n Gold = 2,\r\n Platinum = 3,\r\n Titanium = 4,\r\n}\r\n\r\n/** 0 = None 1 = GoogleCalendar 2 = HappyDesk 3 = Cobot 4 = NexudusSpaces 5 = YourVirtualButler 6 = Deskworks 7 = Eventboard 8 = OffOps 9 = Robin 10 = Roomzilla 11 = RoomWizard 12 = Other */\r\nexport enum GCalEndpoint {\r\n None = 0,\r\n GoogleCalendar = 1,\r\n HappyDesk = 2,\r\n Cobot = 3,\r\n NexudusSpaces = 4,\r\n YourVirtualButler = 5,\r\n Deskworks = 6,\r\n Eventboard = 7,\r\n OffOps = 8,\r\n Robin = 9,\r\n Roomzilla = 10,\r\n RoomWizard = 11,\r\n Other = 12,\r\n}\r\n\r\n/** 0 = None 1 = Outlook 2 = RoomWizard 3 = Crestron 4 = Other */\r\nexport enum ExchangeEndpoint {\r\n None = 0,\r\n Outlook = 1,\r\n RoomWizard = 2,\r\n Crestron = 3,\r\n Other = 4,\r\n}\r\n\r\nexport class VenueAmenitiesModel implements IVenueAmenitiesModel {\r\n customGreeting!: string | undefined;\r\n entry!: string | undefined;\r\n healthAndSafetyPolicy!: string | undefined;\r\n parking!: VenueParkingAmenityModel;\r\n wiFi!: VenueWiFiAmenityModel;\r\n\r\n constructor(data?: IVenueAmenitiesModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.customGreeting = _data[\"customGreeting\"];\r\n this.entry = _data[\"entry\"];\r\n this.healthAndSafetyPolicy = _data[\"healthAndSafetyPolicy\"];\r\n this.parking = _data[\"parking\"] ? VenueParkingAmenityModel.fromJS(_data[\"parking\"]) : undefined;\r\n this.wiFi = _data[\"wiFi\"] ? VenueWiFiAmenityModel.fromJS(_data[\"wiFi\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueAmenitiesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueAmenitiesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"customGreeting\"] = this.customGreeting;\r\n data[\"entry\"] = this.entry;\r\n data[\"healthAndSafetyPolicy\"] = this.healthAndSafetyPolicy;\r\n data[\"parking\"] = this.parking ? this.parking.toJSON() : undefined;\r\n data[\"wiFi\"] = this.wiFi ? this.wiFi.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueAmenitiesModel {\r\n customGreeting: string | undefined;\r\n entry: string | undefined;\r\n healthAndSafetyPolicy: string | undefined;\r\n parking: VenueParkingAmenityModel;\r\n wiFi: VenueWiFiAmenityModel;\r\n}\r\n\r\nexport class VenueParkingAmenityModel implements IVenueParkingAmenityModel {\r\n instructions!: string | undefined;\r\n parkingType!: ParkingType;\r\n price!: string | undefined;\r\n\r\n constructor(data?: IVenueParkingAmenityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.instructions = _data[\"instructions\"];\r\n this.parkingType = _data[\"parkingType\"];\r\n this.price = _data[\"price\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueParkingAmenityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueParkingAmenityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"instructions\"] = this.instructions;\r\n data[\"parkingType\"] = this.parkingType;\r\n data[\"price\"] = this.price;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueParkingAmenityModel {\r\n instructions: string | undefined;\r\n parkingType: ParkingType;\r\n price: string | undefined;\r\n}\r\n\r\n/** 0 = Unknown 1 = FreeParkingOnsite 2 = PaidParkingOnsite 3 = FreeParkingOffsite 4 = PaidParkingOffsite */\r\nexport enum ParkingType {\r\n Unknown = 0,\r\n FreeParkingOnsite = 1,\r\n PaidParkingOnsite = 2,\r\n FreeParkingOffsite = 3,\r\n PaidParkingOffsite = 4,\r\n}\r\n\r\nexport class VenueWiFiAmenityModel implements IVenueWiFiAmenityModel {\r\n description!: string | undefined;\r\n networkName!: string | undefined;\r\n password!: string | undefined;\r\n\r\n constructor(data?: IVenueWiFiAmenityModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.description = _data[\"description\"];\r\n this.networkName = _data[\"networkName\"];\r\n this.password = _data[\"password\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueWiFiAmenityModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueWiFiAmenityModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"description\"] = this.description;\r\n data[\"networkName\"] = this.networkName;\r\n data[\"password\"] = this.password;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueWiFiAmenityModel {\r\n description: string | undefined;\r\n networkName: string | undefined;\r\n password: string | undefined;\r\n}\r\n\r\nexport class VenueGroupMembershipModel implements IVenueGroupMembershipModel {\r\n name!: string;\r\n groupId!: string;\r\n visaId!: string;\r\n visaType!: VenueGroupVisaType;\r\n venueId!: string;\r\n hasPricingRateHourly!: boolean;\r\n hasPricingRateMonthly!: boolean;\r\n\r\n constructor(data?: IVenueGroupMembershipModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.groupId = _data[\"groupId\"];\r\n this.visaId = _data[\"visaId\"];\r\n this.visaType = _data[\"visaType\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.hasPricingRateHourly = _data[\"hasPricingRateHourly\"];\r\n this.hasPricingRateMonthly = _data[\"hasPricingRateMonthly\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueGroupMembershipModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueGroupMembershipModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"groupId\"] = this.groupId;\r\n data[\"visaId\"] = this.visaId;\r\n data[\"visaType\"] = this.visaType;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"hasPricingRateHourly\"] = this.hasPricingRateHourly;\r\n data[\"hasPricingRateMonthly\"] = this.hasPricingRateMonthly;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueGroupMembershipModel {\r\n name: string;\r\n groupId: string;\r\n visaId: string;\r\n visaType: VenueGroupVisaType;\r\n venueId: string;\r\n hasPricingRateHourly: boolean;\r\n hasPricingRateMonthly: boolean;\r\n}\r\n\r\nexport class PriceRateCheckerResponse implements IPriceRateCheckerResponse {\r\n ratePercent!: number;\r\n pricingRateName!: string;\r\n\r\n constructor(data?: IPriceRateCheckerResponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.ratePercent = _data[\"ratePercent\"];\r\n this.pricingRateName = _data[\"pricingRateName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PriceRateCheckerResponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PriceRateCheckerResponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"ratePercent\"] = this.ratePercent;\r\n data[\"pricingRateName\"] = this.pricingRateName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPriceRateCheckerResponse {\r\n ratePercent: number;\r\n pricingRateName: string;\r\n}\r\n\r\n/** 0 = Flat 1 = Tiered */\r\nexport enum PricingRateType {\r\n Flat = 0,\r\n Tiered = 1,\r\n}\r\n\r\nexport class VerifyVenueParmalinkResult implements IVerifyVenueParmalinkResult {\r\n success!: boolean;\r\n urlWithoutHost!: string | undefined;\r\n url!: string | undefined;\r\n proposals!: string[];\r\n permalinkNormalized!: string | undefined;\r\n\r\n constructor(data?: IVerifyVenueParmalinkResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.urlWithoutHost = _data[\"urlWithoutHost\"];\r\n this.url = _data[\"url\"];\r\n if (Array.isArray(_data[\"proposals\"])) {\r\n this.proposals = [] as any;\r\n for (let item of _data[\"proposals\"])\r\n this.proposals!.push(item);\r\n }\r\n this.permalinkNormalized = _data[\"permalinkNormalized\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VerifyVenueParmalinkResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VerifyVenueParmalinkResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"urlWithoutHost\"] = this.urlWithoutHost;\r\n data[\"url\"] = this.url;\r\n if (Array.isArray(this.proposals)) {\r\n data[\"proposals\"] = [];\r\n for (let item of this.proposals)\r\n data[\"proposals\"].push(item);\r\n }\r\n data[\"permalinkNormalized\"] = this.permalinkNormalized;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVerifyVenueParmalinkResult {\r\n success: boolean;\r\n urlWithoutHost: string | undefined;\r\n url: string | undefined;\r\n proposals: string[];\r\n permalinkNormalized: string | undefined;\r\n}\r\n\r\nexport class VenuePopulationPercentModel implements IVenuePopulationPercentModel {\r\n percentValues!: { [key in keyof typeof ManageVenueSectionEnum]?: number; } | undefined;\r\n percent!: number;\r\n sectionHasValues!: { [key in keyof typeof ManageVenueSectionEnum]?: boolean; } | undefined;\r\n sectionText!: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n sectionDescription!: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n completed!: boolean;\r\n\r\n constructor(data?: IVenuePopulationPercentModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"percentValues\"]) {\r\n this.percentValues = {} as any;\r\n for (let key in _data[\"percentValues\"]) {\r\n if (_data[\"percentValues\"].hasOwnProperty(key))\r\n (this.percentValues)![key] = _data[\"percentValues\"][key];\r\n }\r\n }\r\n this.percent = _data[\"percent\"];\r\n if (_data[\"sectionHasValues\"]) {\r\n this.sectionHasValues = {} as any;\r\n for (let key in _data[\"sectionHasValues\"]) {\r\n if (_data[\"sectionHasValues\"].hasOwnProperty(key))\r\n (this.sectionHasValues)![key] = _data[\"sectionHasValues\"][key];\r\n }\r\n }\r\n if (_data[\"sectionText\"]) {\r\n this.sectionText = {} as any;\r\n for (let key in _data[\"sectionText\"]) {\r\n if (_data[\"sectionText\"].hasOwnProperty(key))\r\n (this.sectionText)![key] = _data[\"sectionText\"][key];\r\n }\r\n }\r\n if (_data[\"sectionDescription\"]) {\r\n this.sectionDescription = {} as any;\r\n for (let key in _data[\"sectionDescription\"]) {\r\n if (_data[\"sectionDescription\"].hasOwnProperty(key))\r\n (this.sectionDescription)![key] = _data[\"sectionDescription\"][key];\r\n }\r\n }\r\n this.completed = _data[\"completed\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuePopulationPercentModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuePopulationPercentModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.percentValues) {\r\n data[\"percentValues\"] = {};\r\n for (let key in this.percentValues) {\r\n if (this.percentValues.hasOwnProperty(key))\r\n (data[\"percentValues\"])[key] = (this.percentValues)[key];\r\n }\r\n }\r\n data[\"percent\"] = this.percent;\r\n if (this.sectionHasValues) {\r\n data[\"sectionHasValues\"] = {};\r\n for (let key in this.sectionHasValues) {\r\n if (this.sectionHasValues.hasOwnProperty(key))\r\n (data[\"sectionHasValues\"])[key] = (this.sectionHasValues)[key];\r\n }\r\n }\r\n if (this.sectionText) {\r\n data[\"sectionText\"] = {};\r\n for (let key in this.sectionText) {\r\n if (this.sectionText.hasOwnProperty(key))\r\n (data[\"sectionText\"])[key] = (this.sectionText)[key];\r\n }\r\n }\r\n if (this.sectionDescription) {\r\n data[\"sectionDescription\"] = {};\r\n for (let key in this.sectionDescription) {\r\n if (this.sectionDescription.hasOwnProperty(key))\r\n (data[\"sectionDescription\"])[key] = (this.sectionDescription)[key];\r\n }\r\n }\r\n data[\"completed\"] = this.completed;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuePopulationPercentModel {\r\n percentValues: { [key in keyof typeof ManageVenueSectionEnum]?: number; } | undefined;\r\n percent: number;\r\n sectionHasValues: { [key in keyof typeof ManageVenueSectionEnum]?: boolean; } | undefined;\r\n sectionText: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n sectionDescription: { [key in keyof typeof ManageVenueSectionEnum]?: string; } | undefined;\r\n completed: boolean;\r\n}\r\n\r\n/** 0 = None 1 = Workspaces 2 = HostProfile 3 = Descriptions 4 = Photos 5 = Amenities 6 = Hours 7 = PaymentInfo 8 = Team 9 = SubmitForReview 10 = WelcomeInfo */\r\nexport enum ManageVenueSectionEnum {\r\n None = 0,\r\n Workspaces = 1,\r\n HostProfile = 2,\r\n Descriptions = 3,\r\n Photos = 4,\r\n Amenities = 5,\r\n Hours = 6,\r\n PaymentInfo = 7,\r\n Team = 8,\r\n SubmitForReview = 9,\r\n WelcomeInfo = 10,\r\n}\r\n\r\nexport class VenuePropertiesModel implements IVenuePropertiesModel {\r\n currentVenueScore!: VenueScoreModel;\r\n previousVenueScore!: VenueScoreModel;\r\n venueAdmins!: VenueAdminPropertiesModel[];\r\n lsPartnerSuccess!: string | undefined;\r\n classification!: VenueGroupClassification;\r\n\r\n constructor(data?: IVenuePropertiesModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.currentVenueScore = _data[\"currentVenueScore\"] ? VenueScoreModel.fromJS(_data[\"currentVenueScore\"]) : undefined;\r\n this.previousVenueScore = _data[\"previousVenueScore\"] ? VenueScoreModel.fromJS(_data[\"previousVenueScore\"]) : undefined;\r\n if (Array.isArray(_data[\"venueAdmins\"])) {\r\n this.venueAdmins = [] as any;\r\n for (let item of _data[\"venueAdmins\"])\r\n this.venueAdmins!.push(VenueAdminPropertiesModel.fromJS(item));\r\n }\r\n this.lsPartnerSuccess = _data[\"lsPartnerSuccess\"];\r\n this.classification = _data[\"classification\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenuePropertiesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenuePropertiesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"currentVenueScore\"] = this.currentVenueScore ? this.currentVenueScore.toJSON() : undefined;\r\n data[\"previousVenueScore\"] = this.previousVenueScore ? this.previousVenueScore.toJSON() : undefined;\r\n if (Array.isArray(this.venueAdmins)) {\r\n data[\"venueAdmins\"] = [];\r\n for (let item of this.venueAdmins)\r\n data[\"venueAdmins\"].push(item.toJSON());\r\n }\r\n data[\"lsPartnerSuccess\"] = this.lsPartnerSuccess;\r\n data[\"classification\"] = this.classification;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenuePropertiesModel {\r\n currentVenueScore: VenueScoreModel;\r\n previousVenueScore: VenueScoreModel;\r\n venueAdmins: VenueAdminPropertiesModel[];\r\n lsPartnerSuccess: string | undefined;\r\n classification: VenueGroupClassification;\r\n}\r\n\r\nexport class VenueScoreModel implements IVenueScoreModel {\r\n freshness!: number;\r\n responsiveness!: number;\r\n conversion!: number;\r\n reviews!: number;\r\n total!: number;\r\n\r\n constructor(data?: IVenueScoreModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.freshness = _data[\"freshness\"];\r\n this.responsiveness = _data[\"responsiveness\"];\r\n this.conversion = _data[\"conversion\"];\r\n this.reviews = _data[\"reviews\"];\r\n this.total = _data[\"total\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueScoreModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueScoreModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"freshness\"] = this.freshness;\r\n data[\"responsiveness\"] = this.responsiveness;\r\n data[\"conversion\"] = this.conversion;\r\n data[\"reviews\"] = this.reviews;\r\n data[\"total\"] = this.total;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueScoreModel {\r\n freshness: number;\r\n responsiveness: number;\r\n conversion: number;\r\n reviews: number;\r\n total: number;\r\n}\r\n\r\nexport class VenueAdminPropertiesModel implements IVenueAdminPropertiesModel {\r\n memberId!: string;\r\n memberLastName!: string | undefined;\r\n memberFirstName!: string | undefined;\r\n memberName!: string;\r\n email!: string;\r\n role!: VenueRoleEnum;\r\n lastActivityDate!: string | undefined;\r\n\r\n constructor(data?: IVenueAdminPropertiesModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.memberId = _data[\"memberId\"];\r\n this.memberLastName = _data[\"memberLastName\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.memberName = _data[\"memberName\"];\r\n this.email = _data[\"email\"];\r\n this.role = _data[\"role\"];\r\n this.lastActivityDate = _data[\"lastActivityDate\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueAdminPropertiesModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueAdminPropertiesModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberLastName\"] = this.memberLastName;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"memberName\"] = this.memberName;\r\n data[\"email\"] = this.email;\r\n data[\"role\"] = this.role;\r\n data[\"lastActivityDate\"] = this.lastActivityDate;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueAdminPropertiesModel {\r\n memberId: string;\r\n memberLastName: string | undefined;\r\n memberFirstName: string | undefined;\r\n memberName: string;\r\n email: string;\r\n role: VenueRoleEnum;\r\n lastActivityDate: string | undefined;\r\n}\r\n\r\n/** 1 = PaymentInformation 2 = MeetingRoom 3 = Integration 4 = WelcomeInformation */\r\nexport enum ProfileChecklist {\r\n PaymentInformation = 1,\r\n MeetingRoom = 2,\r\n Integration = 3,\r\n WelcomeInformation = 4,\r\n}\r\n\r\nexport class VenueEventModel implements IVenueEventModel {\r\n eventId!: string;\r\n eventType!: VenueEventType;\r\n createdVenueTime!: string;\r\n createdTicks!: string;\r\n authorEmail!: string | undefined;\r\n message!: string;\r\n\r\n constructor(data?: IVenueEventModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.eventId = _data[\"eventId\"];\r\n this.eventType = _data[\"eventType\"];\r\n this.createdVenueTime = _data[\"createdVenueTime\"];\r\n this.createdTicks = _data[\"createdTicks\"];\r\n this.authorEmail = _data[\"authorEmail\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueEventModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueEventModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"eventId\"] = this.eventId;\r\n data[\"eventType\"] = this.eventType;\r\n data[\"createdVenueTime\"] = this.createdVenueTime;\r\n data[\"createdTicks\"] = this.createdTicks;\r\n data[\"authorEmail\"] = this.authorEmail;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueEventModel {\r\n eventId: string;\r\n eventType: VenueEventType;\r\n createdVenueTime: string;\r\n createdTicks: string;\r\n authorEmail: string | undefined;\r\n message: string;\r\n}\r\n\r\n/** 0 = Note 1 = StatusChange 2 = EventEdited 3 = EventDeleted 4 = MembershipStatusChange 5 = LiquidspaceProStatusChange 6 = Claimed */\r\nexport enum VenueEventType {\r\n Note = 0,\r\n StatusChange = 1,\r\n EventEdited = 2,\r\n EventDeleted = 3,\r\n MembershipStatusChange = 4,\r\n LiquidspaceProStatusChange = 5,\r\n Claimed = 6,\r\n}\r\n\r\nexport class HooRuleSplitViewModel implements IHooRuleSplitViewModel {\r\n hooId!: string;\r\n day!: string | undefined;\r\n hours!: string;\r\n workspace!: string;\r\n people!: string;\r\n venueId!: string;\r\n\r\n constructor(data?: IHooRuleSplitViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.day = _data[\"day\"];\r\n this.hours = _data[\"hours\"];\r\n this.workspace = _data[\"workspace\"];\r\n this.people = _data[\"people\"];\r\n this.venueId = _data[\"venueId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleSplitViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleSplitViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"day\"] = this.day;\r\n data[\"hours\"] = this.hours;\r\n data[\"workspace\"] = this.workspace;\r\n data[\"people\"] = this.people;\r\n data[\"venueId\"] = this.venueId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleSplitViewModel {\r\n hooId: string;\r\n day: string | undefined;\r\n hours: string;\r\n workspace: string;\r\n people: string;\r\n venueId: string;\r\n}\r\n\r\nexport class HooRuleFlexBaseViewModel implements IHooRuleFlexBaseViewModel {\r\n selectedWorkspaces!: string[];\r\n selectedVisas!: string[];\r\n\r\n constructor(data?: IHooRuleFlexBaseViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"selectedWorkspaces\"])) {\r\n this.selectedWorkspaces = [] as any;\r\n for (let item of _data[\"selectedWorkspaces\"])\r\n this.selectedWorkspaces!.push(item);\r\n }\r\n if (Array.isArray(_data[\"selectedVisas\"])) {\r\n this.selectedVisas = [] as any;\r\n for (let item of _data[\"selectedVisas\"])\r\n this.selectedVisas!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleFlexBaseViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleFlexBaseViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.selectedWorkspaces)) {\r\n data[\"selectedWorkspaces\"] = [];\r\n for (let item of this.selectedWorkspaces)\r\n data[\"selectedWorkspaces\"].push(item);\r\n }\r\n if (Array.isArray(this.selectedVisas)) {\r\n data[\"selectedVisas\"] = [];\r\n for (let item of this.selectedVisas)\r\n data[\"selectedVisas\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleFlexBaseViewModel {\r\n selectedWorkspaces: string[];\r\n selectedVisas: string[];\r\n}\r\n\r\n/** AKA Exceptions */\r\nexport class HooRuleSplitEditViewModel extends HooRuleFlexBaseViewModel implements IHooRuleSplitEditViewModel {\r\n hooId!: string;\r\n venueId!: string;\r\n description!: string | undefined;\r\n showDescription!: boolean;\r\n timeZoneId!: string | undefined;\r\n daysOfWeek!: SelectedDaysOfWeek[];\r\n hooModeSelected!: HooMode;\r\n dateRangeStart!: string | undefined;\r\n dateRangeEnd!: string | undefined;\r\n openCloseModeSelected!: OpenCloseMode;\r\n openClosePairs!: OpenClosePair[];\r\n splitHoursSelected!: boolean;\r\n\r\n constructor(data?: IHooRuleSplitEditViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.description = _data[\"description\"];\r\n this.showDescription = _data[\"showDescription\"];\r\n this.timeZoneId = _data[\"timeZoneId\"];\r\n if (Array.isArray(_data[\"daysOfWeek\"])) {\r\n this.daysOfWeek = [] as any;\r\n for (let item of _data[\"daysOfWeek\"])\r\n this.daysOfWeek!.push(SelectedDaysOfWeek.fromJS(item));\r\n }\r\n this.hooModeSelected = _data[\"hooModeSelected\"];\r\n this.dateRangeStart = _data[\"dateRangeStart\"];\r\n this.dateRangeEnd = _data[\"dateRangeEnd\"];\r\n this.openCloseModeSelected = _data[\"openCloseModeSelected\"];\r\n if (Array.isArray(_data[\"openClosePairs\"])) {\r\n this.openClosePairs = [] as any;\r\n for (let item of _data[\"openClosePairs\"])\r\n this.openClosePairs!.push(OpenClosePair.fromJS(item));\r\n }\r\n this.splitHoursSelected = _data[\"splitHoursSelected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleSplitEditViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleSplitEditViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"description\"] = this.description;\r\n data[\"showDescription\"] = this.showDescription;\r\n data[\"timeZoneId\"] = this.timeZoneId;\r\n if (Array.isArray(this.daysOfWeek)) {\r\n data[\"daysOfWeek\"] = [];\r\n for (let item of this.daysOfWeek)\r\n data[\"daysOfWeek\"].push(item.toJSON());\r\n }\r\n data[\"hooModeSelected\"] = this.hooModeSelected;\r\n data[\"dateRangeStart\"] = this.dateRangeStart;\r\n data[\"dateRangeEnd\"] = this.dateRangeEnd;\r\n data[\"openCloseModeSelected\"] = this.openCloseModeSelected;\r\n if (Array.isArray(this.openClosePairs)) {\r\n data[\"openClosePairs\"] = [];\r\n for (let item of this.openClosePairs)\r\n data[\"openClosePairs\"].push(item.toJSON());\r\n }\r\n data[\"splitHoursSelected\"] = this.splitHoursSelected;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\n/** AKA Exceptions */\r\nexport interface IHooRuleSplitEditViewModel extends IHooRuleFlexBaseViewModel {\r\n hooId: string;\r\n venueId: string;\r\n description: string | undefined;\r\n showDescription: boolean;\r\n timeZoneId: string | undefined;\r\n daysOfWeek: SelectedDaysOfWeek[];\r\n hooModeSelected: HooMode;\r\n dateRangeStart: string | undefined;\r\n dateRangeEnd: string | undefined;\r\n openCloseModeSelected: OpenCloseMode;\r\n openClosePairs: OpenClosePair[];\r\n splitHoursSelected: boolean;\r\n}\r\n\r\nexport class SelectedDaysOfWeek implements ISelectedDaysOfWeek {\r\n dayOfWeek!: DayOfWeek;\r\n isSelected!: boolean;\r\n\r\n constructor(data?: ISelectedDaysOfWeek) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.dayOfWeek = _data[\"dayOfWeek\"];\r\n this.isSelected = _data[\"isSelected\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): SelectedDaysOfWeek {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SelectedDaysOfWeek();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"dayOfWeek\"] = this.dayOfWeek;\r\n data[\"isSelected\"] = this.isSelected;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISelectedDaysOfWeek {\r\n dayOfWeek: DayOfWeek;\r\n isSelected: boolean;\r\n}\r\n\r\n/** 0 = DateRange 1 = DaysOfWeek */\r\nexport enum HooMode {\r\n DateRange = 0,\r\n DaysOfWeek = 1,\r\n}\r\n\r\n/** 0 = OpenHours 1 = Closed24Hours */\r\nexport enum OpenCloseMode {\r\n OpenHours = 0,\r\n Closed24Hours = 1,\r\n}\r\n\r\nexport class OpenClosePair implements IOpenClosePair {\r\n offsetToOpening!: string | undefined;\r\n offsetToClosing!: string | undefined;\r\n\r\n constructor(data?: IOpenClosePair) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.offsetToOpening = _data[\"offsetToOpening\"];\r\n this.offsetToClosing = _data[\"offsetToClosing\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OpenClosePair {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OpenClosePair();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"offsetToOpening\"] = this.offsetToOpening;\r\n data[\"offsetToClosing\"] = this.offsetToClosing;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOpenClosePair {\r\n offsetToOpening: string | undefined;\r\n offsetToClosing: string | undefined;\r\n}\r\n\r\nexport class HooRuleForBookingWindowFlexViewModel implements IHooRuleForBookingWindowFlexViewModel {\r\n hooId!: string;\r\n minNotice!: string;\r\n maxNotice!: string;\r\n venueId!: string;\r\n workspace!: string;\r\n people!: string;\r\n isPeriodRule!: boolean;\r\n\r\n constructor(data?: IHooRuleForBookingWindowFlexViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.minNotice = _data[\"minNotice\"];\r\n this.maxNotice = _data[\"maxNotice\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.workspace = _data[\"workspace\"];\r\n this.people = _data[\"people\"];\r\n this.isPeriodRule = _data[\"isPeriodRule\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForBookingWindowFlexViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForBookingWindowFlexViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"minNotice\"] = this.minNotice;\r\n data[\"maxNotice\"] = this.maxNotice;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"workspace\"] = this.workspace;\r\n data[\"people\"] = this.people;\r\n data[\"isPeriodRule\"] = this.isPeriodRule;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForBookingWindowFlexViewModel {\r\n hooId: string;\r\n minNotice: string;\r\n maxNotice: string;\r\n venueId: string;\r\n workspace: string;\r\n people: string;\r\n isPeriodRule: boolean;\r\n}\r\n\r\nexport class HooRuleForBookingWindowFlexEditViewModel extends HooRuleFlexBaseViewModel implements IHooRuleForBookingWindowFlexEditViewModel {\r\n hooId!: string;\r\n venueId!: string;\r\n advanceNoticeTypeSelected!: MinAdvanceNoticeRangeType;\r\n advanceNotice!: number;\r\n unavailableAfter!: number;\r\n\r\n constructor(data?: IHooRuleForBookingWindowFlexEditViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.hooId = _data[\"hooId\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.advanceNoticeTypeSelected = _data[\"advanceNoticeTypeSelected\"];\r\n this.advanceNotice = _data[\"advanceNotice\"];\r\n this.unavailableAfter = _data[\"unavailableAfter\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): HooRuleForBookingWindowFlexEditViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new HooRuleForBookingWindowFlexEditViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hooId\"] = this.hooId;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"advanceNoticeTypeSelected\"] = this.advanceNoticeTypeSelected;\r\n data[\"advanceNotice\"] = this.advanceNotice;\r\n data[\"unavailableAfter\"] = this.unavailableAfter;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IHooRuleForBookingWindowFlexEditViewModel extends IHooRuleFlexBaseViewModel {\r\n hooId: string;\r\n venueId: string;\r\n advanceNoticeTypeSelected: MinAdvanceNoticeRangeType;\r\n advanceNotice: number;\r\n unavailableAfter: number;\r\n}\r\n\r\n/** 0 = Hours 1 = Days */\r\nexport enum MinAdvanceNoticeRangeType {\r\n Hours = 0,\r\n Days = 1,\r\n}\r\n\r\nexport class OwnerInfoModel implements IOwnerInfoModel {\r\n id!: string;\r\n fullName!: string | undefined;\r\n email!: string;\r\n\r\n constructor(data?: IOwnerInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OwnerInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OwnerInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOwnerInfoModel {\r\n id: string;\r\n fullName: string | undefined;\r\n email: string;\r\n}\r\n\r\nexport class ExchangeConfigurationModel implements IExchangeConfigurationModel {\r\n user!: string;\r\n workspaces!: ExchangeWorkspaceModel[];\r\n\r\n constructor(data?: IExchangeConfigurationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.user = _data[\"user\"];\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(ExchangeWorkspaceModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExchangeConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExchangeConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"user\"] = this.user;\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExchangeConfigurationModel {\r\n user: string;\r\n workspaces: ExchangeWorkspaceModel[];\r\n}\r\n\r\nexport class ExchangeWorkspaceModel implements IExchangeWorkspaceModel {\r\n id!: string;\r\n name!: string | undefined;\r\n email!: string;\r\n\r\n constructor(data?: IExchangeWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ExchangeWorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ExchangeWorkspaceModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IExchangeWorkspaceModel {\r\n id: string;\r\n name: string | undefined;\r\n email: string;\r\n}\r\n\r\nexport class OfficeRnDWorkspacesSyncModel implements IOfficeRnDWorkspacesSyncModel {\r\n workspaces!: OfficeRnDWorkspaceSyncModel[];\r\n venueWorkspaces!: WorkspaceSelectListItem[];\r\n\r\n constructor(data?: IOfficeRnDWorkspacesSyncModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(OfficeRnDWorkspaceSyncModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"venueWorkspaces\"])) {\r\n this.venueWorkspaces = [] as any;\r\n for (let item of _data[\"venueWorkspaces\"])\r\n this.venueWorkspaces!.push(WorkspaceSelectListItem.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspacesSyncModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspacesSyncModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.venueWorkspaces)) {\r\n data[\"venueWorkspaces\"] = [];\r\n for (let item of this.venueWorkspaces)\r\n data[\"venueWorkspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspacesSyncModel {\r\n workspaces: OfficeRnDWorkspaceSyncModel[];\r\n venueWorkspaces: WorkspaceSelectListItem[];\r\n}\r\n\r\nexport class OfficeRnDWorkspaceSyncModel implements IOfficeRnDWorkspaceSyncModel {\r\n enable!: boolean;\r\n officeRnDResourceId!: string;\r\n officeRnDResourceName!: string | undefined;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IOfficeRnDWorkspaceSyncModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enable = _data[\"enable\"];\r\n this.officeRnDResourceId = _data[\"officeRnDResourceId\"];\r\n this.officeRnDResourceName = _data[\"officeRnDResourceName\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspaceSyncModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspaceSyncModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enable\"] = this.enable;\r\n data[\"officeRnDResourceId\"] = this.officeRnDResourceId;\r\n data[\"officeRnDResourceName\"] = this.officeRnDResourceName;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspaceSyncModel {\r\n enable: boolean;\r\n officeRnDResourceId: string;\r\n officeRnDResourceName: string | undefined;\r\n workspaceId: string;\r\n}\r\n\r\nexport class WorkspaceSelectListItem implements IWorkspaceSelectListItem {\r\n name!: string;\r\n id!: string;\r\n\r\n constructor(data?: IWorkspaceSelectListItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.id = _data[\"id\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceSelectListItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceSelectListItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"id\"] = this.id;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceSelectListItem {\r\n name: string;\r\n id: string;\r\n}\r\n\r\nexport class OfficeRnDWorkspacesSyncSubmitModel implements IOfficeRnDWorkspacesSyncSubmitModel {\r\n workspaces!: OfficeRnDWorkspaceSyncSubmitModel[];\r\n\r\n constructor(data?: IOfficeRnDWorkspacesSyncSubmitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"workspaces\"])) {\r\n this.workspaces = [] as any;\r\n for (let item of _data[\"workspaces\"])\r\n this.workspaces!.push(OfficeRnDWorkspaceSyncSubmitModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspacesSyncSubmitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspacesSyncSubmitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.workspaces)) {\r\n data[\"workspaces\"] = [];\r\n for (let item of this.workspaces)\r\n data[\"workspaces\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspacesSyncSubmitModel {\r\n workspaces: OfficeRnDWorkspaceSyncSubmitModel[];\r\n}\r\n\r\nexport class OfficeRnDWorkspaceSyncSubmitModel implements IOfficeRnDWorkspaceSyncSubmitModel {\r\n officeRnDResourceId!: string;\r\n workspaceId!: string;\r\n\r\n constructor(data?: IOfficeRnDWorkspaceSyncSubmitModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.officeRnDResourceId = _data[\"officeRnDResourceId\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDWorkspaceSyncSubmitModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDWorkspaceSyncSubmitModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"officeRnDResourceId\"] = this.officeRnDResourceId;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDWorkspaceSyncSubmitModel {\r\n officeRnDResourceId: string;\r\n workspaceId: string;\r\n}\r\n\r\nexport class DashboardLeadViewModel implements IDashboardLeadViewModel {\r\n leadDate!: string;\r\n leadDateString!: string;\r\n leadDateMoreThanWeekAgo!: boolean;\r\n currentState!: InteractionStateEnum;\r\n workspaceId!: string | undefined;\r\n workspaceName!: string | undefined;\r\n memberId!: string;\r\n memberFirstName!: string | undefined;\r\n memberLastName!: string | undefined;\r\n memberFullName!: string | undefined;\r\n memberCompany!: string | undefined;\r\n memberIsDeleted!: boolean;\r\n memberEnterpriseAccountId!: string | undefined;\r\n memberEnterpriseAccountName!: string | undefined;\r\n memberImageUrl!: string | undefined;\r\n tourId!: string | undefined;\r\n tourStatus!: TourStatus;\r\n activeVenueTourId!: string | undefined;\r\n workflowId!: string | undefined;\r\n chainId!: string | undefined;\r\n hasVenueRespondedToMessage!: boolean;\r\n monthlyVisaState!: VisaState | undefined;\r\n reservationId!: string | undefined;\r\n rcpUrl!: string | undefined;\r\n doNotRenewAllowed!: boolean | undefined;\r\n dealProposalDetailsUrl!: string | undefined;\r\n proposalId!: string | undefined;\r\n spaceTypeForCapacity!: string | undefined;\r\n isUpdatedMoreThanYearAgo!: boolean;\r\n isDeleted!: boolean;\r\n isEnterpriseAccountLead!: boolean;\r\n dashboardLeadStatus!: DashboardLeadStatus;\r\n statusText!: string;\r\n\r\n constructor(data?: IDashboardLeadViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.leadDate = _data[\"leadDate\"];\r\n this.leadDateString = _data[\"leadDateString\"];\r\n this.leadDateMoreThanWeekAgo = _data[\"leadDateMoreThanWeekAgo\"];\r\n this.currentState = _data[\"currentState\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.memberId = _data[\"memberId\"];\r\n this.memberFirstName = _data[\"memberFirstName\"];\r\n this.memberLastName = _data[\"memberLastName\"];\r\n this.memberFullName = _data[\"memberFullName\"];\r\n this.memberCompany = _data[\"memberCompany\"];\r\n this.memberIsDeleted = _data[\"memberIsDeleted\"];\r\n this.memberEnterpriseAccountId = _data[\"memberEnterpriseAccountId\"];\r\n this.memberEnterpriseAccountName = _data[\"memberEnterpriseAccountName\"];\r\n this.memberImageUrl = _data[\"memberImageUrl\"];\r\n this.tourId = _data[\"tourId\"];\r\n this.tourStatus = _data[\"tourStatus\"];\r\n this.activeVenueTourId = _data[\"activeVenueTourId\"];\r\n this.workflowId = _data[\"workflowId\"];\r\n this.chainId = _data[\"chainId\"];\r\n this.hasVenueRespondedToMessage = _data[\"hasVenueRespondedToMessage\"];\r\n this.monthlyVisaState = _data[\"monthlyVisaState\"];\r\n this.reservationId = _data[\"reservationId\"];\r\n this.rcpUrl = _data[\"rcpUrl\"];\r\n this.doNotRenewAllowed = _data[\"doNotRenewAllowed\"];\r\n this.dealProposalDetailsUrl = _data[\"dealProposalDetailsUrl\"];\r\n this.proposalId = _data[\"proposalId\"];\r\n this.spaceTypeForCapacity = _data[\"spaceTypeForCapacity\"];\r\n this.isUpdatedMoreThanYearAgo = _data[\"isUpdatedMoreThanYearAgo\"];\r\n this.isDeleted = _data[\"isDeleted\"];\r\n this.isEnterpriseAccountLead = _data[\"isEnterpriseAccountLead\"];\r\n this.dashboardLeadStatus = _data[\"dashboardLeadStatus\"];\r\n this.statusText = _data[\"statusText\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DashboardLeadViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DashboardLeadViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"leadDate\"] = this.leadDate;\r\n data[\"leadDateString\"] = this.leadDateString;\r\n data[\"leadDateMoreThanWeekAgo\"] = this.leadDateMoreThanWeekAgo;\r\n data[\"currentState\"] = this.currentState;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"memberId\"] = this.memberId;\r\n data[\"memberFirstName\"] = this.memberFirstName;\r\n data[\"memberLastName\"] = this.memberLastName;\r\n data[\"memberFullName\"] = this.memberFullName;\r\n data[\"memberCompany\"] = this.memberCompany;\r\n data[\"memberIsDeleted\"] = this.memberIsDeleted;\r\n data[\"memberEnterpriseAccountId\"] = this.memberEnterpriseAccountId;\r\n data[\"memberEnterpriseAccountName\"] = this.memberEnterpriseAccountName;\r\n data[\"memberImageUrl\"] = this.memberImageUrl;\r\n data[\"tourId\"] = this.tourId;\r\n data[\"tourStatus\"] = this.tourStatus;\r\n data[\"activeVenueTourId\"] = this.activeVenueTourId;\r\n data[\"workflowId\"] = this.workflowId;\r\n data[\"chainId\"] = this.chainId;\r\n data[\"hasVenueRespondedToMessage\"] = this.hasVenueRespondedToMessage;\r\n data[\"monthlyVisaState\"] = this.monthlyVisaState;\r\n data[\"reservationId\"] = this.reservationId;\r\n data[\"rcpUrl\"] = this.rcpUrl;\r\n data[\"doNotRenewAllowed\"] = this.doNotRenewAllowed;\r\n data[\"dealProposalDetailsUrl\"] = this.dealProposalDetailsUrl;\r\n data[\"proposalId\"] = this.proposalId;\r\n data[\"spaceTypeForCapacity\"] = this.spaceTypeForCapacity;\r\n data[\"isUpdatedMoreThanYearAgo\"] = this.isUpdatedMoreThanYearAgo;\r\n data[\"isDeleted\"] = this.isDeleted;\r\n data[\"isEnterpriseAccountLead\"] = this.isEnterpriseAccountLead;\r\n data[\"dashboardLeadStatus\"] = this.dashboardLeadStatus;\r\n data[\"statusText\"] = this.statusText;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDashboardLeadViewModel {\r\n leadDate: string;\r\n leadDateString: string;\r\n leadDateMoreThanWeekAgo: boolean;\r\n currentState: InteractionStateEnum;\r\n workspaceId: string | undefined;\r\n workspaceName: string | undefined;\r\n memberId: string;\r\n memberFirstName: string | undefined;\r\n memberLastName: string | undefined;\r\n memberFullName: string | undefined;\r\n memberCompany: string | undefined;\r\n memberIsDeleted: boolean;\r\n memberEnterpriseAccountId: string | undefined;\r\n memberEnterpriseAccountName: string | undefined;\r\n memberImageUrl: string | undefined;\r\n tourId: string | undefined;\r\n tourStatus: TourStatus;\r\n activeVenueTourId: string | undefined;\r\n workflowId: string | undefined;\r\n chainId: string | undefined;\r\n hasVenueRespondedToMessage: boolean;\r\n monthlyVisaState: VisaState | undefined;\r\n reservationId: string | undefined;\r\n rcpUrl: string | undefined;\r\n doNotRenewAllowed: boolean | undefined;\r\n dealProposalDetailsUrl: string | undefined;\r\n proposalId: string | undefined;\r\n spaceTypeForCapacity: string | undefined;\r\n isUpdatedMoreThanYearAgo: boolean;\r\n isDeleted: boolean;\r\n isEnterpriseAccountLead: boolean;\r\n dashboardLeadStatus: DashboardLeadStatus;\r\n statusText: string;\r\n}\r\n\r\n/** 0 = Unknown 1 = Inquire 2 = ScheduleTour 3 = RequestToBook 4 = Approved 5 = Rejected 6 = Booked 7 = ManuallyBooked 8 = ManuallyBookedReservationEdited 9 = TourChangedByGuest 10 = TourChangedByVenue 11 = TourConfirmed 12 = TourCanceledByVenue 13 = TourCanceledByGuest 14 = TourComplete 15 = TourExpired 16 = MessageHost 17 = Manual 18 = Proposal 19 = FurnitureRequest 20 = ProposalReply 21 = RequestSpace 22 = ProposalToRequest 23 = ProposalRejected 24 = HostReferral 25 = DealProposal 26 = CloseDeal 27 = TourSuggested 28 = DealProposalAccepted 29 = DealProposalDeclined 30 = DealProposalSigned 31 = DealProposalChangedByVenue 32 = DealProposalChangedByMember 33 = CloseDealByMember 34 = Pending 35 = ManuallyBookedReservationExtended 36 = ManuallyBookedReservationReduced 37 = MessageSpaceExpert 38 = NotifyMe */\r\nexport enum InteractionStateEnum {\r\n Unknown = 0,\r\n Inquire = 1,\r\n ScheduleTour = 2,\r\n RequestToBook = 3,\r\n Approved = 4,\r\n Rejected = 5,\r\n Booked = 6,\r\n ManuallyBooked = 7,\r\n ManuallyBookedReservationEdited = 8,\r\n TourChangedByGuest = 9,\r\n TourChangedByVenue = 10,\r\n TourConfirmed = 11,\r\n TourCanceledByVenue = 12,\r\n TourCanceledByGuest = 13,\r\n TourComplete = 14,\r\n TourExpired = 15,\r\n MessageHost = 16,\r\n Manual = 17,\r\n Proposal = 18,\r\n FurnitureRequest = 19,\r\n ProposalReply = 20,\r\n RequestSpace = 21,\r\n ProposalToRequest = 22,\r\n ProposalRejected = 23,\r\n HostReferral = 24,\r\n DealProposal = 25,\r\n CloseDeal = 26,\r\n TourSuggested = 27,\r\n DealProposalAccepted = 28,\r\n DealProposalDeclined = 29,\r\n DealProposalSigned = 30,\r\n DealProposalChangedByVenue = 31,\r\n DealProposalChangedByMember = 32,\r\n CloseDealByMember = 33,\r\n Pending = 34,\r\n ManuallyBookedReservationExtended = 35,\r\n ManuallyBookedReservationReduced = 36,\r\n MessageSpaceExpert = 37,\r\n NotifyMe = 38,\r\n}\r\n\r\n/** 0 = Unknown 1 = New 2 = Active 3 = ClosedLost 4 = ClosedWon 5 = Archived */\r\nexport enum DashboardLeadStatus {\r\n Unknown = 0,\r\n New = 1,\r\n Active = 2,\r\n ClosedLost = 3,\r\n ClosedWon = 4,\r\n Archived = 5,\r\n}\r\n\r\nexport class CheckResult implements ICheckResult {\r\n fields!: CheckResultField[] | undefined;\r\n\r\n constructor(data?: ICheckResult) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"fields\"])) {\r\n this.fields = [] as any;\r\n for (let item of _data[\"fields\"])\r\n this.fields!.push(CheckResultField.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckResult {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckResult();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.fields)) {\r\n data[\"fields\"] = [];\r\n for (let item of this.fields)\r\n data[\"fields\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckResult {\r\n fields: CheckResultField[] | undefined;\r\n}\r\n\r\nexport class CheckResultField implements ICheckResultField {\r\n name!: string | undefined;\r\n isModelField!: boolean;\r\n isTemplateField!: boolean;\r\n\r\n constructor(data?: ICheckResultField) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.isModelField = _data[\"isModelField\"];\r\n this.isTemplateField = _data[\"isTemplateField\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): CheckResultField {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new CheckResultField();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"isModelField\"] = this.isModelField;\r\n data[\"isTemplateField\"] = this.isTemplateField;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ICheckResultField {\r\n name: string | undefined;\r\n isModelField: boolean;\r\n isTemplateField: boolean;\r\n}\r\n\r\nexport class ManageVenueMemberInvitationPreviewEmailViewModel implements IManageVenueMemberInvitationPreviewEmailViewModel {\r\n message!: string | undefined;\r\n fName!: string | undefined;\r\n lName!: string | undefined;\r\n\r\n constructor(data?: IManageVenueMemberInvitationPreviewEmailViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.fName = _data[\"fName\"];\r\n this.lName = _data[\"lName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ManageVenueMemberInvitationPreviewEmailViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ManageVenueMemberInvitationPreviewEmailViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"fName\"] = this.fName;\r\n data[\"lName\"] = this.lName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IManageVenueMemberInvitationPreviewEmailViewModel {\r\n message: string | undefined;\r\n fName: string | undefined;\r\n lName: string | undefined;\r\n}\r\n\r\nexport class VenueMemberModel implements IVenueMemberModel {\r\n id!: string;\r\n firstName!: string;\r\n lastName!: string;\r\n company!: string;\r\n email!: string;\r\n phone!: string;\r\n visaId!: string;\r\n visaName!: string;\r\n visaState!: VisaState;\r\n\r\n constructor(data?: IVenueMemberModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.phone = _data[\"phone\"];\r\n this.visaId = _data[\"visaId\"];\r\n this.visaName = _data[\"visaName\"];\r\n this.visaState = _data[\"visaState\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueMemberModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueMemberModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"phone\"] = this.phone;\r\n data[\"visaId\"] = this.visaId;\r\n data[\"visaName\"] = this.visaName;\r\n data[\"visaState\"] = this.visaState;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueMemberModel {\r\n id: string;\r\n firstName: string;\r\n lastName: string;\r\n company: string;\r\n email: string;\r\n phone: string;\r\n visaId: string;\r\n visaName: string;\r\n visaState: VisaState;\r\n}\r\n\r\nexport class VenueMemberProfileModel implements IVenueMemberProfileModel {\r\n id!: string;\r\n firstName!: string | undefined;\r\n lastName!: string | undefined;\r\n company!: string | undefined;\r\n email!: string | undefined;\r\n phoneNumber!: string | undefined;\r\n imageUrl!: string | undefined;\r\n agreedToShareContactInfo!: boolean;\r\n visaId!: string | undefined;\r\n currentMemberVisaStateId!: string | undefined;\r\n availableVisas!: { [key: string]: string; };\r\n visaState!: VisaState | undefined;\r\n denyVisaReason!: DenyVisaReason;\r\n paymentMethod!: string | undefined;\r\n memberPackage!: string | undefined;\r\n venueApprovalRequiredVisaIds!: string[];\r\n confirmRelation!: boolean;\r\n\r\n constructor(data?: IVenueMemberProfileModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.firstName = _data[\"firstName\"];\r\n this.lastName = _data[\"lastName\"];\r\n this.company = _data[\"company\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.agreedToShareContactInfo = _data[\"agreedToShareContactInfo\"];\r\n this.visaId = _data[\"visaId\"];\r\n this.currentMemberVisaStateId = _data[\"currentMemberVisaStateId\"];\r\n if (_data[\"availableVisas\"]) {\r\n this.availableVisas = {} as any;\r\n for (let key in _data[\"availableVisas\"]) {\r\n if (_data[\"availableVisas\"].hasOwnProperty(key))\r\n (this.availableVisas)![key] = _data[\"availableVisas\"][key];\r\n }\r\n }\r\n this.visaState = _data[\"visaState\"];\r\n this.denyVisaReason = _data[\"denyVisaReason\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.memberPackage = _data[\"memberPackage\"];\r\n if (Array.isArray(_data[\"venueApprovalRequiredVisaIds\"])) {\r\n this.venueApprovalRequiredVisaIds = [] as any;\r\n for (let item of _data[\"venueApprovalRequiredVisaIds\"])\r\n this.venueApprovalRequiredVisaIds!.push(item);\r\n }\r\n this.confirmRelation = _data[\"confirmRelation\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueMemberProfileModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueMemberProfileModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"firstName\"] = this.firstName;\r\n data[\"lastName\"] = this.lastName;\r\n data[\"company\"] = this.company;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"agreedToShareContactInfo\"] = this.agreedToShareContactInfo;\r\n data[\"visaId\"] = this.visaId;\r\n data[\"currentMemberVisaStateId\"] = this.currentMemberVisaStateId;\r\n if (this.availableVisas) {\r\n data[\"availableVisas\"] = {};\r\n for (let key in this.availableVisas) {\r\n if (this.availableVisas.hasOwnProperty(key))\r\n (data[\"availableVisas\"])[key] = (this.availableVisas)[key];\r\n }\r\n }\r\n data[\"visaState\"] = this.visaState;\r\n data[\"denyVisaReason\"] = this.denyVisaReason;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"memberPackage\"] = this.memberPackage;\r\n if (Array.isArray(this.venueApprovalRequiredVisaIds)) {\r\n data[\"venueApprovalRequiredVisaIds\"] = [];\r\n for (let item of this.venueApprovalRequiredVisaIds)\r\n data[\"venueApprovalRequiredVisaIds\"].push(item);\r\n }\r\n data[\"confirmRelation\"] = this.confirmRelation;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueMemberProfileModel {\r\n id: string;\r\n firstName: string | undefined;\r\n lastName: string | undefined;\r\n company: string | undefined;\r\n email: string | undefined;\r\n phoneNumber: string | undefined;\r\n imageUrl: string | undefined;\r\n agreedToShareContactInfo: boolean;\r\n visaId: string | undefined;\r\n currentMemberVisaStateId: string | undefined;\r\n availableVisas: { [key: string]: string; };\r\n visaState: VisaState | undefined;\r\n denyVisaReason: DenyVisaReason;\r\n paymentMethod: string | undefined;\r\n memberPackage: string | undefined;\r\n venueApprovalRequiredVisaIds: string[];\r\n confirmRelation: boolean;\r\n}\r\n\r\n/** 0 = None 1 = SpaceNoLongerAvailable 2 = GuestNoShow 3 = GuestNotFit 4 = PriceIssues 5 = MyReasonIsNotListed */\r\nexport enum DenyVisaReason {\r\n None = 0,\r\n SpaceNoLongerAvailable = 1,\r\n GuestNoShow = 2,\r\n GuestNotFit = 3,\r\n PriceIssues = 4,\r\n MyReasonIsNotListed = 5,\r\n}\r\n\r\nexport class AddMemberToVisaModel implements IAddMemberToVisaModel {\r\n venueId!: string;\r\n email!: string | undefined;\r\n visaId!: string;\r\n availableVisas!: { [key: string]: string; };\r\n visaState!: VisaState;\r\n originatingFrom!: ReservationSource;\r\n notes!: string | undefined;\r\n\r\n constructor(data?: IAddMemberToVisaModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.email = _data[\"email\"];\r\n this.visaId = _data[\"visaId\"];\r\n if (_data[\"availableVisas\"]) {\r\n this.availableVisas = {} as any;\r\n for (let key in _data[\"availableVisas\"]) {\r\n if (_data[\"availableVisas\"].hasOwnProperty(key))\r\n (this.availableVisas)![key] = _data[\"availableVisas\"][key];\r\n }\r\n }\r\n this.visaState = _data[\"visaState\"];\r\n this.originatingFrom = _data[\"originatingFrom\"];\r\n this.notes = _data[\"notes\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): AddMemberToVisaModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new AddMemberToVisaModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"email\"] = this.email;\r\n data[\"visaId\"] = this.visaId;\r\n if (this.availableVisas) {\r\n data[\"availableVisas\"] = {};\r\n for (let key in this.availableVisas) {\r\n if (this.availableVisas.hasOwnProperty(key))\r\n (data[\"availableVisas\"])[key] = (this.availableVisas)[key];\r\n }\r\n }\r\n data[\"visaState\"] = this.visaState;\r\n data[\"originatingFrom\"] = this.originatingFrom;\r\n data[\"notes\"] = this.notes;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IAddMemberToVisaModel {\r\n venueId: string;\r\n email: string | undefined;\r\n visaId: string;\r\n availableVisas: { [key: string]: string; };\r\n visaState: VisaState;\r\n originatingFrom: ReservationSource;\r\n notes: string | undefined;\r\n}\r\n\r\n/** 0 = LiquidSpace 1 = Exchange 2 = iPhone 3 = AndroidPhone 4 = iPad 5 = AndroidTablet 6 = MorningStar 7 = GCal 8 = MeetingRequestor 9 = LES 10 = ServCorp 11 = IntelligentOffice 12 = RJMetis 13 = MobileWeb 14 = LSApi 15 = Widget 16 = MobileWidget 17 = OfficeRnD 18 = MSGraph 19 = Deskimo */\r\nexport enum ReservationSource {\r\n LiquidSpace = 0,\r\n Exchange = 1,\r\n IPhone = 2,\r\n AndroidPhone = 3,\r\n IPad = 4,\r\n AndroidTablet = 5,\r\n MorningStar = 6,\r\n GCal = 7,\r\n MeetingRequestor = 8,\r\n LES = 9,\r\n ServCorp = 10,\r\n IntelligentOffice = 11,\r\n RJMetis = 12,\r\n MobileWeb = 13,\r\n LSApi = 14,\r\n Widget = 15,\r\n MobileWidget = 16,\r\n OfficeRnD = 17,\r\n MSGraph = 18,\r\n Deskimo = 19,\r\n}\r\n\r\nexport class ChangeVisaStateReponse implements IChangeVisaStateReponse {\r\n success!: boolean;\r\n message!: string | undefined;\r\n unableToProcess!: boolean;\r\n redirectToCalendar!: boolean;\r\n\r\n constructor(data?: IChangeVisaStateReponse) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.success = _data[\"success\"];\r\n this.message = _data[\"message\"];\r\n this.unableToProcess = _data[\"unableToProcess\"];\r\n this.redirectToCalendar = _data[\"redirectToCalendar\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ChangeVisaStateReponse {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ChangeVisaStateReponse();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"success\"] = this.success;\r\n data[\"message\"] = this.message;\r\n data[\"unableToProcess\"] = this.unableToProcess;\r\n data[\"redirectToCalendar\"] = this.redirectToCalendar;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IChangeVisaStateReponse {\r\n success: boolean;\r\n message: string | undefined;\r\n unableToProcess: boolean;\r\n redirectToCalendar: boolean;\r\n}\r\n\r\nexport class VenueReservationViewModel extends BaseReservationViewModel implements IVenueReservationViewModel {\r\n\r\n constructor(data?: IVenueReservationViewModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n }\r\n\r\n static fromJS(data: any): VenueReservationViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueReservationViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueReservationViewModel extends IBaseReservationViewModel {\r\n}\r\n\r\nexport class VenueScoreViewModel implements IVenueScoreViewModel {\r\n venueId!: string;\r\n freshness!: WorkspaceFreshness;\r\n freshnessDaysSinceLastUpdate!: number;\r\n freshnessWorkspacesCount!: number;\r\n responseRatePercent!: number;\r\n conversionRatePercent!: number;\r\n conversionRateAveragePercent!: number;\r\n leadRequestTotal!: number;\r\n workflowsTotal!: number;\r\n venueScoreCurrent!: number;\r\n venueScoreAverage!: number;\r\n venueScoreDelta!: number;\r\n hide!: boolean;\r\n\r\n constructor(data?: IVenueScoreViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.freshness = _data[\"freshness\"];\r\n this.freshnessDaysSinceLastUpdate = _data[\"freshnessDaysSinceLastUpdate\"];\r\n this.freshnessWorkspacesCount = _data[\"freshnessWorkspacesCount\"];\r\n this.responseRatePercent = _data[\"responseRatePercent\"];\r\n this.conversionRatePercent = _data[\"conversionRatePercent\"];\r\n this.conversionRateAveragePercent = _data[\"conversionRateAveragePercent\"];\r\n this.leadRequestTotal = _data[\"leadRequestTotal\"];\r\n this.workflowsTotal = _data[\"workflowsTotal\"];\r\n this.venueScoreCurrent = _data[\"venueScoreCurrent\"];\r\n this.venueScoreAverage = _data[\"venueScoreAverage\"];\r\n this.venueScoreDelta = _data[\"venueScoreDelta\"];\r\n this.hide = _data[\"hide\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueScoreViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueScoreViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"freshness\"] = this.freshness;\r\n data[\"freshnessDaysSinceLastUpdate\"] = this.freshnessDaysSinceLastUpdate;\r\n data[\"freshnessWorkspacesCount\"] = this.freshnessWorkspacesCount;\r\n data[\"responseRatePercent\"] = this.responseRatePercent;\r\n data[\"conversionRatePercent\"] = this.conversionRatePercent;\r\n data[\"conversionRateAveragePercent\"] = this.conversionRateAveragePercent;\r\n data[\"leadRequestTotal\"] = this.leadRequestTotal;\r\n data[\"workflowsTotal\"] = this.workflowsTotal;\r\n data[\"venueScoreCurrent\"] = this.venueScoreCurrent;\r\n data[\"venueScoreAverage\"] = this.venueScoreAverage;\r\n data[\"venueScoreDelta\"] = this.venueScoreDelta;\r\n data[\"hide\"] = this.hide;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueScoreViewModel {\r\n venueId: string;\r\n freshness: WorkspaceFreshness;\r\n freshnessDaysSinceLastUpdate: number;\r\n freshnessWorkspacesCount: number;\r\n responseRatePercent: number;\r\n conversionRatePercent: number;\r\n conversionRateAveragePercent: number;\r\n leadRequestTotal: number;\r\n workflowsTotal: number;\r\n venueScoreCurrent: number;\r\n venueScoreAverage: number;\r\n venueScoreDelta: number;\r\n hide: boolean;\r\n}\r\n\r\n/** 0 = Fresh 1 = Stale 2 = Rotten 3 = Compost */\r\nexport enum WorkspaceFreshness {\r\n Fresh = 0,\r\n Stale = 1,\r\n Rotten = 2,\r\n Compost = 3,\r\n}\r\n\r\nexport class VenueStatementSummaryModel implements IVenueStatementSummaryModel {\r\n date!: string;\r\n createdDate!: string | undefined;\r\n hourly!: VenueStatementSummaryDetails;\r\n monthly!: VenueStatementSummaryDetails;\r\n\r\n constructor(data?: IVenueStatementSummaryModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.date = _data[\"date\"];\r\n this.createdDate = _data[\"createdDate\"];\r\n this.hourly = _data[\"hourly\"] ? VenueStatementSummaryDetails.fromJS(_data[\"hourly\"]) : undefined;\r\n this.monthly = _data[\"monthly\"] ? VenueStatementSummaryDetails.fromJS(_data[\"monthly\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueStatementSummaryModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueStatementSummaryModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"date\"] = this.date;\r\n data[\"createdDate\"] = this.createdDate;\r\n data[\"hourly\"] = this.hourly ? this.hourly.toJSON() : undefined;\r\n data[\"monthly\"] = this.monthly ? this.monthly.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueStatementSummaryModel {\r\n date: string;\r\n createdDate: string | undefined;\r\n hourly: VenueStatementSummaryDetails;\r\n monthly: VenueStatementSummaryDetails;\r\n}\r\n\r\nexport class VenueStatementSummaryDetails implements IVenueStatementSummaryDetails {\r\n reservationsCount!: number;\r\n totalToVenue!: number;\r\n incidentals!: number;\r\n salesPrice!: number;\r\n isGenerated!: boolean;\r\n\r\n constructor(data?: IVenueStatementSummaryDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.reservationsCount = _data[\"reservationsCount\"];\r\n this.totalToVenue = _data[\"totalToVenue\"];\r\n this.incidentals = _data[\"incidentals\"];\r\n this.salesPrice = _data[\"salesPrice\"];\r\n this.isGenerated = _data[\"isGenerated\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VenueStatementSummaryDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VenueStatementSummaryDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"reservationsCount\"] = this.reservationsCount;\r\n data[\"totalToVenue\"] = this.totalToVenue;\r\n data[\"incidentals\"] = this.incidentals;\r\n data[\"salesPrice\"] = this.salesPrice;\r\n data[\"isGenerated\"] = this.isGenerated;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVenueStatementSummaryDetails {\r\n reservationsCount: number;\r\n totalToVenue: number;\r\n incidentals: number;\r\n salesPrice: number;\r\n isGenerated: boolean;\r\n}\r\n\r\nexport class VisaInfoModel implements IVisaInfoModel {\r\n id!: string;\r\n name!: string;\r\n paymentMethod!: PaymentMethod;\r\n defaultMemberOriginationScenario!: DefaultMemberOriginationScenario;\r\n\r\n constructor(data?: IVisaInfoModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.defaultMemberOriginationScenario = _data[\"defaultMemberOriginationScenario\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VisaInfoModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VisaInfoModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"defaultMemberOriginationScenario\"] = this.defaultMemberOriginationScenario;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVisaInfoModel {\r\n id: string;\r\n name: string;\r\n paymentMethod: PaymentMethod;\r\n defaultMemberOriginationScenario: DefaultMemberOriginationScenario;\r\n}\r\n\r\nexport class VisaModel implements IVisaModel {\r\n id!: string;\r\n name!: string;\r\n description!: string | undefined;\r\n paymentMethod!: PaymentMethod;\r\n defaultMemberOriginationScenario!: DefaultMemberOriginationScenario;\r\n reservationType!: ReservationType;\r\n requiresMemberDataApproval!: boolean;\r\n freeFormTextForApproval!: string | undefined;\r\n hidePrice!: boolean;\r\n earlyCheckInMinutesPermitted!: number;\r\n needGrantedVisaBeforeMemberCanBook!: boolean;\r\n\r\n constructor(data?: IVisaModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n this.paymentMethod = _data[\"paymentMethod\"];\r\n this.defaultMemberOriginationScenario = _data[\"defaultMemberOriginationScenario\"];\r\n this.reservationType = _data[\"reservationType\"];\r\n this.requiresMemberDataApproval = _data[\"requiresMemberDataApproval\"];\r\n this.freeFormTextForApproval = _data[\"freeFormTextForApproval\"];\r\n this.hidePrice = _data[\"hidePrice\"];\r\n this.earlyCheckInMinutesPermitted = _data[\"earlyCheckInMinutesPermitted\"];\r\n this.needGrantedVisaBeforeMemberCanBook = _data[\"needGrantedVisaBeforeMemberCanBook\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): VisaModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new VisaModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n data[\"paymentMethod\"] = this.paymentMethod;\r\n data[\"defaultMemberOriginationScenario\"] = this.defaultMemberOriginationScenario;\r\n data[\"reservationType\"] = this.reservationType;\r\n data[\"requiresMemberDataApproval\"] = this.requiresMemberDataApproval;\r\n data[\"freeFormTextForApproval\"] = this.freeFormTextForApproval;\r\n data[\"hidePrice\"] = this.hidePrice;\r\n data[\"earlyCheckInMinutesPermitted\"] = this.earlyCheckInMinutesPermitted;\r\n data[\"needGrantedVisaBeforeMemberCanBook\"] = this.needGrantedVisaBeforeMemberCanBook;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IVisaModel {\r\n id: string;\r\n name: string;\r\n description: string | undefined;\r\n paymentMethod: PaymentMethod;\r\n defaultMemberOriginationScenario: DefaultMemberOriginationScenario;\r\n reservationType: ReservationType;\r\n requiresMemberDataApproval: boolean;\r\n freeFormTextForApproval: string | undefined;\r\n hidePrice: boolean;\r\n earlyCheckInMinutesPermitted: number;\r\n needGrantedVisaBeforeMemberCanBook: boolean;\r\n}\r\n\r\n/** 0 = Confidential 1 = Public 2 = Connections */\r\nexport enum ReservationType {\r\n Confidential = 0,\r\n Public = 1,\r\n Connections = 2,\r\n}\r\n\r\nexport abstract class WorkspaceModel implements IWorkspaceModel {\r\n id!: string;\r\n imageUrl!: string;\r\n name!: string;\r\n order!: number | undefined;\r\n spaceType!: SpaceType;\r\n spaceTypeFormatted!: string;\r\n capacity!: number;\r\n prices!: string[];\r\n status!: WorkspaceStatus;\r\n hasReservation!: boolean;\r\n hasTour!: boolean;\r\n hasRequestToBook!: boolean;\r\n hasIncompleteFields!: boolean;\r\n previewUrl!: string;\r\n reservationMethod!: ReservationMethod;\r\n modifiedDate!: string;\r\n isDesk!: boolean;\r\n bookingMethod!: BookingMethod;\r\n\r\n protected _discriminator: string;\r\n\r\n constructor(data?: IWorkspaceModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WorkspaceModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.imageUrl = _data[\"imageUrl\"];\r\n this.name = _data[\"name\"];\r\n this.order = _data[\"order\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n this.spaceTypeFormatted = _data[\"spaceTypeFormatted\"];\r\n this.capacity = _data[\"capacity\"];\r\n if (Array.isArray(_data[\"prices\"])) {\r\n this.prices = [] as any;\r\n for (let item of _data[\"prices\"])\r\n this.prices!.push(item);\r\n }\r\n this.status = _data[\"status\"];\r\n this.hasReservation = _data[\"hasReservation\"];\r\n this.hasTour = _data[\"hasTour\"];\r\n this.hasRequestToBook = _data[\"hasRequestToBook\"];\r\n this.hasIncompleteFields = _data[\"hasIncompleteFields\"];\r\n this.previewUrl = _data[\"previewUrl\"];\r\n this.reservationMethod = _data[\"reservationMethod\"];\r\n this.modifiedDate = _data[\"modifiedDate\"];\r\n this.isDesk = _data[\"isDesk\"];\r\n this.bookingMethod = _data[\"bookingMethod\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceModel {\r\n data = typeof data === 'object' ? data : {};\r\n if (data[\"discriminator\"] === \"WorkspaceHourlyModel\") {\r\n let result = new WorkspaceHourlyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n if (data[\"discriminator\"] === \"WorkspacePeriodModel\") {\r\n let result = new WorkspacePeriodModel();\r\n result.init(data);\r\n return result;\r\n }\r\n throw new Error(\"The abstract class 'WorkspaceModel' cannot be instantiated.\");\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"discriminator\"] = this._discriminator;\r\n data[\"id\"] = this.id;\r\n data[\"imageUrl\"] = this.imageUrl;\r\n data[\"name\"] = this.name;\r\n data[\"order\"] = this.order;\r\n data[\"spaceType\"] = this.spaceType;\r\n data[\"spaceTypeFormatted\"] = this.spaceTypeFormatted;\r\n data[\"capacity\"] = this.capacity;\r\n if (Array.isArray(this.prices)) {\r\n data[\"prices\"] = [];\r\n for (let item of this.prices)\r\n data[\"prices\"].push(item);\r\n }\r\n data[\"status\"] = this.status;\r\n data[\"hasReservation\"] = this.hasReservation;\r\n data[\"hasTour\"] = this.hasTour;\r\n data[\"hasRequestToBook\"] = this.hasRequestToBook;\r\n data[\"hasIncompleteFields\"] = this.hasIncompleteFields;\r\n data[\"previewUrl\"] = this.previewUrl;\r\n data[\"reservationMethod\"] = this.reservationMethod;\r\n data[\"modifiedDate\"] = this.modifiedDate;\r\n data[\"isDesk\"] = this.isDesk;\r\n data[\"bookingMethod\"] = this.bookingMethod;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceModel {\r\n id: string;\r\n imageUrl: string;\r\n name: string;\r\n order: number | undefined;\r\n spaceType: SpaceType;\r\n spaceTypeFormatted: string;\r\n capacity: number;\r\n prices: string[];\r\n status: WorkspaceStatus;\r\n hasReservation: boolean;\r\n hasTour: boolean;\r\n hasRequestToBook: boolean;\r\n hasIncompleteFields: boolean;\r\n previewUrl: string;\r\n reservationMethod: ReservationMethod;\r\n modifiedDate: string;\r\n isDesk: boolean;\r\n bookingMethod: BookingMethod;\r\n}\r\n\r\nexport class WorkspaceHourlyModel extends WorkspaceModel implements IWorkspaceHourlyModel {\r\n hasIntegration!: boolean;\r\n integrationExemption!: boolean;\r\n\r\n constructor(data?: IWorkspaceHourlyModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WorkspaceHourlyModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.integrationExemption = _data[\"integrationExemption\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspaceHourlyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspaceHourlyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"integrationExemption\"] = this.integrationExemption;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspaceHourlyModel extends IWorkspaceModel {\r\n hasIntegration: boolean;\r\n integrationExemption: boolean;\r\n}\r\n\r\nexport class WorkspacePeriodModel extends WorkspaceModel implements IWorkspacePeriodModel {\r\n minimumTermMonths!: number | undefined;\r\n nextAvailableDateVenueTime!: string | undefined;\r\n freshness!: WorkspaceFreshness | undefined;\r\n availableDesksCount!: number;\r\n\r\n constructor(data?: IWorkspacePeriodModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n this._discriminator = \"WorkspacePeriodModel\";\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.minimumTermMonths = _data[\"minimumTermMonths\"];\r\n this.nextAvailableDateVenueTime = _data[\"nextAvailableDateVenueTime\"];\r\n this.freshness = _data[\"freshness\"];\r\n this.availableDesksCount = _data[\"availableDesksCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): WorkspacePeriodModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new WorkspacePeriodModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"minimumTermMonths\"] = this.minimumTermMonths;\r\n data[\"nextAvailableDateVenueTime\"] = this.nextAvailableDateVenueTime;\r\n data[\"freshness\"] = this.freshness;\r\n data[\"availableDesksCount\"] = this.availableDesksCount;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IWorkspacePeriodModel extends IWorkspaceModel {\r\n minimumTermMonths: number | undefined;\r\n nextAvailableDateVenueTime: string | undefined;\r\n freshness: WorkspaceFreshness | undefined;\r\n availableDesksCount: number;\r\n}\r\n\r\nexport class LiquidspaceProOverlayViewModel implements ILiquidspaceProOverlayViewModel {\r\n displayAnnouncement!: boolean;\r\n venueId!: string;\r\n status!: LiquidSpaceProStatus;\r\n spacesTabLink!: string;\r\n hasPublicMonthlySpaces!: boolean;\r\n hasPublicHourlySpaces!: boolean;\r\n hasIntegration!: boolean;\r\n venueName!: string;\r\n liquidSpaceSupportEmail!: string;\r\n\r\n constructor(data?: ILiquidspaceProOverlayViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.displayAnnouncement = _data[\"displayAnnouncement\"];\r\n this.venueId = _data[\"venueId\"];\r\n this.status = _data[\"status\"];\r\n this.spacesTabLink = _data[\"spacesTabLink\"];\r\n this.hasPublicMonthlySpaces = _data[\"hasPublicMonthlySpaces\"];\r\n this.hasPublicHourlySpaces = _data[\"hasPublicHourlySpaces\"];\r\n this.hasIntegration = _data[\"hasIntegration\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.liquidSpaceSupportEmail = _data[\"liquidSpaceSupportEmail\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): LiquidspaceProOverlayViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new LiquidspaceProOverlayViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"displayAnnouncement\"] = this.displayAnnouncement;\r\n data[\"venueId\"] = this.venueId;\r\n data[\"status\"] = this.status;\r\n data[\"spacesTabLink\"] = this.spacesTabLink;\r\n data[\"hasPublicMonthlySpaces\"] = this.hasPublicMonthlySpaces;\r\n data[\"hasPublicHourlySpaces\"] = this.hasPublicHourlySpaces;\r\n data[\"hasIntegration\"] = this.hasIntegration;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"liquidSpaceSupportEmail\"] = this.liquidSpaceSupportEmail;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ILiquidspaceProOverlayViewModel {\r\n displayAnnouncement: boolean;\r\n venueId: string;\r\n status: LiquidSpaceProStatus;\r\n spacesTabLink: string;\r\n hasPublicMonthlySpaces: boolean;\r\n hasPublicHourlySpaces: boolean;\r\n hasIntegration: boolean;\r\n venueName: string;\r\n liquidSpaceSupportEmail: string;\r\n}\r\n\r\nexport class DeskimoMarketModel implements IDeskimoMarketModel {\r\n name!: string | undefined;\r\n code!: string | undefined;\r\n\r\n constructor(data?: IDeskimoMarketModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.code = _data[\"code\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeskimoMarketModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeskimoMarketModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"code\"] = this.code;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeskimoMarketModel {\r\n name: string | undefined;\r\n code: string | undefined;\r\n}\r\n\r\nexport class DeskimoPropertyModel implements IDeskimoPropertyModel {\r\n name!: string | undefined;\r\n reference!: string | undefined;\r\n\r\n constructor(data?: IDeskimoPropertyModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.reference = _data[\"reference\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DeskimoPropertyModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DeskimoPropertyModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"reference\"] = this.reference;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDeskimoPropertyModel {\r\n name: string | undefined;\r\n reference: string | undefined;\r\n}\r\n\r\nexport class EvoOptionsModel implements IEvoOptionsModel {\r\n connections!: EvoConnectionModel[];\r\n centers!: EvoCenterModel[] | undefined;\r\n\r\n constructor(data?: IEvoOptionsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (Array.isArray(_data[\"connections\"])) {\r\n this.connections = [] as any;\r\n for (let item of _data[\"connections\"])\r\n this.connections!.push(EvoConnectionModel.fromJS(item));\r\n }\r\n if (Array.isArray(_data[\"centers\"])) {\r\n this.centers = [] as any;\r\n for (let item of _data[\"centers\"])\r\n this.centers!.push(EvoCenterModel.fromJS(item));\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): EvoOptionsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EvoOptionsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (Array.isArray(this.connections)) {\r\n data[\"connections\"] = [];\r\n for (let item of this.connections)\r\n data[\"connections\"].push(item.toJSON());\r\n }\r\n if (Array.isArray(this.centers)) {\r\n data[\"centers\"] = [];\r\n for (let item of this.centers)\r\n data[\"centers\"].push(item.toJSON());\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEvoOptionsModel {\r\n connections: EvoConnectionModel[];\r\n centers: EvoCenterModel[] | undefined;\r\n}\r\n\r\nexport class EvoConnectionModel implements IEvoConnectionModel {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IEvoConnectionModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EvoConnectionModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EvoConnectionModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEvoConnectionModel {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class EvoCenterModel implements IEvoCenterModel {\r\n id!: string;\r\n name!: string | undefined;\r\n\r\n constructor(data?: IEvoCenterModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EvoCenterModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EvoCenterModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEvoCenterModel {\r\n id: string;\r\n name: string | undefined;\r\n}\r\n\r\nexport class MSGraphUserModel implements IMSGraphUserModel {\r\n id!: string;\r\n email!: string;\r\n\r\n constructor(data?: IMSGraphUserModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MSGraphUserModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MSGraphUserModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMSGraphUserModel {\r\n id: string;\r\n email: string;\r\n}\r\n\r\nexport class MorningStarSettingsModel implements IMorningStarSettingsModel {\r\n morningStarURL!: string;\r\n morningStarIntegrationUser!: string;\r\n morningStarIntegrationPassword!: string;\r\n morningStarClientId!: string;\r\n morningStarLocationId!: string;\r\n morningStarVisaId!: string | undefined;\r\n\r\n constructor(data?: IMorningStarSettingsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.morningStarURL = _data[\"morningStarURL\"];\r\n this.morningStarIntegrationUser = _data[\"morningStarIntegrationUser\"];\r\n this.morningStarIntegrationPassword = _data[\"morningStarIntegrationPassword\"];\r\n this.morningStarClientId = _data[\"morningStarClientId\"];\r\n this.morningStarLocationId = _data[\"morningStarLocationId\"];\r\n this.morningStarVisaId = _data[\"morningStarVisaId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MorningStarSettingsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MorningStarSettingsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"morningStarURL\"] = this.morningStarURL;\r\n data[\"morningStarIntegrationUser\"] = this.morningStarIntegrationUser;\r\n data[\"morningStarIntegrationPassword\"] = this.morningStarIntegrationPassword;\r\n data[\"morningStarClientId\"] = this.morningStarClientId;\r\n data[\"morningStarLocationId\"] = this.morningStarLocationId;\r\n data[\"morningStarVisaId\"] = this.morningStarVisaId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMorningStarSettingsModel {\r\n morningStarURL: string;\r\n morningStarIntegrationUser: string;\r\n morningStarIntegrationPassword: string;\r\n morningStarClientId: string;\r\n morningStarLocationId: string;\r\n morningStarVisaId: string | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationListItemModel implements IOfficeRnDOrganizationListItemModel {\r\n id!: string;\r\n slug!: string;\r\n type!: OfficeRnDOrganizationType;\r\n connectionTypes!: OfficeRnDOrganizationConnectionType[];\r\n name!: string;\r\n\r\n constructor(data?: IOfficeRnDOrganizationListItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.slug = _data[\"slug\"];\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"connectionTypes\"])) {\r\n this.connectionTypes = [] as any;\r\n for (let item of _data[\"connectionTypes\"])\r\n this.connectionTypes!.push(item);\r\n }\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationListItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationListItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"slug\"] = this.slug;\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.connectionTypes)) {\r\n data[\"connectionTypes\"] = [];\r\n for (let item of this.connectionTypes)\r\n data[\"connectionTypes\"].push(item);\r\n }\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationListItemModel {\r\n id: string;\r\n slug: string;\r\n type: OfficeRnDOrganizationType;\r\n connectionTypes: OfficeRnDOrganizationConnectionType[];\r\n name: string;\r\n}\r\n\r\n/** 0 = Flex 1 = Hybrid */\r\nexport enum OfficeRnDOrganizationType {\r\n Flex = 0,\r\n Hybrid = 1,\r\n}\r\n\r\n/** 0 = Manual 1 = PartnerIntegration */\r\nexport enum OfficeRnDOrganizationConnectionType {\r\n Manual = 0,\r\n PartnerIntegration = 1,\r\n}\r\n\r\nexport class OfficeRnDOrganizationDetailsModel implements IOfficeRnDOrganizationDetailsModel {\r\n id!: string;\r\n slug!: string;\r\n name!: string;\r\n clientId!: string;\r\n clientSecret!: string | undefined;\r\n type!: OfficeRnDOrganizationType;\r\n connectionTypes!: OfficeRnDOrganizationConnectionType[];\r\n webhookUrl!: string;\r\n partnerIntegrationSettings!: OfficeRnDOrganizationPartnerIntegrationDetailsModel | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.slug = _data[\"slug\"];\r\n this.name = _data[\"name\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.type = _data[\"type\"];\r\n if (Array.isArray(_data[\"connectionTypes\"])) {\r\n this.connectionTypes = [] as any;\r\n for (let item of _data[\"connectionTypes\"])\r\n this.connectionTypes!.push(item);\r\n }\r\n this.webhookUrl = _data[\"webhookUrl\"];\r\n this.partnerIntegrationSettings = _data[\"partnerIntegrationSettings\"] ? OfficeRnDOrganizationPartnerIntegrationDetailsModel.fromJS(_data[\"partnerIntegrationSettings\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"slug\"] = this.slug;\r\n data[\"name\"] = this.name;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"type\"] = this.type;\r\n if (Array.isArray(this.connectionTypes)) {\r\n data[\"connectionTypes\"] = [];\r\n for (let item of this.connectionTypes)\r\n data[\"connectionTypes\"].push(item);\r\n }\r\n data[\"webhookUrl\"] = this.webhookUrl;\r\n data[\"partnerIntegrationSettings\"] = this.partnerIntegrationSettings ? this.partnerIntegrationSettings.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationDetailsModel {\r\n id: string;\r\n slug: string;\r\n name: string;\r\n clientId: string;\r\n clientSecret: string | undefined;\r\n type: OfficeRnDOrganizationType;\r\n connectionTypes: OfficeRnDOrganizationConnectionType[];\r\n webhookUrl: string;\r\n partnerIntegrationSettings: OfficeRnDOrganizationPartnerIntegrationDetailsModel | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationPartnerIntegrationDetailsModel implements IOfficeRnDOrganizationPartnerIntegrationDetailsModel {\r\n appClientId!: string;\r\n accessToken!: string;\r\n refreshToken!: string;\r\n timestamp!: string;\r\n expiresIn!: number;\r\n secret!: string;\r\n contactFullName!: string | undefined;\r\n contactEmail!: string | undefined;\r\n contactPhoneNumber!: string | undefined;\r\n zendeskTicketId!: number | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationPartnerIntegrationDetailsModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.appClientId = _data[\"appClientId\"];\r\n this.accessToken = _data[\"accessToken\"];\r\n this.refreshToken = _data[\"refreshToken\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.expiresIn = _data[\"expiresIn\"];\r\n this.secret = _data[\"secret\"];\r\n this.contactFullName = _data[\"contactFullName\"];\r\n this.contactEmail = _data[\"contactEmail\"];\r\n this.contactPhoneNumber = _data[\"contactPhoneNumber\"];\r\n this.zendeskTicketId = _data[\"zendeskTicketId\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationPartnerIntegrationDetailsModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationPartnerIntegrationDetailsModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"appClientId\"] = this.appClientId;\r\n data[\"accessToken\"] = this.accessToken;\r\n data[\"refreshToken\"] = this.refreshToken;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"expiresIn\"] = this.expiresIn;\r\n data[\"secret\"] = this.secret;\r\n data[\"contactFullName\"] = this.contactFullName;\r\n data[\"contactEmail\"] = this.contactEmail;\r\n data[\"contactPhoneNumber\"] = this.contactPhoneNumber;\r\n data[\"zendeskTicketId\"] = this.zendeskTicketId;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationPartnerIntegrationDetailsModel {\r\n appClientId: string;\r\n accessToken: string;\r\n refreshToken: string;\r\n timestamp: string;\r\n expiresIn: number;\r\n secret: string;\r\n contactFullName: string | undefined;\r\n contactEmail: string | undefined;\r\n contactPhoneNumber: string | undefined;\r\n zendeskTicketId: number | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationEditModel implements IOfficeRnDOrganizationEditModel {\r\n name!: string;\r\n slug!: string;\r\n clientId!: string;\r\n clientSecret!: string | undefined;\r\n type!: OfficeRnDOrganizationType;\r\n partnerIntegrationContactFullName!: string | undefined;\r\n partnerIntegrationContactEmail!: string | undefined;\r\n partnerIntegrationContactPhoneNumber!: string | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.slug = _data[\"slug\"];\r\n this.clientId = _data[\"clientId\"];\r\n this.clientSecret = _data[\"clientSecret\"];\r\n this.type = _data[\"type\"];\r\n this.partnerIntegrationContactFullName = _data[\"partnerIntegrationContactFullName\"];\r\n this.partnerIntegrationContactEmail = _data[\"partnerIntegrationContactEmail\"];\r\n this.partnerIntegrationContactPhoneNumber = _data[\"partnerIntegrationContactPhoneNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"slug\"] = this.slug;\r\n data[\"clientId\"] = this.clientId;\r\n data[\"clientSecret\"] = this.clientSecret;\r\n data[\"type\"] = this.type;\r\n data[\"partnerIntegrationContactFullName\"] = this.partnerIntegrationContactFullName;\r\n data[\"partnerIntegrationContactEmail\"] = this.partnerIntegrationContactEmail;\r\n data[\"partnerIntegrationContactPhoneNumber\"] = this.partnerIntegrationContactPhoneNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationEditModel {\r\n name: string;\r\n slug: string;\r\n clientId: string;\r\n clientSecret: string | undefined;\r\n type: OfficeRnDOrganizationType;\r\n partnerIntegrationContactFullName: string | undefined;\r\n partnerIntegrationContactEmail: string | undefined;\r\n partnerIntegrationContactPhoneNumber: string | undefined;\r\n}\r\n\r\nexport class OfficeRnDOrganizationPartnerIntegrationContactEditModel implements IOfficeRnDOrganizationPartnerIntegrationContactEditModel {\r\n fullName!: string;\r\n email!: string;\r\n phoneNumber!: string | undefined;\r\n\r\n constructor(data?: IOfficeRnDOrganizationPartnerIntegrationContactEditModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.fullName = _data[\"fullName\"];\r\n this.email = _data[\"email\"];\r\n this.phoneNumber = _data[\"phoneNumber\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRnDOrganizationPartnerIntegrationContactEditModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRnDOrganizationPartnerIntegrationContactEditModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"fullName\"] = this.fullName;\r\n data[\"email\"] = this.email;\r\n data[\"phoneNumber\"] = this.phoneNumber;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRnDOrganizationPartnerIntegrationContactEditModel {\r\n fullName: string;\r\n email: string;\r\n phoneNumber: string | undefined;\r\n}\r\n\r\nexport class OfficeRndOfficeModel implements IOfficeRndOfficeModel {\r\n id!: string;\r\n name!: string;\r\n formattedAddress!: string;\r\n\r\n constructor(data?: IOfficeRndOfficeModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.formattedAddress = _data[\"formattedAddress\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRndOfficeModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRndOfficeModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"formattedAddress\"] = this.formattedAddress;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRndOfficeModel {\r\n id: string;\r\n name: string;\r\n formattedAddress: string;\r\n}\r\n\r\nexport class OfficeRndTeamModel implements IOfficeRndTeamModel {\r\n id!: string;\r\n name!: string;\r\n email!: string | undefined;\r\n\r\n constructor(data?: IOfficeRndTeamModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRndTeamModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRndTeamModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRndTeamModel {\r\n id: string;\r\n name: string;\r\n email: string | undefined;\r\n}\r\n\r\nexport class OfficeRndMemberModel implements IOfficeRndMemberModel {\r\n id!: string;\r\n name!: string;\r\n email!: string;\r\n teamName!: string | undefined;\r\n\r\n constructor(data?: IOfficeRndMemberModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n this.email = _data[\"email\"];\r\n this.teamName = _data[\"teamName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): OfficeRndMemberModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new OfficeRndMemberModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n data[\"email\"] = this.email;\r\n data[\"teamName\"] = this.teamName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IOfficeRndMemberModel {\r\n id: string;\r\n name: string;\r\n email: string;\r\n teamName: string | undefined;\r\n}\r\n\r\nexport class DiagnosticsConsoleMethod implements IDiagnosticsConsoleMethod {\r\n name!: string;\r\n parameters!: DiagnosticsConsoleMethodParameter[];\r\n declaringTypeName!: string;\r\n\r\n constructor(data?: IDiagnosticsConsoleMethod) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n if (Array.isArray(_data[\"parameters\"])) {\r\n this.parameters = [] as any;\r\n for (let item of _data[\"parameters\"])\r\n this.parameters!.push(DiagnosticsConsoleMethodParameter.fromJS(item));\r\n }\r\n this.declaringTypeName = _data[\"declaringTypeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleMethod {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleMethod();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n if (Array.isArray(this.parameters)) {\r\n data[\"parameters\"] = [];\r\n for (let item of this.parameters)\r\n data[\"parameters\"].push(item.toJSON());\r\n }\r\n data[\"declaringTypeName\"] = this.declaringTypeName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleMethod {\r\n name: string;\r\n parameters: DiagnosticsConsoleMethodParameter[];\r\n declaringTypeName: string;\r\n}\r\n\r\nexport class DiagnosticsConsoleMethodParameter implements IDiagnosticsConsoleMethodParameter {\r\n name!: string;\r\n typeName!: string;\r\n\r\n constructor(data?: IDiagnosticsConsoleMethodParameter) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.typeName = _data[\"typeName\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleMethodParameter {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleMethodParameter();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"typeName\"] = this.typeName;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleMethodParameter {\r\n name: string;\r\n typeName: string;\r\n}\r\n\r\nexport class DiagnosticsConsoleRunKey implements IDiagnosticsConsoleRunKey {\r\n id!: string;\r\n notBeforeTicks!: number;\r\n\r\n constructor(data?: IDiagnosticsConsoleRunKey) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.notBeforeTicks = _data[\"notBeforeTicks\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleRunKey {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleRunKey();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"notBeforeTicks\"] = this.notBeforeTicks;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleRunKey {\r\n id: string;\r\n notBeforeTicks: number;\r\n}\r\n\r\n/** 0 = Worker 1 = BusinessService */\r\nexport enum DiagnosticsMethodRunner {\r\n Worker = 0,\r\n BusinessService = 1,\r\n}\r\n\r\nexport class DiagnosticsConsoleLineViewModel implements IDiagnosticsConsoleLineViewModel {\r\n timestamp!: string | undefined;\r\n ticks!: string;\r\n taskId!: string;\r\n taskName!: string | undefined;\r\n text!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsConsoleLineViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.timestamp = _data[\"timestamp\"];\r\n this.ticks = _data[\"ticks\"];\r\n this.taskId = _data[\"taskId\"];\r\n this.taskName = _data[\"taskName\"];\r\n this.text = _data[\"text\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsConsoleLineViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsConsoleLineViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"ticks\"] = this.ticks;\r\n data[\"taskId\"] = this.taskId;\r\n data[\"taskName\"] = this.taskName;\r\n data[\"text\"] = this.text;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsConsoleLineViewModel {\r\n timestamp: string | undefined;\r\n ticks: string;\r\n taskId: string;\r\n taskName: string | undefined;\r\n text: string | undefined;\r\n}\r\n\r\nexport class ContentSecurityPolicyViewModel implements IContentSecurityPolicyViewModel {\r\n enabled!: boolean;\r\n placement!: ContentSecurityPolicyPlacement;\r\n useReportEndpoint!: boolean;\r\n reportOnly!: boolean;\r\n formattedHeaderValue!: string | undefined;\r\n timestablUtc!: string;\r\n\r\n constructor(data?: IContentSecurityPolicyViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.enabled = _data[\"enabled\"];\r\n this.placement = _data[\"placement\"];\r\n this.useReportEndpoint = _data[\"useReportEndpoint\"];\r\n this.reportOnly = _data[\"reportOnly\"];\r\n this.formattedHeaderValue = _data[\"formattedHeaderValue\"];\r\n this.timestablUtc = _data[\"timestablUtc\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): ContentSecurityPolicyViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new ContentSecurityPolicyViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"enabled\"] = this.enabled;\r\n data[\"placement\"] = this.placement;\r\n data[\"useReportEndpoint\"] = this.useReportEndpoint;\r\n data[\"reportOnly\"] = this.reportOnly;\r\n data[\"formattedHeaderValue\"] = this.formattedHeaderValue;\r\n data[\"timestablUtc\"] = this.timestablUtc;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IContentSecurityPolicyViewModel {\r\n enabled: boolean;\r\n placement: ContentSecurityPolicyPlacement;\r\n useReportEndpoint: boolean;\r\n reportOnly: boolean;\r\n formattedHeaderValue: string | undefined;\r\n timestablUtc: string;\r\n}\r\n\r\n/** 0 = Headers 1 = MetaHttpEquiv */\r\nexport enum ContentSecurityPolicyPlacement {\r\n Headers = 0,\r\n MetaHttpEquiv = 1,\r\n}\r\n\r\nexport class EmailTemplate implements IEmailTemplate {\r\n name!: string;\r\n description!: string | undefined;\r\n\r\n constructor(data?: IEmailTemplate) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.name = _data[\"name\"];\r\n this.description = _data[\"description\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EmailTemplate {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EmailTemplate();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"name\"] = this.name;\r\n data[\"description\"] = this.description;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEmailTemplate {\r\n name: string;\r\n description: string | undefined;\r\n}\r\n\r\nexport class DiagnosticsEmailModel implements IDiagnosticsEmailModel {\r\n readonlyProperties!: { [key: string]: any; };\r\n writableProperties!: { [key: string]: { [key: string]: any; }; };\r\n id!: string;\r\n interfaces!: string[];\r\n\r\n constructor(data?: IDiagnosticsEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n if (_data[\"readonlyProperties\"]) {\r\n this.readonlyProperties = {} as any;\r\n for (let key in _data[\"readonlyProperties\"]) {\r\n if (_data[\"readonlyProperties\"].hasOwnProperty(key))\r\n (this.readonlyProperties)![key] = _data[\"readonlyProperties\"][key];\r\n }\r\n }\r\n if (_data[\"writableProperties\"]) {\r\n this.writableProperties = {} as any;\r\n for (let key in _data[\"writableProperties\"]) {\r\n if (_data[\"writableProperties\"].hasOwnProperty(key))\r\n (this.writableProperties)![key] = _data[\"writableProperties\"][key] !== undefined ? _data[\"writableProperties\"][key] : {};\r\n }\r\n }\r\n this.id = _data[\"id\"];\r\n if (Array.isArray(_data[\"interfaces\"])) {\r\n this.interfaces = [] as any;\r\n for (let item of _data[\"interfaces\"])\r\n this.interfaces!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n if (this.readonlyProperties) {\r\n data[\"readonlyProperties\"] = {};\r\n for (let key in this.readonlyProperties) {\r\n if (this.readonlyProperties.hasOwnProperty(key))\r\n (data[\"readonlyProperties\"])[key] = (this.readonlyProperties)[key];\r\n }\r\n }\r\n if (this.writableProperties) {\r\n data[\"writableProperties\"] = {};\r\n for (let key in this.writableProperties) {\r\n if (this.writableProperties.hasOwnProperty(key))\r\n (data[\"writableProperties\"])[key] = (this.writableProperties)[key];\r\n }\r\n }\r\n data[\"id\"] = this.id;\r\n if (Array.isArray(this.interfaces)) {\r\n data[\"interfaces\"] = [];\r\n for (let item of this.interfaces)\r\n data[\"interfaces\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsEmailModel {\r\n readonlyProperties: { [key: string]: any; };\r\n writableProperties: { [key: string]: { [key: string]: any; }; };\r\n id: string;\r\n interfaces: string[];\r\n}\r\n\r\nexport class SendTestEmailModel implements ISendTestEmailModel {\r\n recipient!: string | undefined;\r\n subject!: string | undefined;\r\n templates!: string[];\r\n\r\n constructor(data?: ISendTestEmailModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.recipient = _data[\"recipient\"];\r\n this.subject = _data[\"subject\"];\r\n if (Array.isArray(_data[\"templates\"])) {\r\n this.templates = [] as any;\r\n for (let item of _data[\"templates\"])\r\n this.templates!.push(item);\r\n }\r\n }\r\n }\r\n\r\n static fromJS(data: any): SendTestEmailModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new SendTestEmailModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"recipient\"] = this.recipient;\r\n data[\"subject\"] = this.subject;\r\n if (Array.isArray(this.templates)) {\r\n data[\"templates\"] = [];\r\n for (let item of this.templates)\r\n data[\"templates\"].push(item);\r\n }\r\n return data;\r\n }\r\n}\r\n\r\nexport interface ISendTestEmailModel {\r\n recipient: string | undefined;\r\n subject: string | undefined;\r\n templates: string[];\r\n}\r\n\r\nexport class DiagnosticsIntegrationListItemModel implements IDiagnosticsIntegrationListItemModel {\r\n venueId!: string;\r\n venueName!: string;\r\n workspaceId!: string;\r\n workspaceName!: string;\r\n integration!: IntegrationTypeEnum;\r\n isPaused!: boolean;\r\n pooledEvents!: number;\r\n deletedActivityCount!: number;\r\n upsertedActivityCount!: number;\r\n lastProcessed!: string;\r\n lastErrorCount!: number;\r\n\r\n constructor(data?: IDiagnosticsIntegrationListItemModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.venueId = _data[\"venueId\"];\r\n this.venueName = _data[\"venueName\"];\r\n this.workspaceId = _data[\"workspaceId\"];\r\n this.workspaceName = _data[\"workspaceName\"];\r\n this.integration = _data[\"integration\"];\r\n this.isPaused = _data[\"isPaused\"];\r\n this.pooledEvents = _data[\"pooledEvents\"];\r\n this.deletedActivityCount = _data[\"deletedActivityCount\"];\r\n this.upsertedActivityCount = _data[\"upsertedActivityCount\"];\r\n this.lastProcessed = _data[\"lastProcessed\"];\r\n this.lastErrorCount = _data[\"lastErrorCount\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsIntegrationListItemModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsIntegrationListItemModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"venueId\"] = this.venueId;\r\n data[\"venueName\"] = this.venueName;\r\n data[\"workspaceId\"] = this.workspaceId;\r\n data[\"workspaceName\"] = this.workspaceName;\r\n data[\"integration\"] = this.integration;\r\n data[\"isPaused\"] = this.isPaused;\r\n data[\"pooledEvents\"] = this.pooledEvents;\r\n data[\"deletedActivityCount\"] = this.deletedActivityCount;\r\n data[\"upsertedActivityCount\"] = this.upsertedActivityCount;\r\n data[\"lastProcessed\"] = this.lastProcessed;\r\n data[\"lastErrorCount\"] = this.lastErrorCount;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsIntegrationListItemModel {\r\n venueId: string;\r\n venueName: string;\r\n workspaceId: string;\r\n workspaceName: string;\r\n integration: IntegrationTypeEnum;\r\n isPaused: boolean;\r\n pooledEvents: number;\r\n deletedActivityCount: number;\r\n upsertedActivityCount: number;\r\n lastProcessed: string;\r\n lastErrorCount: number;\r\n}\r\n\r\nexport class DiagnosticsLogItem implements IDiagnosticsLogItem {\r\n partitionKey!: string;\r\n rowKey!: string;\r\n timestamp!: string | undefined;\r\n role!: string | undefined;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsLogItem) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.partitionKey = _data[\"partitionKey\"];\r\n this.rowKey = _data[\"rowKey\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.role = _data[\"role\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsLogItem {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsLogItem();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"partitionKey\"] = this.partitionKey;\r\n data[\"rowKey\"] = this.rowKey;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"role\"] = this.role;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsLogItem {\r\n partitionKey: string;\r\n rowKey: string;\r\n timestamp: string | undefined;\r\n role: string | undefined;\r\n message: string | undefined;\r\n}\r\n\r\n/** 1 = Undefined 2 = Critical 4 = Error 8 = Warning 16 = Information 32 = Verbose */\r\nexport enum DiagnosticsLogLevels {\r\n Undefined = 1,\r\n Critical = 2,\r\n Error = 4,\r\n Warning = 8,\r\n Information = 16,\r\n Verbose = 32,\r\n}\r\n\r\nexport class DiagnosticsLogItemDetails implements IDiagnosticsLogItemDetails {\r\n partitionKey!: string;\r\n rowKey!: string;\r\n timestamp!: string | undefined;\r\n eventTickCount!: number;\r\n deploymentId!: string | undefined;\r\n role!: string | undefined;\r\n roleInstance!: string | undefined;\r\n level!: number;\r\n eventId!: number;\r\n pid!: number;\r\n tid!: number;\r\n message!: string | undefined;\r\n\r\n constructor(data?: IDiagnosticsLogItemDetails) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.partitionKey = _data[\"partitionKey\"];\r\n this.rowKey = _data[\"rowKey\"];\r\n this.timestamp = _data[\"timestamp\"];\r\n this.eventTickCount = _data[\"eventTickCount\"];\r\n this.deploymentId = _data[\"deploymentId\"];\r\n this.role = _data[\"role\"];\r\n this.roleInstance = _data[\"roleInstance\"];\r\n this.level = _data[\"level\"];\r\n this.eventId = _data[\"eventId\"];\r\n this.pid = _data[\"pid\"];\r\n this.tid = _data[\"tid\"];\r\n this.message = _data[\"message\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsLogItemDetails {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsLogItemDetails();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"partitionKey\"] = this.partitionKey;\r\n data[\"rowKey\"] = this.rowKey;\r\n data[\"timestamp\"] = this.timestamp;\r\n data[\"eventTickCount\"] = this.eventTickCount;\r\n data[\"deploymentId\"] = this.deploymentId;\r\n data[\"role\"] = this.role;\r\n data[\"roleInstance\"] = this.roleInstance;\r\n data[\"level\"] = this.level;\r\n data[\"eventId\"] = this.eventId;\r\n data[\"pid\"] = this.pid;\r\n data[\"tid\"] = this.tid;\r\n data[\"message\"] = this.message;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsLogItemDetails {\r\n partitionKey: string;\r\n rowKey: string;\r\n timestamp: string | undefined;\r\n eventTickCount: number;\r\n deploymentId: string | undefined;\r\n role: string | undefined;\r\n roleInstance: string | undefined;\r\n level: number;\r\n eventId: number;\r\n pid: number;\r\n tid: number;\r\n message: string | undefined;\r\n}\r\n\r\nexport class PoisonMessageViewModel implements IPoisonMessageViewModel {\r\n envelopeId!: string;\r\n messageType!: string;\r\n exception!: string;\r\n lastActivity!: string;\r\n machineType!: string;\r\n syncMode!: boolean;\r\n\r\n constructor(data?: IPoisonMessageViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.envelopeId = _data[\"envelopeId\"];\r\n this.messageType = _data[\"messageType\"];\r\n this.exception = _data[\"exception\"];\r\n this.lastActivity = _data[\"lastActivity\"];\r\n this.machineType = _data[\"machineType\"];\r\n this.syncMode = _data[\"syncMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): PoisonMessageViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PoisonMessageViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"envelopeId\"] = this.envelopeId;\r\n data[\"messageType\"] = this.messageType;\r\n data[\"exception\"] = this.exception;\r\n data[\"lastActivity\"] = this.lastActivity;\r\n data[\"machineType\"] = this.machineType;\r\n data[\"syncMode\"] = this.syncMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPoisonMessageViewModel {\r\n envelopeId: string;\r\n messageType: string;\r\n exception: string;\r\n lastActivity: string;\r\n machineType: string;\r\n syncMode: boolean;\r\n}\r\n\r\nexport class PoisonMessageDetailsViewModel implements IPoisonMessageDetailsViewModel {\r\n message!: any;\r\n quarantineMessage!: QuarantineMessage;\r\n\r\n constructor(data?: IPoisonMessageDetailsViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.message = _data[\"message\"];\r\n this.quarantineMessage = _data[\"quarantineMessage\"] ? QuarantineMessage.fromJS(_data[\"quarantineMessage\"]) : undefined;\r\n }\r\n }\r\n\r\n static fromJS(data: any): PoisonMessageDetailsViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new PoisonMessageDetailsViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"message\"] = this.message;\r\n data[\"quarantineMessage\"] = this.quarantineMessage ? this.quarantineMessage.toJSON() : undefined;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IPoisonMessageDetailsViewModel {\r\n message: any;\r\n quarantineMessage: QuarantineMessage;\r\n}\r\n\r\nexport class QuarantineMessage implements IQuarantineMessage {\r\n envelopeId!: string;\r\n retryCount!: number;\r\n envelopeBodyId!: string;\r\n exception!: string | undefined;\r\n queueName!: string | undefined;\r\n messageType!: string | undefined;\r\n machineType!: string | undefined;\r\n lastActivity!: string;\r\n compressed!: boolean;\r\n syncMode!: boolean;\r\n\r\n constructor(data?: IQuarantineMessage) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.envelopeId = _data[\"envelopeId\"];\r\n this.retryCount = _data[\"retryCount\"];\r\n this.envelopeBodyId = _data[\"envelopeBodyId\"];\r\n this.exception = _data[\"exception\"];\r\n this.queueName = _data[\"queueName\"];\r\n this.messageType = _data[\"messageType\"];\r\n this.machineType = _data[\"machineType\"];\r\n this.lastActivity = _data[\"lastActivity\"];\r\n this.compressed = _data[\"compressed\"];\r\n this.syncMode = _data[\"syncMode\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): QuarantineMessage {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new QuarantineMessage();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"envelopeId\"] = this.envelopeId;\r\n data[\"retryCount\"] = this.retryCount;\r\n data[\"envelopeBodyId\"] = this.envelopeBodyId;\r\n data[\"exception\"] = this.exception;\r\n data[\"queueName\"] = this.queueName;\r\n data[\"messageType\"] = this.messageType;\r\n data[\"machineType\"] = this.machineType;\r\n data[\"lastActivity\"] = this.lastActivity;\r\n data[\"compressed\"] = this.compressed;\r\n data[\"syncMode\"] = this.syncMode;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IQuarantineMessage {\r\n envelopeId: string;\r\n retryCount: number;\r\n envelopeBodyId: string;\r\n exception: string | undefined;\r\n queueName: string | undefined;\r\n messageType: string | undefined;\r\n machineType: string | undefined;\r\n lastActivity: string;\r\n compressed: boolean;\r\n syncMode: boolean;\r\n}\r\n\r\nexport class DiagnosticsShortUrlViewModel implements IDiagnosticsShortUrlViewModel {\r\n id!: string;\r\n url!: string;\r\n\r\n constructor(data?: IDiagnosticsShortUrlViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsShortUrlViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsShortUrlViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlViewModel {\r\n id: string;\r\n url: string;\r\n}\r\n\r\nexport class DiagnosticsShortUrlCreateModel implements IDiagnosticsShortUrlCreateModel {\r\n url!: string;\r\n\r\n constructor(data?: IDiagnosticsShortUrlCreateModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.url = _data[\"url\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsShortUrlCreateModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsShortUrlCreateModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"url\"] = this.url;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsShortUrlCreateModel {\r\n url: string;\r\n}\r\n\r\nexport class DiagnosticsWorkspaceScenarioViewModel implements IDiagnosticsWorkspaceScenarioViewModel {\r\n id!: string;\r\n displayName!: string;\r\n description!: string;\r\n longDescription!: string;\r\n spaceType!: SpaceType;\r\n\r\n constructor(data?: IDiagnosticsWorkspaceScenarioViewModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.displayName = _data[\"displayName\"];\r\n this.description = _data[\"description\"];\r\n this.longDescription = _data[\"longDescription\"];\r\n this.spaceType = _data[\"spaceType\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): DiagnosticsWorkspaceScenarioViewModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new DiagnosticsWorkspaceScenarioViewModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"displayName\"] = this.displayName;\r\n data[\"description\"] = this.description;\r\n data[\"longDescription\"] = this.longDescription;\r\n data[\"spaceType\"] = this.spaceType;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IDiagnosticsWorkspaceScenarioViewModel {\r\n id: string;\r\n displayName: string;\r\n description: string;\r\n longDescription: string;\r\n spaceType: SpaceType;\r\n}\r\n\r\nexport class EditableInternationalConfigurationModel implements IEditableInternationalConfigurationModel {\r\n country!: string | undefined;\r\n currency!: CurrencyType;\r\n merchantAccountId!: string;\r\n allowCreditCardPayments!: boolean;\r\n onDemandServiceChargeEnabled!: boolean;\r\n onDemandServiceChargePercentage!: number;\r\n hourlySpaceVisibility!: SpaceVisibility;\r\n monthlySpaceVisibility!: SpaceVisibility;\r\n\r\n constructor(data?: IEditableInternationalConfigurationModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.country = _data[\"country\"];\r\n this.currency = _data[\"currency\"];\r\n this.merchantAccountId = _data[\"merchantAccountId\"];\r\n this.allowCreditCardPayments = _data[\"allowCreditCardPayments\"];\r\n this.onDemandServiceChargeEnabled = _data[\"onDemandServiceChargeEnabled\"];\r\n this.onDemandServiceChargePercentage = _data[\"onDemandServiceChargePercentage\"];\r\n this.hourlySpaceVisibility = _data[\"hourlySpaceVisibility\"];\r\n this.monthlySpaceVisibility = _data[\"monthlySpaceVisibility\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): EditableInternationalConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new EditableInternationalConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"country\"] = this.country;\r\n data[\"currency\"] = this.currency;\r\n data[\"merchantAccountId\"] = this.merchantAccountId;\r\n data[\"allowCreditCardPayments\"] = this.allowCreditCardPayments;\r\n data[\"onDemandServiceChargeEnabled\"] = this.onDemandServiceChargeEnabled;\r\n data[\"onDemandServiceChargePercentage\"] = this.onDemandServiceChargePercentage;\r\n data[\"hourlySpaceVisibility\"] = this.hourlySpaceVisibility;\r\n data[\"monthlySpaceVisibility\"] = this.monthlySpaceVisibility;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IEditableInternationalConfigurationModel {\r\n country: string | undefined;\r\n currency: CurrencyType;\r\n merchantAccountId: string;\r\n allowCreditCardPayments: boolean;\r\n onDemandServiceChargeEnabled: boolean;\r\n onDemandServiceChargePercentage: number;\r\n hourlySpaceVisibility: SpaceVisibility;\r\n monthlySpaceVisibility: SpaceVisibility;\r\n}\r\n\r\nexport class InternationalConfigurationModel extends EditableInternationalConfigurationModel implements IInternationalConfigurationModel {\r\n id!: string;\r\n allowSearching!: boolean;\r\n allowNewListings!: boolean;\r\n allowVenueBilledPayments!: boolean;\r\n allowACHPayments!: boolean;\r\n\r\n constructor(data?: IInternationalConfigurationModel) {\r\n super(data);\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n super.init(_data);\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.allowSearching = _data[\"allowSearching\"];\r\n this.allowNewListings = _data[\"allowNewListings\"];\r\n this.allowVenueBilledPayments = _data[\"allowVenueBilledPayments\"];\r\n this.allowACHPayments = _data[\"allowACHPayments\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): InternationalConfigurationModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new InternationalConfigurationModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"allowSearching\"] = this.allowSearching;\r\n data[\"allowNewListings\"] = this.allowNewListings;\r\n data[\"allowVenueBilledPayments\"] = this.allowVenueBilledPayments;\r\n data[\"allowACHPayments\"] = this.allowACHPayments;\r\n super.toJSON(data);\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IInternationalConfigurationModel extends IEditableInternationalConfigurationModel {\r\n id: string;\r\n allowSearching: boolean;\r\n allowNewListings: boolean;\r\n allowVenueBilledPayments: boolean;\r\n allowACHPayments: boolean;\r\n}\r\n\r\n/** 0 = Public 1 = EnterpriseOnly 2 = None */\r\nexport enum SpaceVisibility {\r\n Public = 0,\r\n EnterpriseOnly = 1,\r\n None = 2,\r\n}\r\n\r\nexport class MerchantAccountModel implements IMerchantAccountModel {\r\n id!: string;\r\n name!: string;\r\n\r\n constructor(data?: IMerchantAccountModel) {\r\n if (data) {\r\n for (var property in data) {\r\n if (data.hasOwnProperty(property) && this.hasOwnProperty(property))\r\n (this)[property] = (data)[property];\r\n }\r\n }\r\n\r\n }\r\n\r\n init(_data?: any) {\r\n if (_data) {\r\n this.id = _data[\"id\"];\r\n this.name = _data[\"name\"];\r\n }\r\n }\r\n\r\n static fromJS(data: any): MerchantAccountModel {\r\n data = typeof data === 'object' ? data : {};\r\n let result = new MerchantAccountModel();\r\n result.init(data);\r\n return result;\r\n }\r\n\r\n toJSON(data?: any) {\r\n data = typeof data === 'object' ? data : {};\r\n data[\"id\"] = this.id;\r\n data[\"name\"] = this.name;\r\n return data;\r\n }\r\n}\r\n\r\nexport interface IMerchantAccountModel {\r\n id: string;\r\n name: string;\r\n}\r\n\r\nexport interface FileParameter {\r\n data: any;\r\n fileName: string;\r\n}\r\n\r\nexport interface FileResponse {\r\n data: Blob;\r\n status: number;\r\n fileName?: string;\r\n headers?: { [name: string]: any };\r\n}\r\n\r\nexport class ApiException extends Error {\r\n override message: string;\r\n status: number;\r\n response: string;\r\n headers: { [key: string]: any; };\r\n result: any;\r\n\r\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\r\n super();\r\n\r\n this.message = message;\r\n this.status = status;\r\n this.response = response;\r\n this.headers = headers;\r\n this.result = result;\r\n }\r\n\r\n protected isApiException = true;\r\n\r\n static isApiException(obj: any): obj is ApiException {\r\n return obj.isApiException === true;\r\n }\r\n}\r\n\r\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\r\n if (result !== null && result !== undefined)\r\n throw result;\r\n else\r\n throw new ApiException(message, status, response, headers, null);\r\n}\r\n\r\n/* eslint-disable */\r\n//THIS FILE IS INCLUDED INTO NSWAG GENERATED CODE (API.ts)\r\n//KEEP SAME NESTING LEVEL\r\n\r\n//Hey, Hotshot! You are here due to error caused by exposed EntityBase to client.\r\ntype IEntityBase = never;\r\n\r\n//TODO: Use ReservationMethod instead\r\n// type WorkspaceReservationMethod = never;","import React from \"react\";\r\nimport { default as RBS_ModalBody, ModalBodyProps as RBS_ModalBodyProps } from \"reactstrap/lib/ModalBody\";\r\nimport classNames from \"classnames\";\r\n\r\n\r\nexport type ModalBodyProps = RBS_ModalBodyProps & { \r\n compact?: boolean,\r\n withoutLeftRightPaddings?: boolean,\r\n}\r\n\r\nconst ModalBody: React.FC = ({ compact = false, withoutLeftRightPaddings = false, className, ...rest }) => {\r\n return ()\r\n}\r\n\r\nexport default ModalBody;","import React from \"react\";\r\nimport { default as RBS_ModalHeader, ModalHeaderProps as RBS_ModalHeaderProps } from \"reactstrap/lib/ModalHeader\";\r\nimport { onlyText } from \"react-children-utilities\";\r\nimport ModalCloseButton from \"./ModalCloseButton\";\r\nimport classNames from \"classnames\";\r\n\r\n\r\nexport type ModalHeaderProps = RBS_ModalHeaderProps & {\r\n lightWordsCount?: number,\r\n compact?: boolean,\r\n}\r\n\r\nconst ModalHeader: React.FC = ({ children, lightWordsCount = 0, compact = false, className, toggle, cssModule, ...rest }) => {\r\n const splitWords = (): React.ReactNode => {\r\n const text = onlyText(children);\r\n const words = text.split(\" \");\r\n return (<>{words.slice(0, lightWordsCount).join(\" \")}{\" \"}{words.slice(lightWordsCount).join(\" \")})\r\n }\r\n\r\n const closeBtn = toggle ? : null;\r\n\r\n return ({lightWordsCount > 0 ? splitWords() : children})\r\n}\r\n\r\nexport default ModalHeader;","import { ApiException } from \"./API\";\r\n\r\nexport const ETag = Symbol(\"Response ETag\");\r\n\r\nexport default class ClientBase {\r\n public onError: (message: string, httpStatus: number) => void = () => void 0;\r\n\r\n public getBaseUrl(defaultUrl: string, baseUrl?: string): string { return LiquidSpaceConfig.LSWebUICoreURL!; }\r\n\r\n protected async transformResult(url: string, response: Response, processor: (response: Response) => Promise) {\r\n try {\r\n const result = await processor(response);\r\n\r\n const etag = response.headers.get(\"etag\");\r\n if (etag) {\r\n Object.defineProperty(result, ETag, {\r\n enumerable: false,\r\n value: etag\r\n });\r\n }\r\n return result;\r\n }\r\n catch (ex) {\r\n // Processor will throw exception for non-successful status codes:\r\n // 1. of type defined by ProducesResponseTypeAttribute \r\n // (ex.: [ProducesResponseType(StatusCodes.Status418ImATeapot)] will throw MyCustomException for HTTP Status 418)\r\n // 2. ProblemDetails when only status code is defined by ProducesResponseTypeAttribute. \r\n // A machine-readable format for specifying errors in HTTP API responses based on .\r\n // 3. ApiException when nothing was defined but status code is unsuccessfuff (not 200, not 204)\r\n // It is also possible to have not parsed ProblemDetails\r\n\r\n // IMPORTANT!\r\n // ProblemDetails for >=400 status codes generated automatically for controllers marked with [ApiControllerAttribute]. \r\n // https://learn.microsoft.com/en-us/aspnet/core/web-api/?view=aspnetcore-9.0#problem-details-for-error-status-codes\r\n\r\n // ApiException has its own default handler\r\n if (ApiException.isApiException(ex)) {\r\n this.handleApiException(ex, url);\r\n }\r\n // else {\r\n // exception intentionally thrown by processor\r\n // ex: ResponseWrapper, ProblemDetails\r\n // }\r\n\r\n throw ex;\r\n }\r\n }\r\n\r\n protected handleApiException(ex: ApiException, url: string) {\r\n if (ex.status === 401) {\r\n let redirectURL = `/account/logon?returnUrl=${encodeURIComponent(window.location.pathname)}`;\r\n let errorMessage = \"UNAUTHORIZED. You'll be redirected to login page\";\r\n\r\n const responseContentType = ex.headers[\"content-type\"]?.split(\";\")[0];\r\n if ([\"application/json\", \"application/problem+json\"].indexOf(responseContentType) != -1) {\r\n try {\r\n const data = JSON.parse(ex.response);\r\n if (data && data[\"ls.challengeReason\"] > 0) {\r\n if (data.detail) {\r\n errorMessage = \"UNAUTHORIZED. \" + data.detail;\r\n }\r\n if (data[\"ls.challengeReason\"] == 4) {\r\n //blocked\r\n redirectURL = `/?blockedUserMessageType=${LSCommon.Models.BlockedUserMessageType.Blocked}`;\r\n }\r\n else if (data[\"ls.challengeReason\"] == 5) {\r\n //locked\r\n redirectURL = `/?blockedUserMessageType=${LSCommon.Models.BlockedUserMessageType.Locked}`;\r\n }\r\n }\r\n }\r\n catch {/* */ }\r\n }\r\n\r\n this.onError(errorMessage, ex.status);\r\n window.location.href = redirectURL;\r\n } else if (ex.status === 403) {\r\n this.onError(`FORBIDDEN. You don't have permission to access ${new URL(url).pathname}`, ex.status);\r\n } else if (ex.status >= 500 && ex.status <= 600) {\r\n this.onError(ex.response, ex.status);\r\n }\r\n }\r\n\r\n protected transformOptions(options: RequestInit): Promise {\r\n options.credentials = \"include\";\r\n return new Promise((resolve) => {\r\n resolve(options);\r\n });\r\n }\r\n}\r\n","import React, { ButtonHTMLAttributes } from \"react\";\r\nimport classNames from \"classnames\";\r\nimport * as Icons from \"Components/Icons\";\r\n\r\n\r\nexport type ModalCloseButtonProps = ButtonHTMLAttributes;\r\n\r\nconst ModalCloseButton: React.FC = ({ className, ...htmlProps }) => {\r\n const btnClasses = classNames(\"ls-modal-close\", className);\r\n\r\n return ()\r\n}\r\n\r\nexport default ModalCloseButton;","import React, { createContext } from \"react\";\r\n\r\nexport type DesignName = \"primary\" | \"marketing\";\r\n\r\nexport interface IDesignContext {\r\n name: DesignName\r\n}\r\nexport const DesignContext = createContext({\r\n name: \"marketing\"\r\n});\r\n\r\nexport interface IDesignContextProviderProps extends React.HTMLAttributes {\r\n name: DesignName\r\n}\r\n\r\nexport const DesignContextProvider: React.FC = function ({ children, name, ...rest }) {\r\n return (\r\n
{children}
\r\n
);\r\n}"],"names":["Operation","operation","constructor","op","this","toJSON","static","item","JSON","parse","forwardRef","color","size","onClick","rest","ref","React","width","height","viewBox","fill","xmlns","fillRule","clipRule","d","isVenueBrief","venue","isResponseWrapper","obj","isWorkspaceHourlyModel","isWorkspacePeriodModel","isLegacyException","isException","isReactKey","objType","isProblemDetails","ProblemDetails","ModalFooter","compact","className","RBS_ModalFooter","classNames","legacyButtonColors","getBtnClasses","buttonProps","outline","includes","fluid","Button","children","htmlProps","buttonClasses","ButtonLink","PlayButton","SpinningButton","isLoading","props","designContext","useContext","DesignContext","RBS_Modal","name","usePageLeaveConfirmation","subscriptionId","options","deps","layoutContext","LayoutContext","useEffect","onPageLeave","offPageLeave","PAGE_LEAVE_MESSAGE","getPageLeaveMessage","message","createContext","showMessage","timeout","errorState","undefined","showError","error","title","onClose","setIsLoading","hasPageLeaveCallbacks","LayoutContextProvider","useState","setErrorState","onPageLeaveStack","useRef","pageLeaveCallback","setPageLeaveCallback","pageLeaveModalOptions","setPageLeaveModalOptions","Object","keys","current","length","registerOnPageLeave","id","removeOnPageLeave","showOnPageLeaveModal","callback","closeOnPageLeaveModal","closeOnPageLeaveModalInner","proceedToDestination","getUserConfirmation","callbackWrapper","ok","values","shouldDisplay","onBeforeUnload","event","returnValue","window","addEventListener","removeEventListener","layoutContextProvider","useMemo","console","log","currentError","errorObj","errorMessage","errorCode","debugTrace","detailedDebugException","Error","closeErrorDialog","useCallback","Provider","value","Modal","centered","isOpen","trapFocus","ModalHeader","ModalBody","href","style","whiteSpace","font","overflow","maxHeight","type","toggle","maxWidth","cancelButtonText","confirmAction","confirmButtonText","ImageTagConstants","PictureTypeEnum","MemberNotificationSettingType","SsoType","SocialVisibility","BlogTag","CollectionType","SpaceType","BookingMethod","WorkspaceStatus","WorkspaceReservationMethod","WorkspaceRequestType","EnterpriseAccountMembersImportMode","ConnectionMode","ConnectionKind","CurrencyType","ReservationMethod","ActivityReservationStatusFilter","ReservationStatus","PaymentProviderType","HourlyMonthly","DownloadFileFormat","VenueSource","SearchDeviceType","LocationAccuracy","SavedSearchSourceType","BrandedPortalType","ContentType","ContentStatus","EnterpriseAccountFeeType","EnterpriseAccountBillingStatus","InvoiceGenerationStatus","EnterpriseAccountPlan","EnterpriseAccountStatus","EnterpriseDemandType","EnterpriseClassification","DisplayExtendedNetwork","EnterpriseAccountBillingPeriod","PaymentTerm","EventHistoryType","EventHistoryState","EnterpriseAccountInvitationStatus","MemberGroupInvitationStatus","EnterpriseLocationType","ForceableExtendedSearchOptionsProperties","SearchSettingsEnum","ReservationState","CancellationPolicy","VenueAmenityType","RefundType","PayableType","PaymentMethod","HourlyRequestToBookStatus","ReservationTimeType","ImportExportStatus","LSLogLevel","EnterpriseDemoRequestMode","CompanySize","SolutionType","InterestReason","BrandsAccess","CreditCardTypeType","MemberRole","VenueConfirmationStatus","HourlyReservationUrgencyStatus","IntegrationTypeEnum","TourCancelReason","ImportType","VenueRoleEnum","NotificationsReservationType","VenueStatusNew","VenueGroupVisaType","DefaultMemberOriginationScenario","VenueGroupRank","VenueGroupVisibility","PriceMerchandising","VenueGroupIntegration","VenueGroupClassification","NeighborhoodType","VenueGroupVisaKind","ClaimVenueResult","VisaState","WorkspacePriceDuration","TimeState","TimeChunkSize","ManageVenueMode","PromotionDiscountType","MembershipPromotionType","MessageSource","MessageStatus","TourStatus","TourPostCompleteStatus","ProposalStatus","DepositMode","MessagesFilterEnum","MessengerAction","EntityType","MemberGroupUserType","MemberGroupType","CrosssiteBrandingType","HeaderMenuOptions","InvoiceStatus","VenueOpenStatus","LiquidSpaceProStatus","LicenseVersion","VenueTaxApplyType","ContactTypeEnum","BillingMethod","ACHAccountType","DayOfWeek","PhotoRankEnum","VenueClassification","VenueRank","GCalEndpoint","ExchangeEndpoint","ParkingType","PricingRateType","ManageVenueSectionEnum","ProfileChecklist","VenueEventType","HooMode","OpenCloseMode","MinAdvanceNoticeRangeType","InteractionStateEnum","DashboardLeadStatus","DenyVisaReason","ReservationSource","WorkspaceFreshness","ReservationType","OfficeRnDOrganizationType","OfficeRnDOrganizationConnectionType","DiagnosticsMethodRunner","ContentSecurityPolicyPlacement","DiagnosticsLogLevels","SpaceVisibility","PictureClient","ClientBase","http","baseUrl","jsonParseReviver","super","getBaseUrl","getMemberPictureViewModel","memberId","tag","signal","url_","replace","encodeURIComponent","options_","method","headers","transformOptions","then","transformedOptions_","fetch","_response","transformResult","processGetMemberPictureViewModel","response","status","_headers","forEach","v","k","text","_responseText","result200","resultData200","PictureViewModel","fromJS","throwException","Promise","resolve","AccountClient","forgotPassword","request","body","stringify","processForgotPassword","ResponseWrapper","result400","resultData400","changePassword","model","processChangePassword","personalInformation","processPersonalInformation","MemberDataModel","updatePersonalInformation","processUpdatePersonalInformation","notificationList","processNotificationList","Array","isArray","push","MemberNotificationModel","setNotificationValue","notificationSettingType","processSetNotificationValue","changeEmail","processChangeEmail","ssoMember","processSsoMember","SsoMemberModel","removeMemberSSO","ssoType","ssoId","processRemoveMemberSSO","setSocialVisibility","visibility","processSetSocialVisibility","ApiClientsClient","list","processList","ApiClientListItemViewModel","create","processCreate","result409","resultData409","get","clientId","processGet","EditableApiClientModel","result404","resultData404","patch","processPatch","delete","processDelete","contentDisposition","fileNameMatch","exec","fileName","decodeURIComponent","blob","data","BlogsClient","byTag","processByTag","BlogViewModel","BookingClient","prerequisites","processPrerequisites","BookingPrerequisitesValidationResult","representee","venueId","workspaceId","processRepresentee","BookingRepresenteeViewModel","check","processCheck","WorkspaceAvailabilityCheckViewModel","CollectionsClient","collections","processCollections","FavoriteCollectionViewModel","count","processCount","memberVenues","onlyHourlySpaces","processMemberVenues","VenueSearchResult","createCollection","newName","processCreateCollection","renameCollection","collectionId","processRenameCollection","copyCollection","processCopyCollection","deleteCollection","processDeleteCollection","collectionCollaborators","processCollectionCollaborators","CollaboratorViewModel","removeCollectionCollaborator","collaboratorId","processRemoveCollectionCollaborator","venues","processVenues","workspaces","processWorkspaces","FavoriteCollectionWorkspacesViewModel","deleteWorkspaceFromCollection","processDeleteWorkspaceFromCollection","shareCollectionData","processShareCollectionData","ShareCollectionModel","sharedCollections","processSharedCollections","deleteSharedCollection","processDeleteSharedCollection","ConciergeRequestClient","notifyMe","processNotifyMe","result401","resultData401","ConfigClient","classAndEnumConverter","processClassAndEnumConverter","ClassesAndEnumsToConvert","getMarketingStats","processGetMarketingStats","MarketingStats","getTimeZones","processGetTimeZones","key","hasOwnProperty","ConnectionsClient","connectionKind","ConnectionInfo","follow","targetUserId","processFollow","unfollow","processUnfollow","CostsClient","calculate","processCalculate","CostDetailsViewModel","CountriesClient","getCodes","forceAllCountries","processGetCodes","CountryCodeBase","listWithStates","processListWithStates","CountryCode","submitWaitlistForm","processSubmitWaitlistForm","DataRemovalRequestsClient","sendRequest","processSendRequest","ActivityReservationInternalClient","reservations","accountId","reservationsStatuses","teamId","start","end","requestId","processReservations","ActivityReservationInternalModel","ActivityReservationPrivateClient","ActivityReservationPrivateModel","reservationsCached","processReservationsCached","reservationsOverview","processReservationsOverview","ReservationOverview","reservationsOverviewCached","processReservationsOverviewCached","ActivityReservationReportClient","generate","hourlyMonthly","fileFormat","processGenerate","ActivityReservationReportStatus","reportId","ActivityReviewClient","reviews","processReviews","ActivityReview","reviewsOverview","processReviewsOverview","ReviewOverview","reviewDetails","reviewId","processReviewDetails","ActivityReviewDetails","ActivitySearchClient","searchesOverview","processSearchesOverview","SearchOverview","searches","processSearches","ActivitySearch","searchDetails","searchId","searchDate","processSearchDetails","ActivitySearchDetails","BrandingClient","BrandedOptionsModel","ContentClient","ContentItemModel","itemId","add","processAdd","order","contentOrder","processOrder","DashboardClient","dashboard","processDashboard","DashboardViewModel","dashboardCached","processDashboardCached","EnrollmentClient","EnrollmentSettingsModel","EnterpriseAccountAdminClient","AccountAdminInfoViewModel","EnterpriseAccountApiClientsClient","EnterpriseAccountApiClientListItemViewModel","EditableEnterpriseAccountApiClientViewModel","assignApiClient","processAssignApiClient","unassignApiClient","processUnassignApiClient","EnterpriseAccountBillingsClient","EnterpriseAccountBillingModel","billingId","cancel","processCancel","force","processForce","EnterpriseAccountClient","accountInfo","processAccountInfo","AccountInfoViewModel","EnterpriseAccountListViewModel","EnterpriseAccountSettingsModel","ssoUrl","processSsoUrl","teams","processTeams","TeamInfoViewModel","deleteTeam","processDeleteTeam","attachTeam","processAttachTeam","attachTeamList","processAttachTeamList","TeamListItemViewModel","AccountModel","importMessage","processImportMessage","EnterpriseAccountEventsClient","EventHistoryModel","edit","eventId","processEdit","EnterpriseAccountHeadquarterClient","getHeadquarters","processGetHeadquarters","EnterpriseAccountHeadquarterViewModel","addHeadquarter","processAddHeadquarter","getHeadquarter","headquarterId","processGetHeadquarter","deleteHeadquarter","processDeleteHeadquarter","updateHeadquarter","processUpdateHeadquarter","EnterpriseAccountMemberClient","take","TeamMemberInfoViewModel","register","invite","processRegister","TeamMemberViewModel","getInfo","processGetInfo","memberAutocomplete","emailPart","processMemberAutocomplete","MemberAutocomplete","resendInvite","processResendInvite","resendInvites","processResendInvites","result403","resultData403","spendThisMonth","processSpendThisMonth","TeamMemberSpendResponse","ratingCounters","processRatingCounters","TeamMemberRatingCounters","activity","processActivity","TeamMemberActivity","budgetSettings","processBudgetSettings","TeamMemberBudgetViewModel","updateBudgetSettings","settings","processUpdateBudgetSettings","listTeamMemberPaymentProfileSettings","processListTeamMemberPaymentProfileSettings","PaymentProfileSettingsViewModel","updateTeamMemberPaymentProfileSettings","paymentProvider","processUpdateTeamMemberPaymentProfileSettings","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","checkRegusAvailability","processCheckRegusAvailability","CheckRegusAvailabilityResponse","UserClient","UserInfoViewModel","enterpriseAccountMembership","processEnterpriseAccountMembership","UserInfoEnterpriseAccountResponse","getCounters","processGetCounters","HeaderMenuCountersViewModel","UserVenuesClient","getOwned","processGetOwned","MyVenueViewModel","getRecent","processGetRecent","getUnfinished","processGetUnfinished","SavedSearchRequestClient","savedSearchRequestId","SavedSearchRequestWithId","searchRequest","SearchAutocompleteClient","geoAutocomplete","query","processGeoAutocomplete","GeoSearchAutocomplete","liquidSpaceAutocomplete","processLiquidSpaceAutocomplete","BaseSearchAutocomplete","dropdownAutocomplete","processDropdownAutocomplete","textToSearchQuery","processTextToSearchQuery","SearchQueryAutocomplete","SearchClient","default","processDefault","VenuesSearchResult","execute","processExecute","executeSavedSearch","processExecuteSavedSearch","config","processConfig","SearchConfig","ReservationGuestsClient","ReservationMaybeMemberViewModel","processInvite","ReservationPagesClient","pager","pagerRequest","processPager","ReservationPager","page","token","processPage","ReservationsClient","applyDate","EditReservationResponse","getUrgencyStatus","processGetUrgencyStatus","getRaw","processGetRaw","ReservationRaw","closestFinishDate","processClosestFinishDate","stopAutoRenew","finishDate","processStopAutoRenew","getReservationCardPicture","processGetReservationCardPicture","ReservationsCreateClient","previewLicense","processPreviewLicense","CreateReservationResponse","ReservationVenueConfirmationsClient","set","processSet","VenueConfirmationViewModel","ReservationVisitStatesClient","checkIn","processCheckIn","checkOut","processCheckOut","wasVisited","PromotionClient","PromotionListItemViewModel","getRedemptions","processGetRedemptions","PromotionRedemptionListItemViewModel","processVisibility","validate","code","processValidate","PromotionValidationResultViewModel","getInitialCouponCode","processGetInitialCouponCode","duplicate","newCode","processDuplicate","PromotionMemberGroupsClient","PromotionMemberGroupListItemViewModel","memberGroupId","PromotionSettingsClient","PromotionSettingsViewModel","PromotionVenueGroupsClient","PromotionVenueGroupListItemViewModel","PromotionVenuesClient","PromotionVenueListItemViewModel","MessageAttachmentsClient","MessagesClient","sendMessage","targetId","subject","fromVenue","processSendMessage","SendMessageResponse","messages","filter","processMessages","MemberMessagesModel","getChain","processGetChain","MessageChain","markChainAsRead","processMarkChainAsRead","chainArchiveAction","archive","ownerType","processChainArchiveAction","existingChain","processExistingChain","deleteMessage","messageId","processDeleteMessage","MemberGroupAdminsClient","addAdmin","adminEmail","processAddAdmin","removeAdmin","userId","processRemoveAdmin","addBookingDelegate","bookingDelegateEmail","processAddBookingDelegate","removeBookingDelegate","processRemoveBookingDelegate","MemberGroupClient","MemberGroupViewModel","MemberGroupListViewModel","getMembers","processGetMembers","MemberGroupHQClient","MemberGroupHeadquarterViewModel","saveHeadquarter","headquarterModel","processSaveHeadquarter","removeHeadquarter","hqId","processRemoveHeadquarter","MarketplaceAccountsClient","MarketplaceAccount","transactions","processTransactions","MarketplaceTransaction","transactionsWithReservationStartDate","processTransactionsWithReservationStartDate","MarketplaceTransactionWithStartDate","invoices","processInvoices","MarketplaceInvoice","addInvoice","processAddInvoice","deleteInvoice","invoiceId","processDeleteInvoice","syncInvoice","processSyncInvoice","generateInvoice","periodDate","processGenerateInvoice","ManageVenueAdminsClient","admins","processAdmins","remove","processRemove","admin","processAdmin","ManageVenueClient","venueSelector","currentVenueId","processVenueSelector","VenueSelectorListItem","venueBrief","processVenueBrief","VenueBrief","removeSavedSearch","processRemoveSavedSearch","newMessagesCount","processNewMessagesCount","newMessagesCountByVenue","processNewMessagesCountByVenue","hasReservations","processHasReservations","setIntegrationOption","integrationOptionRequest","processSetIntegrationOption","processSettings","VenueSettingsModel","patchSettings","applyDefaultBookingMethodForExistingSpaces","processPatchSettings","openStatus","processOpenStatus","venueGroupMembership","processVenueGroupMembership","VenueGroupMembershipModel","priceRate","reservationStartTime","reservationCount","pricingRateType","processPriceRate","PriceRateCheckerResponse","verifyPermalink","permalinkToVerify","country","state","city","processVerifyPermalink","VerifyVenueParmalinkResult","populationPercent","processPopulationPercent","VenuePopulationPercentModel","properties","processProperties","VenuePropertiesModel","isPaymentInformationRequired","processIsPaymentInformationRequired","checklist","processChecklist","ManageVenueEventsClient","VenueEventModel","createdTicks","created","ManageVenueHooRulesClient","getExceptionHooRuleList","processGetExceptionHooRuleList","HooRuleSplitViewModel","editExceptionHooRule","processEditExceptionHooRule","getExceptionHooRule","hooRuleId","processGetExceptionHooRule","HooRuleSplitEditViewModel","deleteExceptionHooRule","processDeleteExceptionHooRule","exceptionHooRuleReorderUp","processExceptionHooRuleReorderUp","exceptionHooRuleReorderDown","processExceptionHooRuleReorderDown","getBookingWindowHooRuleList","processGetBookingWindowHooRuleList","HooRuleForBookingWindowFlexViewModel","editBookingWindowHooRule","processEditBookingWindowHooRule","getBookingWindowHooRule","processGetBookingWindowHooRule","HooRuleForBookingWindowFlexEditViewModel","deleteBookingWindowHooRule","processDeleteBookingWindowHooRule","bookingWindowHooRuleReorderUp","processBookingWindowHooRuleReorderUp","bookingWindowHooRuleReorderDown","processBookingWindowHooRuleReorderDown","ManageVenueHourlyRequestsClient","ManageVenueIntegrationsClient","loadOwners","processLoadOwners","OwnerInfoModel","loadOwnersForDeskimo","processLoadOwnersForDeskimo","exchangeConfiguration","processExchangeConfiguration","ExchangeConfigurationModel","pushToCalendar","processPushToCalendar","getOfficeRnDWorkspacesSync","processGetOfficeRnDWorkspacesSync","OfficeRnDWorkspacesSyncModel","submitOfficeRnDWorkspacesSync","processSubmitOfficeRnDWorkspacesSync","ManageVenueLeadsClient","dashboardLeadStatuses","DashboardLeadViewModel","workflowId","updateToActive","processUpdateToActive","processArchive","unarchive","processUnarchive","ManageVenueLicensesClient","uploadCustomLicensePdfTemplate","customLicensePdfTemplates","processUploadCustomLicensePdfTemplate","deleteCustomLicensePdfTemplate","processDeleteCustomLicensePdfTemplate","validateTemplate","processValidateTemplate","CheckResult","ManageVenueMembersClient","VenueMemberModel","profile","processProfile","VenueMemberProfileModel","editProfile","processEditProfile","deleteProfile","processDeleteProfile","assignVisaGET","processAssignVisaGET","AddMemberToVisaModel","assignVisaPOST","processAssignVisaPOST","ManageVenueMemberVisaStatesClient","grant","bookingDate","sync","processGrant","ChangeVisaStateReponse","deny","processDeny","ManageVenueReservationsClient","VenueReservationViewModel","ManageVenueScoreClient","venueScore","processVenueScore","VenueScoreViewModel","ManageVenueStatementsClient","VenueStatementSummaryModel","ManageVenueVisasClient","VisaInfoModel","upsert","processUpsert","visa","processVisa","VisaModel","ManageVenueWorkspacesClient","WorkspaceModel","workspacesOrder","isBooked","processIsBooked","ProBannerClient","getLiquidSpaceProOverlayModel","processGetLiquidSpaceProOverlayModel","LiquidspaceProOverlayViewModel","getLiquidspaceProEnableDate","processGetLiquidspaceProEnableDate","activateLiquidspacePro","processActivateLiquidspacePro","DeskimoIntegrationsClient","markets","processMarkets","DeskimoMarketModel","marketCode","DeskimoPropertyModel","EvoIntegrationsClient","evoApiId","processOptions","EvoOptionsModel","MicrosoftGraphIntegrationsClient","accesstoken","processCallback","MSGraphUserModel","MorningstarIntegrationsClient","OfficeRnDOrganizationsClient","OfficeRnDOrganizationListItemModel","organizationModel","organizationId","OfficeRnDOrganizationDetailsModel","savePartnerIntegrationContact","postConnectToken","processSavePartnerIntegrationContact","deletePartnerIntegration","processDeletePartnerIntegration","offices","processOffices","OfficeRndOfficeModel","OfficeRndTeamModel","OfficeRndMemberModel","RJmetisIntegrationsClient","DiagnosticsConsoleClient","getMethods","processGetMethods","DiagnosticsConsoleMethod","executeMethod","methodName","runner","parameters","processExecuteMethod","DiagnosticsConsoleRunKey","getLog","lastKnownTick","taskId","processGetLog","DiagnosticsConsoleLineViewModel","clearLog","processClearLog","DiagnosticsContentSecurityPolicyClient","ContentSecurityPolicyViewModel","DiagnosticsCryptoClient","decrypt","input","processDecrypt","encrypt","processEncrypt","DiagnosticsEmailsClient","templates","processTemplates","EmailTemplate","emailTypeName","processModel","DiagnosticsEmailModel","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","DiagnosticsWorkspaceScenariosClient","DiagnosticsWorkspaceScenarioViewModel","InternationalConfigurationClient","InternationalConfigurationModel","getDefault","processGetDefault","pictureId","pictureOwnerId","pictureUrls","imageTagConstant","pictureType","url","property","init","_data","result","tags","detail","instance","extensions","success","validationErrors","SerializableError","RecaptchaRequestBase","recaptchaToken","ForgotPasswordRequest","enterpriseAccountId","ChangePasswordModel","currentPassword","confirmPassword","newPassword","skipPasswordValidation","firstName","lastName","company","phoneNumber","postalCode","address","enabled","description","subDescription","ChangeEmailModel","confirmationPassword","enterpriseAccountApiClientsCount","isLegacyCompatibility","enterpriseAccountIds","clientSecret","subscriptionKey","allowedGrantTypes","allowedScopes","link","items","BlogItem","imgSource","categories","category","imgAlt","summary","readTime","isValid","errors","BookingPrerequisitesValidationPolicyError","requiresLogin","_discriminator","BookingPrerequisitesValidationPolicyRequiresApprovalError","agreeToShareViewModel","AgreeToShareViewModel","fullName","freeFormTextForApproval","BookingPrerequisites","NewReservationBookingPrerequisites","EditReservationBookingPrerequisites","BasedOnReservationBookingPrerequisites","startDate","startTime","durationMinutes","daysAhead","guestCount","occurenceDate","endTime","desksCount","editReservationId","numberOfSpaces","images","collectionType","collaborators","initials","pictureURL","latitude","longitude","minPrice","minPriceFormatted","imageUrl","imageUrls","workspaceTypesFormatted","averageRating","ratingCount","hasHealthAndSafetyPolicy","enterpriseHeadquarter","enterprisePreferredLocation","isExtendedNetwork","workspaceSearchResults","defaultBookingMethod","defaultBookingMethodHourly","WorkspaceSearchResult","imgUrl","price","priceAmount","priceDescription","spaceType","spaceTypeFormatted","capacity","searchScoreHint","collection","FavoriteWorkspaceViewModel","image","liquidspacePro","capacityFilterWithScenario","nRatings","bookingMethod","reservationMethod","collectionOwnerId","collectionUrl","brokerId","bmgId","shareModel","ShareModel","facebookShareUrl","twitterShareUrl","linkedInShareUrl","ConciergeRequestViewModel","spaceTypes","searchFilter","WorkspaceFilterViewModel","reservationLengthMinutes","reservationStart","workspaceCapacity","workspaceRequestType","workspaceReqEnterpriseAccountMembersImportModeuestType","teamsAndProfessionals","verifiedVenuePartners","millionTransactions","citiesCounting","workspacesCount","connectionMode","isFreePricingSchema","currency","subtotal","salesPrice","salesTax","totalPrice","amountDue","credit","duration","pricingComponents","budgetLimit","BudgetLimitModel","HourlyCostDetailsViewModel","MonthlyCostDetailsViewModel","warningMessageHtml","canExceedMaxBudget","incidentalsTotalWithTax","serviceCharge","lessDiscount","proRated","monthlyPrices","nextMonthPrice","setUpFee","editFee","serviceRetainer","CostRequest","reservationDetails","couponCode","changeWorkspaceRequest","integrationReferences","ReservationDetails","ChangeWorkspaceRequest","ReservationIntegrationReferences","HourlyReservationDetails","DaypassReservationDetails","MonthlyReservationDetails","GenericReservationDetails","RecurrentReservationDetails","recurrencePattern","recurrenceExcludedDates","quantity","autoRenew","useExistingPrice","RegusIntegrationReferences","spaceReferenceToken","StateCode","WaitlistRequest","venueName","locationCount","comment","endDate","memberFullName","memberEmail","reservationType","venueXPPUrl","guestsCount","teamName","location","spaceName","spaceTypeDescription","cost","isOutOfBudget","memberRemovedFromAccount","externalAccountId","CostInfoModel","amount","currencyPrefix","currencyRate","hourlyReservationsCount","monthlyReservationsCount","hourlySpent","monthlySpent","totalSpent","createDate","downloadReady","locationName","stars","reviewCount","cityAddress","reservationDate","source","searchesCount","executedTime","searchLocation","minCapacity","maxCapacity","searchSpaceType","resultsNumber","spaceTypesString","device","filterSettings","searchResults","ipAddress","searchedFromLat","searchedFromLong","userAgent","sourceType","ActivitySearchFilterSettingsDetails","ActivitySearchResultDetails","specificity","distance","exactDate","exactTime","maxPrice","minSize","maxSize","onlyNewWorkspaces","venueAddress","amenityStrings","neighborhoodStrings","IndividualSearchReportResult","position","bestMatchScore","rating","portalOptions","emailOptions","onboardingOptions","locationOptions","bannerOptions","headerImage","emailHeaderImage","onboardingImage","mapPinImage","mapPinImageId","BrandedPortalOptionsModel","BrandedEmailOptionsModel","BrandedOnboardingOptionsModel","BrandedLocationOptionsModel","BrandedBannerOptionsModel","subtitle","explainerText","enable","portalType","forceSignIn","isHeaderTransparent","referralEmail","BrandedMarketModel","from","programName","customEmailCss","customInviteMessage","content","useExistingUrl","videoUrl","hqPinLabel","hqPinColor","hqPinColorHover","popupTitle","popupContent","forcePopup","ContentItemAddModel","lastUpdateDate","spend","topSpenders","reservationLocations","pendingMembersCount","activeMembersCount","ratingsCount","ratingsAverage","engagedMembersCount","engagedPercent","teamsStats","performance","DashboardSpender","DashboardReservationLocation","DashboardTeamStatsViewModel","DashboardReviewInfo","reservationsCount","totalSpend","activeReservationInfo","CostInfo","DashboardReservationInfo","memberName","totalInvited","totalJoined","adoption","totalBooked","engagement","totalDedicated","totalOnDemand","invitedBooked","currencies","TeamCostInfo","amountUSD","enableAutoEnrollment","autoEnrollmentMemberGroupId","restrictByEmailDomain","emailDomains","role","AddAccountAdminModel","allowedImpersonationScopes","billingDate","invoicePdfUrl","billingItems","EnterpriseAccountBillingItemModel","feeType","periodStartDate","periodEndDate","costPerUnit","units","EnterpriseAccountBillingCreateRequest","portalUrl","logoUrl","isMarketplaceAccount","socialCollaborationPortalEnabled","marketplaceEffectiveDate","invoiceGenerationStatus","EnterpriseAccountExtendedListViewModel","plan","demandType","classification","totalAvailableMarket","serviceableAvailableMarket","currentlyAddressableMarket","ownerName","modifiedDate","memberCount","isActive","contactName","contactEmail","simpleAddress1","simpleAddress2","zip","salesRepEmail","liquidSpaceAccountManager","liquidSpaceTransactionManager","securityContact","memberLimit","teamLimit","activeDate","subscriptionCost","subscriptionTerm","socialActivityEnabled","enhancedReservationRemindersEnabled","displayExtendedNetwork","campaignOptions","financeContacts","billingPeriod","platformFee","userFee","enableBilling","billingStartDate","billingEndDate","liquidSpaceTutorials","purchaseOrderNumber","serviceChargeEnabled","enableWireTransferPayments","marketplaceInvoiceStatus","marketplaceTargetBalance","marketplacePaymentTerm","financeNotesInternal","billingPaymentTerm","customerProfileId","CampaignOptionsModel","campaignVideoEnabled","loomVideoUrl","typedObjectId","authorEmail","geofence","customCTA","GeofenceViewModel","CustomCTAViewModel","radiusMiles","notes","homeBase","createdDate","memberGroupStatus","geoCity","geoCountry","picture","team","costCenter","joinedDate","lastActivityDate","locations","extendedSearchOptions","searchSettings","ExtendedSearchOptionsModel","locationType","locationId","isGeofenceEnabled","geofenceRadiusMiles","liquidSpacePro","immutableOptions","hourlySpaceTypesWithoutTrainingArray","monthlySpaceTypesWithoutDesksArray","totalUSD","percentOfMonthlyBudget","percentOfMonthlyMemberBudget","month","createTime","originalBudgetSettings","mergedBudgetSettings","EnterpriseBudgetSettings","maxMonthlyTeamBudget","maxDailyMemberBudget","maxMonthlyMemberBudget","allowExceedBudgetLimits","overridenSettingNames","EnterpriseBudgetSettingsViewModel","paymentProfileId","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","hasRegusIntegration","PriceDisplayModel","priceDuration","priceAmountDecimal","priceAdditionalDescription","delimiter","amountBeforeDiscount","amountBeforeDiscountFormatted","discountDescription","discountCode","workspace","timeChunkStates","time","unavailabilityReason","isAvailable","nextAvailableDate","CheckAvailabilityRequest","isAuthenticated","isSuperUser","isSystemAdmin","isMemberGroupAdmin","isOrganizationAdmin","isSalesRep","isAffiliate","isEnterpriseAccountAdmin","encryptedEmail","manageVenueMode","isVenueAdminMode","memberType","hasCompletedPortalGuide","userInfoEnterpriseAccountViewModel","UserInfoEnterpriseAccountViewModel","accountName","moreVenuesTotalMessagesCount","upcomingReservationsCount","newMessagesForVenues","SavedSearchRequest","metadata","BaseSearchRequest","SavedSearchRequestMetadata","CommonSearchRequest","amenityIds","GeoSearchRequest","CurrentLocationSearchRequest","FullTextSearchRequest","VenueSearchRequest","VenueGroupSearchRequest","LocationSearchRequest","fullTextQuery","radius","prdefinedText","VenueSearchAutocomplete","CollectionSearchAutocomplete","SavedSearchRequestAutocomplete","VenueGroupSearchAutocomplete","geoQuery","isPreferred","collectionName","favoritesCount","predefinedText","venueGroupName","iconUrl","venuesCount","geoLocation","VenuesSearchResultGeoLocation","geofences","approvedMemberGroups","ExtendedSearchOptionsConfigModel","SearchGeofence","ApprovedMemberGroup","AmenityModel","radiusMeters","SearchGeofenceCustomCTA","isImmutable","displayPreferred","InviteGuestsViewModel","sendInvites","meetingTitle","securityCode","guests","Guest","ReservationPagerRequest","reservationTimeType","reservationsOwnerId","reservationEndTimeFilter","reservationStartTimeFilter","EditReservationRequest","terminateWhenTotalPriceMismatch","reservationSourcePage","ReservationRequest","campaignTrackingDetails","ReservationOrganizer","HourlyReservationRequest","DaypassReservationRequest","MonthlyReservationRequest","AnonymousReservationOrganizer","AuthenticatedReservationOrganizer","details","authorFullName","urgency","redemptionsCount","expirationDate","promotionPageLink","legalDescription","searchDescription","discountType","discountAmount","isPaidByLiquidspace","maximumSavings","reservationWindowStartTime","reservationWindowEndTime","couponCookieExpiration","maxNumberRedemptionsTotal","maxNumberRedemptionsPerUser","firstTimeUserOnly","nonOriginatedVenueOnly","firstTimeVisitNonOriginatedVenue","creditCardOnly","creditCardTypes","memberInvitedOnly","daysValidAfterMemberCreation","mobileOnly","membershipPromotionType","additionalInfoRequired","additionalInfoPlaceholderText","workspaceScenarioIds","redemptionId","redemptionDate","userGuid","chain","MessageViewModel","read","omitStripSensitiveData","messageSource","searchRequestId","hasProposal","isModerated","ownerFirstName","ownerImage","isOwn","displayVenueLink","hasHiddenText","isSpaceExpert","score","cbvScore","MessageAttachmentViewModel","contentType","previewUrl","memberPhoneNumber","memberCompany","memberEnterpriseAccountName","messageStatus","additionalStatus","isArchived","messageRules","isVenueMode","senderId","senderName","senderFirstName","senderImage","senderDeleted","senderIsSpaceExpert","venueToday","monthlyVisaId","xppUrl","workspaceLandingPageUrl","isPeriodWorkspace","isRequestToBookWorkspace","isWorkspaceInquire","monthlyMemberVisaState","tour","visaRequest","savedSearchDashboardViewModel","proposalWorkspace","lastMessageDate","lastMessageDateVTZ","readyToBookStep","showProposalActions","requestToBookUrl","scheduleTourUrl","activeVenueTourId","hasMemberEngagedWithVenue","TourViewModel","VisaRequestViewModel","SavedSearchDashboardViewModel","ProposalWorkspaceViewModel","WorkspaceOptionViewModel","Tour","tourStatus","messengerChainId","userInteractionStateWorkflowId","tourCancelReason","tourPostCompleteStatus","plannedDesksCountToBook","dateTimeUtc","workspaceImage","timeZoneAbbreviation","venueMapUrl","bookItUrl","dateTimeVenueTime","minDate","memberFirstName","workspaceStatus","bookingStartDate","memberFirstNameInitial","memberLastName","memberPictureUrl","spaceTypeWithCapacity","startDateString","stringRepresentation","isDeskSearch","messageDateString","createdDateRelative","listingsViewed","ownedListingsViewed","lastSearchTag","isRFP","rfpCompany","specialRequests","neighborhoodIds","zipcodes","SavedSearchListingInfo","scenario","workspaceType","priceDisplay","wlpUrl","desksAvailabilityStatusForProposals","isMultipleDeskBookingAllowedForWorkspace","depositMode","monthlyPrice","proposalStatus","proposalCreated","MessengerBaseViewModel","ownerDisplay","messageChains","messageTargets","messageTargetsCount","unrespondedMessagesCount","selectedChainId","composeTargetId","composeTargetName","composeTargetVenueId","composeSubject","composeBody","isAdmin","canFollow","hasSavedSearch","shareProfileLink","preferedSearchUrl","messagesFilter","isHourlyOnlyVenue","showVenueResponseRate","hasMessageChains","pendingVisaRequestCount","unconfirmedToursCount","avgLeadResponseMinutes","avgLeadResponseRate","leadRequestTotal","responsivenessDisplayAfterAmount","messengerAction","MessageTargetViewModel","MessagesFilter","imageDefaults","displayName","displayLink","reasonHtml","ctaText","phoneContact","emailContact","website","twitterHandler","bookingDelegates","userType","enableLiquidSpaceDesks","enableLiquidSpacePro","memberGroupType","defaultCollectionIds","suppressPromotionalEmails","suppressInviteEmails","requireApprovalBeforeFollow","requirePrivateCalendarVisibility","defaultPromotionId","promotions","brandedLogo","crosssiteBrandingType","disableRecurringReservations","headerMenuOptionsVisibility","leadTrackingMemberGroupId","customCss","brandedEmailLogo","MemberGroupPromotionViewModel","discountTypeString","isEnterpriseAccountDeleted","paymentTerm","invoiceStatus","targetBalance","debit","nextInvoiceDate","parentId","amountInfo","isCredit","transaction","invoiceNumber","sendDate","dueDate","invoiceUrl","autoGenerated","MarketplaceInvoiceItem","AddMarketplaceInvoiceRequest","icon","vlpUrl","userIsCalendarAdmin","userIsAdminOrOwner","enableWorkspaceAnalytics","hasVenueReservations","isSettingsDisabled","isReferralDisabled","liquidSpaceProStatus","venueBasicListingCompleted","workspaceBasicListingCompleted","integrationOption","hasIntegration","hasDeskimoIntegration","isOnlinePaymentSupported","isInternational","availableWorkspaceStatuses","licenseVersion","WorkspaceBrief","IntegrationOptionRequest","isOtherOption","supportArticleLink","venueHostGuid","streetViewParameters","percentageTax","fixedAmountTax","taxApplyType","applyTaxToIncidentals","billingContact","hours","statusNew","timeZoneId","enableElectronicSignatures","seoTitle","seoDescription","inSetupDate","launchedDate","publishedDate","claimSentDate","claimSentFollowupDate","retiredDate","professionalPhotoRank","professionalPhotoDate","venueNameSynonymsString","vlpUrlSlug","enableHostReferral","proposalCreditsTotalAmount","enableMembership","enableLeadXMLAttachments","leadDadiAccountID","externalPropertyId","gCalEndpoint","exchangeUserName","exchangeUserPass","exchangeAddress","exchangeEndpoint","ownerIdForExchangeSourcedReservations","morningStarURL","morningStarIntegrationUser","morningStarIntegrationPassword","morningStarClientId","morningStarLocationId","morningStarVisaId","morningStarDontSendInvitationEmail","rjMetisVenueId","rjMetisReservationsOwnerId","rjMetisVisaId","rjMetisSyncTenants","evoApiConnectionId","ownerIdForIOSourcedReservations","ioCenterId","evoClientId","enableMemberClientId","officeRnDOrganizationId","officeRnDOfficeId","officeRnDWebhookSecret","ownerIdForOfficeRnDSourcedReservations","officeRnDTeamForLiquidspaceSourcedReservations","officeRnDOwnerForLiquidspaceSourcedReservations","ownerIdForMSGraphSourcedReservations","msGraphId","msGraphEmail","deskimoMarketCode","deskimoPropertyReference","ownerIdForDeskimoSourcedReservations","venueHasExchangeIntegration","claimProfileLink","customLicensePdfTemplate","StreetViewModel","BillingContactModel","HoursViewModel","VenueAmenitiesModel","displayStreetView","pointOfView","zoom","PositionModel","PointOfViewModel","heading","pitch","phone","addresLine1","addresLine2","contactType","payeeName","sameAddressAsVenue","billingMethod","accountType","routingNumber","bankAccount","payPalEmailAddress","bankAndBranchNumber","taxId","allHolidays","forDayOfWeek","forHolidays","HolidayViewModel","HooRuleForDayOfWeekViewModel","HooRuleForHolidayViewModel","dates","dayOfWeek","offsetToOpening","offsetToClosing","holidayId","customGreeting","entry","parking","wiFi","VenueParkingAmenityModel","VenueWiFiAmenityModel","instructions","parkingType","networkName","hasPricingRateHourly","hasPricingRateMonthly","ratePercent","pricingRateName","urlWithoutHost","proposals","permalinkNormalized","percentValues","percent","sectionHasValues","sectionText","sectionDescription","completed","currentVenueScore","previousVenueScore","venueAdmins","VenueScoreModel","VenueAdminPropertiesModel","freshness","responsiveness","conversion","eventType","createdVenueTime","hooId","day","people","HooRuleFlexBaseViewModel","selectedWorkspaces","selectedVisas","showDescription","daysOfWeek","hooModeSelected","dateRangeStart","dateRangeEnd","openCloseModeSelected","openClosePairs","splitHoursSelected","SelectedDaysOfWeek","OpenClosePair","minNotice","maxNotice","isPeriodRule","advanceNoticeTypeSelected","advanceNotice","unavailableAfter","user","ExchangeWorkspaceModel","venueWorkspaces","OfficeRnDWorkspaceSyncModel","WorkspaceSelectListItem","officeRnDResourceId","officeRnDResourceName","OfficeRnDWorkspacesSyncSubmitModel","OfficeRnDWorkspaceSyncSubmitModel","leadDate","leadDateString","leadDateMoreThanWeekAgo","currentState","memberIsDeleted","memberEnterpriseAccountId","memberImageUrl","tourId","hasVenueRespondedToMessage","monthlyVisaState","rcpUrl","dealProposalDetailsUrl","isUpdatedMoreThanYearAgo","isDeleted","isEnterpriseAccountLead","dashboardLeadStatus","statusText","fields","CheckResultField","isModelField","isTemplateField","agreedToShareContactInfo","currentMemberVisaStateId","availableVisas","denyVisaReason","memberPackage","venueApprovalRequiredVisaIds","confirmRelation","originatingFrom","unableToProcess","redirectToCalendar","freshnessDaysSinceLastUpdate","freshnessWorkspacesCount","responseRatePercent","conversionRatePercent","conversionRateAveragePercent","workflowsTotal","venueScoreCurrent","venueScoreAverage","venueScoreDelta","hide","hourly","monthly","VenueStatementSummaryDetails","totalToVenue","incidentals","isGenerated","defaultMemberOriginationScenario","requiresMemberDataApproval","earlyCheckInMinutesPermitted","needGrantedVisaBeforeMemberCanBook","hasReservation","hasTour","hasRequestToBook","hasIncompleteFields","isDesk","WorkspaceHourlyModel","WorkspacePeriodModel","integrationExemption","minimumTermMonths","nextAvailableDateVenueTime","availableDesksCount","displayAnnouncement","spacesTabLink","hasPublicMonthlySpaces","hasPublicHourlySpaces","liquidSpaceSupportEmail","reference","centers","EvoConnectionModel","EvoCenterModel","MorningStarSettingsModel","slug","connectionTypes","webhookUrl","partnerIntegrationSettings","OfficeRnDOrganizationPartnerIntegrationDetailsModel","appClientId","accessToken","refreshToken","timestamp","expiresIn","secret","contactFullName","contactPhoneNumber","zendeskTicketId","OfficeRnDOrganizationEditModel","partnerIntegrationContactFullName","partnerIntegrationContactEmail","partnerIntegrationContactPhoneNumber","OfficeRnDOrganizationPartnerIntegrationContactEditModel","declaringTypeName","DiagnosticsConsoleMethodParameter","typeName","notBeforeTicks","ticks","taskName","placement","useReportEndpoint","reportOnly","formattedHeaderValue","timestablUtc","readonlyProperties","writableProperties","interfaces","SendTestEmailModel","recipient","isPaused","pooledEvents","deletedActivityCount","upsertedActivityCount","lastProcessed","lastErrorCount","eventTickCount","deploymentId","roleInstance","level","pid","tid","messageType","exception","lastActivity","machineType","syncMode","quarantineMessage","QuarantineMessage","retryCount","envelopeBodyId","queueName","compressed","longDescription","EditableInternationalConfigurationModel","merchantAccountId","allowCreditCardPayments","onDemandServiceChargeEnabled","onDemandServiceChargePercentage","hourlySpaceVisibility","monthlySpaceVisibility","allowSearching","allowNewListings","allowVenueBilledPayments","allowACHPayments","ApiException","isApiException","withoutLeftRightPaddings","RBS_ModalBody","lightWordsCount","cssModule","closeBtn","ModalCloseButton","RBS_ModalHeader","close","splitWords","words","onlyText","split","slice","join","ETag","Symbol","onError","defaultUrl","LiquidSpaceConfig","LSWebUICoreURL","processor","etag","defineProperty","enumerable","ex","handleApiException","redirectURL","pathname","responseContentType","indexOf","LSCommon","Models","BlockedUserMessageType","Blocked","Locked","URL","credentials","btnClasses","Icons","DesignContextProvider"],"sourceRoot":""}