UNPKG

hostex-ts

Version:

TypeScript client library for the Hostex API v3.0.0 (Beta)

85 lines 3.82 kB
/** * Hostex API Client * TypeScript client library for Hostex API v3.0.0 (Beta) */ import { HostexAPIResponse, Property, RoomType, Reservation, Conversation, Review, Webhook, CustomChannel, IncomeMethod, ListPropertiesParams, ListRoomTypesParams, ListReservationsParams, CreateReservationData, ListAvailabilitiesParams, UpdateAvailabilitiesData, GetListingCalendarData, UpdateListingPricesData, UpdateListingInventoriesData, UpdateListingRestrictionsData, ListConversationsParams, SendMessageData, ListReviewsParams, CreateReviewData, PostGuestReviewData, LoginData } from './types.js'; export interface HostexClientConfig { accessToken: string; baseUrl?: string; webAppBaseUrl?: string; operatorId?: string; timeout?: number; } export declare class HostexClient { private accessToken; private baseUrl; private webAppBaseUrl; private operatorId; private timeout; private sessionCookies; constructor(config: HostexClientConfig); private request; private webAppRequest; listProperties(params?: ListPropertiesParams): Promise<HostexAPIResponse<{ properties: Property[]; total: number; }>>; listRoomTypes(params?: ListRoomTypesParams): Promise<HostexAPIResponse<{ room_types: RoomType[]; total: number; }>>; listReservations(params?: ListReservationsParams): Promise<HostexAPIResponse<{ reservations: Reservation[]; total: number; }>>; createReservation(data: CreateReservationData): Promise<HostexAPIResponse<{ reservation: Reservation; }>>; cancelReservation(reservationCode: string): Promise<HostexAPIResponse>; updateLockCode(stayCode: string, lockCode: string): Promise<HostexAPIResponse>; getCustomFields(stayCode: string): Promise<HostexAPIResponse<{ custom_fields: Record<string, any>; }>>; updateCustomFields(stayCode: string, customFields: Record<string, any>): Promise<HostexAPIResponse>; listAvailabilities(params: ListAvailabilitiesParams): Promise<HostexAPIResponse<{ listings: any[]; }>>; updateAvailabilities(data: UpdateAvailabilitiesData): Promise<HostexAPIResponse>; getListingCalendar(data: GetListingCalendarData): Promise<HostexAPIResponse<{ listings: any[]; }>>; updateListingPrices(data: UpdateListingPricesData): Promise<HostexAPIResponse>; updateListingInventories(data: UpdateListingInventoriesData): Promise<HostexAPIResponse>; updateListingRestrictions(data: UpdateListingRestrictionsData): Promise<HostexAPIResponse>; listConversations(params?: ListConversationsParams): Promise<HostexAPIResponse<{ conversations: Conversation[]; total: number; }>>; getConversation(conversationId: string): Promise<HostexAPIResponse<{ guest: any; channel_type: string; messages: any[]; }>>; sendMessage(conversationId: string, data: SendMessageData): Promise<HostexAPIResponse>; listReviews(params?: ListReviewsParams): Promise<HostexAPIResponse<{ reviews: Review[]; total: number; }>>; createReview(reservationCode: string, data: CreateReviewData): Promise<HostexAPIResponse>; login(data: LoginData): Promise<HostexAPIResponse>; postGuestReview(data: PostGuestReviewData): Promise<HostexAPIResponse>; listWebhooks(): Promise<HostexAPIResponse<{ webhooks: Webhook[]; }>>; createWebhook(url: string): Promise<HostexAPIResponse<{ webhook: Webhook; }>>; deleteWebhook(webhookId: number): Promise<HostexAPIResponse>; listCustomChannels(): Promise<HostexAPIResponse<{ custom_channels: CustomChannel[]; }>>; listIncomeMethods(): Promise<HostexAPIResponse<{ income_methods: IncomeMethod[]; }>>; } //# sourceMappingURL=client.d.ts.map