UNPKG

officernd-mcp-server

Version:

MCP server for OfficeRnD workspace management - create, search, update and cancel bookings

287 lines 6.86 kB
export interface TokenResponse { access_token: string; token_type: string; expires_in: number; scope: string; } export interface BookingSearchParams { bookingId?: string; companyId?: string; memberId?: string; locationId?: string; resourceId?: string; seriesStartFrom?: string; seriesStartTo?: string; seriesEndFrom?: string; seriesEndTo?: string; /** Maximum number of results to return (1-50). OfficeRnD API has a hard cap of 50. */ limit?: number; cursorNext?: string; cursorPrev?: string; fields?: string[]; } export interface Booking { _id: string; timezone: string; start: string; end: string; member?: string | null; company?: string; location?: string; resource?: string; title?: string; rate?: string; isTentative?: boolean; isCancelled?: boolean; isAccounted?: boolean; fees: Fee[]; recurrence: { rrule: string | null; }; reference: string; visitors: any[]; members: any[]; serviceSlots: { before: number; after: number; }; createdAt: string; createdBy: string; modifiedAt: string; modifiedBy: string; } export interface Fee { date: string; extraFees: any[]; passes: any[]; credits: Credit[]; coins: any[]; } export interface Credit { count: number; credit: string; } export interface BookingSearchResponse { rangeStart: number; rangeEnd: number; cursorNext?: string; cursorPrev?: string; results: Booking[]; } export interface MemberSearchParams { memberId?: string; name?: string; email?: string; locationId?: string; companyId?: string; status?: 'active' | 'former'; createdAtFrom?: string; createdAtTo?: string; modifiedAtFrom?: string; modifiedAtTo?: string; /** Maximum number of results to return (1-50). OfficeRnD API has a hard cap of 50. */ limit?: number; cursorNext?: string; cursorPrev?: string; sort?: string; fields?: string[]; } export interface Member { _id: string; name: string; email: string; location: string; company: string; status: 'active' | 'former'; startDate?: string; createdAt: string; modifiedAt: string; properties?: Record<string, any>; } export interface MemberSearchResponse { rangeStart: number; rangeEnd: number; cursorNext?: string; cursorPrev?: string; results: Member[]; } export interface ResourceSearchParams { resourceId?: string; name?: string; locationId?: string; resourceTypeId?: string; /** Maximum number of results to return (1-50). OfficeRnD API has a hard cap of 50. */ limit?: number; cursorNext?: string; cursorPrev?: string; sort?: string; fields?: string[]; } export interface Resource { _id: string; name: string; type: string; location: string; timezone?: string; description?: string; capacity?: number; floor?: string; image?: string; images?: string[]; amenities?: string[]; properties?: Record<string, any>; bookable?: boolean; visible?: boolean; archived?: boolean; createdAt: string; modifiedAt: string; createdBy?: string; modifiedBy?: string; } export interface ResourceSearchResponse { rangeStart: number; rangeEnd: number; cursorNext?: string; cursorPrev?: string; results: Resource[]; } export interface ResourceType { _id: string; name: string; code: string; description?: string; icon?: string; bookable: boolean; billable: boolean; allowMultipleBookings?: boolean; properties?: Record<string, any>; createdAt: string; modifiedAt: string; } export interface ResourceTypeSearchResponse { rangeStart: number; rangeEnd: number; cursorNext?: string; cursorPrev?: string; results: ResourceType[]; } export interface CompanySearchParams { companyId?: string; name?: string; email?: string; locationId?: string; status?: 'active' | 'former'; createdAtFrom?: string; createdAtTo?: string; modifiedAtFrom?: string; modifiedAtTo?: string; /** Maximum number of results to return (1-50). OfficeRnD API has a hard cap of 50. */ limit?: number; cursorNext?: string; cursorPrev?: string; sort?: string; fields?: string[]; } export interface Company { _id: string; name: string; email?: string; location?: string; status?: 'active' | 'former'; phone?: string; website?: string; address?: string; description?: string; properties?: Record<string, any>; createdAt: string; modifiedAt: string; createdBy?: string; modifiedBy?: string; } export interface CompanySearchResponse { rangeStart: number; rangeEnd: number; cursorNext?: string; cursorPrev?: string; results: Company[]; } export interface CreateBookingParams { start: string; end: string; resource: string; member?: string; company?: string; title?: string; description?: string; visitors?: string[]; members?: string[]; isTentative?: boolean; isPrivate?: boolean; isFree?: boolean; recurrence?: { rrule?: string; exdate?: string[]; }; } export interface UpdateBookingParams { start?: string; end?: string; resource?: string; member?: string; company?: string; title?: string; description?: string; visitors?: string[]; members?: string[]; isTentative?: boolean; isPrivate?: boolean; isFree?: boolean; recurrence?: { rrule?: string; exdate?: string[]; }; } export interface CancelBookingResponse { success: boolean; booking?: Booking; message?: string; } export interface ResourceRateSearchParams { resourceRateId?: string; resourceId?: string; name?: string; /** Maximum number of results to return (1-50). OfficeRnD API has a hard cap of 50. */ limit?: number; cursorNext?: string; cursorPrev?: string; sort?: string; fields?: string[]; } export interface ResourceRate { _id: string; name: string; resource: string; price: number; currency: string; period: 'hour' | 'day' | 'week' | 'month' | 'year'; minDuration?: number; maxDuration?: number; description?: string; isDefault?: boolean; isActive?: boolean; validFrom?: string; validTo?: string; properties?: Record<string, any>; createdAt: string; modifiedAt: string; createdBy?: string; modifiedBy?: string; } export interface ResourceRateSearchResponse { rangeStart: number; rangeEnd: number; cursorNext?: string; cursorPrev?: string; results: ResourceRate[]; } //# sourceMappingURL=types.d.ts.map