@bookinglab/booking-journey-api 2.8.0 → 2.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -412,6 +412,8 @@ const client = useJrniClient();
412
412
  - `useService(id)` - Get a specific service
413
413
  - `useSendCustomEmail(companyId, clientToken)` - Send a custom email
414
414
  - `useBookingLabForgotPassword(companyId, clientToken)` - Request a password reset email
415
+ - `useBookingLabConfig(request, clientToken, enabled?)` - Fetch company configuration and branding
416
+ - `useBookingLabGetToken(request, clientToken, enabled?)` - Fetch a token for a client/company
415
417
  - `useBookingLabClient()` - Access the BookingLab client directly
416
418
 
417
419
  ```typescript
package/dist/index.d.cts CHANGED
@@ -1074,6 +1074,154 @@ interface BookingLabForgotPasswordResponse {
1074
1074
  result: string;
1075
1075
  message: string;
1076
1076
  }
1077
+ interface BookingLabConfigRequest {
1078
+ client: string;
1079
+ company: number;
1080
+ }
1081
+ interface BookingLabConfigPage {
1082
+ pageTitle?: string;
1083
+ pageGuidance?: string;
1084
+ termsAndConditions?: string;
1085
+ privacyStatment?: string;
1086
+ [key: string]: unknown;
1087
+ }
1088
+ interface BookingLabConfigUserJourney {
1089
+ pages?: Record<string, BookingLabConfigPage>;
1090
+ [key: string]: unknown;
1091
+ }
1092
+ interface BookingLabConfigProduct {
1093
+ userJourney?: BookingLabConfigUserJourney;
1094
+ [key: string]: unknown;
1095
+ }
1096
+ interface BookingLabConfigResponse {
1097
+ company: number;
1098
+ companyName: string;
1099
+ requireLogin?: boolean;
1100
+ favicon?: string;
1101
+ favicon_link?: string;
1102
+ footer_colour?: string;
1103
+ header_colour?: string;
1104
+ header_text?: string;
1105
+ host?: string;
1106
+ logo?: string;
1107
+ logo_link?: string;
1108
+ page_title?: string;
1109
+ text_colour?: string;
1110
+ terms?: string;
1111
+ cache?: Record<string, unknown>;
1112
+ [key: string]: unknown;
1113
+ }
1114
+ interface BookingLabGetTokenRequest {
1115
+ client: string;
1116
+ company: number;
1117
+ }
1118
+ interface BookingLabGetTokenResponse {
1119
+ [key: string]: unknown;
1120
+ }
1121
+ interface BookingLabService {
1122
+ id: number;
1123
+ category_id: number;
1124
+ name: string;
1125
+ description: string;
1126
+ durations: number[];
1127
+ prices: number[];
1128
+ detail_group_id: number;
1129
+ listed_durations: any[];
1130
+ extra?: Record<string, any>;
1131
+ booking_time_step: number;
1132
+ can_refund_automatically: boolean;
1133
+ is_event_group: boolean;
1134
+ type: string;
1135
+ group_id: number | null;
1136
+ deleted: boolean;
1137
+ queuing_disabled: boolean;
1138
+ company_id: number;
1139
+ min_advance_period: number;
1140
+ max_advance_period: number;
1141
+ min_cancel_period: number;
1142
+ booking_type_public: string;
1143
+ booking_type: number;
1144
+ mbooking_type: number;
1145
+ min_bookings: number;
1146
+ max_bookings: number;
1147
+ method_of_appointment: string;
1148
+ groups: any[];
1149
+ spaces?: number;
1150
+ order: number;
1151
+ child_level_service: boolean;
1152
+ global_id: number;
1153
+ availability: number;
1154
+ prices_in_major_units: number[];
1155
+ combine_resource_and_staff: boolean;
1156
+ disabled: boolean;
1157
+ _links: Record<string, any>;
1158
+ [key: string]: any;
1159
+ }
1160
+ interface BookingLabGetServicesResponse {
1161
+ total_entries: number;
1162
+ _embedded: {
1163
+ services: BookingLabService[];
1164
+ };
1165
+ _links: Record<string, any>;
1166
+ }
1167
+ interface BookingLabCompany {
1168
+ id: number;
1169
+ name: string;
1170
+ description?: string;
1171
+ company_type?: string;
1172
+ extra?: Record<string, any>;
1173
+ address_id?: number;
1174
+ website?: string;
1175
+ multi_status?: string[];
1176
+ numeric_widget_id?: number;
1177
+ currency_code?: string;
1178
+ timezone?: string;
1179
+ country_code?: string;
1180
+ live?: boolean;
1181
+ ref?: string;
1182
+ created_at?: string;
1183
+ updated_at?: string;
1184
+ children_count?: number;
1185
+ locale?: string;
1186
+ available_locales?: string[];
1187
+ membership_id?: number;
1188
+ address?: Record<string, any>;
1189
+ _embedded?: Record<string, any>;
1190
+ _links?: Record<string, any>;
1191
+ parent?: number;
1192
+ [key: string]: any;
1193
+ }
1194
+ interface BookingLabGetCompaniesParams {
1195
+ service_id?: number;
1196
+ person_id?: number;
1197
+ }
1198
+ type BookingLabGetCompaniesResponse = BookingLabCompany[];
1199
+ interface BookingLabQuestion {
1200
+ id: number;
1201
+ name: string;
1202
+ required: boolean;
1203
+ important: boolean;
1204
+ admin_only: boolean;
1205
+ applies_to: number;
1206
+ ask_member: boolean;
1207
+ detail_type: string;
1208
+ settings: Record<string, any>;
1209
+ price: number;
1210
+ price_per_booking: boolean;
1211
+ outcome: boolean;
1212
+ hide_on_customer_journey: boolean;
1213
+ _links?: Record<string, any>;
1214
+ [key: string]: any;
1215
+ }
1216
+ interface BookingLabGetQuestionsResponse {
1217
+ company_id: number;
1218
+ questions: BookingLabQuestion[];
1219
+ name: string;
1220
+ admin?: any;
1221
+ outcome?: any;
1222
+ _links?: Record<string, any>;
1223
+ [key: string]: any;
1224
+ }
1077
1225
 
1078
1226
  /**
1079
1227
  * Core API Client
@@ -1216,6 +1364,44 @@ declare class BookingLabClient extends ApiClient {
1216
1364
  * @param clientToken - Client token for authentication
1217
1365
  */
1218
1366
  forgotPassword(companyId: number, request: BookingLabForgotPasswordRequest, clientToken: string): Promise<ApiResponse<BookingLabForgotPasswordResponse>>;
1367
+ /**
1368
+ * Get company configuration
1369
+ * @param request - Config request with client and company
1370
+ * @param clientToken - Client token for authentication
1371
+ */
1372
+ getConfig(request: BookingLabConfigRequest, clientToken: string): Promise<ApiResponse<BookingLabConfigResponse>>;
1373
+ /**
1374
+ * Get a token for a client/company
1375
+ * @param request - Token request with client and company
1376
+ * @param clientToken - Client token for authentication
1377
+ */
1378
+ getToken(request: BookingLabGetTokenRequest, clientToken: string): Promise<ApiResponse<BookingLabGetTokenResponse>>;
1379
+ /**
1380
+ * Get services for a company
1381
+ * @param companyId - The company ID
1382
+ * @param clientToken - Client token for authentication
1383
+ */
1384
+ getCompanyServices(companyId: number, clientToken: string): Promise<ApiResponse<BookingLabGetServicesResponse>>;
1385
+ /**
1386
+ * Get a single service by ID for a company
1387
+ * @param companyId - The company ID
1388
+ * @param serviceId - The service ID
1389
+ * @param clientToken - Client token for authentication
1390
+ */
1391
+ getCompanyService(companyId: number, serviceId: number, clientToken: string): Promise<ApiResponse<BookingLabService>>;
1392
+ /**
1393
+ * Get all companies
1394
+ * @param clientToken - Client token for authentication
1395
+ * @param params - Optional query params (service_id, person_id)
1396
+ */
1397
+ getCompanies(clientToken: string, params?: BookingLabGetCompaniesParams): Promise<ApiResponse<BookingLabGetCompaniesResponse>>;
1398
+ /**
1399
+ * Get questions for a company by detail group ID
1400
+ * @param companyId - The company ID
1401
+ * @param detailGroupId - The detail group ID
1402
+ * @param clientToken - Client token for authentication
1403
+ */
1404
+ getCompanyQuestions(companyId: number, detailGroupId: number, clientToken: string): Promise<ApiResponse<BookingLabGetQuestionsResponse>>;
1219
1405
  }
1220
1406
  /**
1221
1407
  * Create a new BookingLab client instance
@@ -1612,5 +1798,49 @@ declare function useSendCustomEmail(companyId: number, clientToken: string): _ta
1612
1798
  * @param clientToken - Client token for authentication
1613
1799
  */
1614
1800
  declare function useBookingLabForgotPassword(companyId: number, clientToken: string): _tanstack_react_query.UseMutationResult<BookingLabForgotPasswordResponse, Error, BookingLabForgotPasswordRequest, unknown>;
1801
+ /**
1802
+ * Hook for fetching BookingLab company configuration
1803
+ * @param request - Config request with client and company
1804
+ * @param clientToken - Client token for authentication
1805
+ * @param enabled - Whether the query should run
1806
+ */
1807
+ declare function useBookingLabConfig(request: BookingLabConfigRequest, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabConfigResponse, Error>;
1808
+ /**
1809
+ * Hook for getting a BookingLab token
1810
+ * @param request - Token request with client and company
1811
+ * @param clientToken - Client token for authentication
1812
+ * @param enabled - Whether the query should run
1813
+ */
1814
+ declare function useBookingLabGetToken(request: BookingLabGetTokenRequest, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetTokenResponse, Error>;
1815
+ /**
1816
+ * Hook for fetching services for a company (BookingLab)
1817
+ * @param companyId - The company ID
1818
+ * @param clientToken - Client token for authentication
1819
+ * @param enabled - Whether the query should run
1820
+ */
1821
+ declare function useBookingLabServices(companyId: number, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetServicesResponse, Error>;
1822
+ /**
1823
+ * Hook for fetching a single service for a company by ID (BookingLab)
1824
+ * @param companyId - The company ID
1825
+ * @param serviceId - The service ID
1826
+ * @param clientToken - Client token for authentication
1827
+ * @param enabled - Whether the query should run
1828
+ */
1829
+ declare function useBookingLabService(companyId: number, serviceId: number, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabService, Error>;
1830
+ /**
1831
+ * Hook for fetching all companies (BookingLab)
1832
+ * @param clientToken - Client token for authentication
1833
+ * @param params - Optional query params (service_id, person_id)
1834
+ * @param enabled - Whether the query should run
1835
+ */
1836
+ declare function useBookingLabCompanies(clientToken: string, params?: BookingLabGetCompaniesParams, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetCompaniesResponse, Error>;
1837
+ /**
1838
+ * Hook for fetching questions for a company by detail group (BookingLab)
1839
+ * @param companyId - The company ID
1840
+ * @param detailGroupId - The detail group ID
1841
+ * @param clientToken - Client token for authentication
1842
+ * @param enabled - Whether the query should run
1843
+ */
1844
+ declare function useBookingLabQuestions(companyId: number, detailGroupId: number, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetQuestionsResponse, Error>;
1615
1845
 
1616
- export { type AddBasketItemRequest, type AddServiceItemAssets, type AddServiceItemQuestion, type AddServiceItemRequest, ApiClient, type ApiClientConfig, ApiClientContext, ApiClientProvider, type ApiError, type ApiResponse, type AvailabilityTime, type AvailabilityTimesResponse, type Booking, type BookingAnswer, BookingLabClient, BookingLabContext, type BookingLabForgotPasswordRequest, type BookingLabForgotPasswordResponse, BookingLabProvider, type BookingPaymentItem, type BookingSettings, type CancelBookingRequest, type CancelBookingResponse, type CancelMemberBookingResponse, type CheckoutBasketClient, type CheckoutBasketRequest, type CheckoutBasketResponse, type ChildCompaniesResponse, type ChildCompany, type ChildCompanyAddress, type ChildCompanySettings, type ClearBasketsResponse, type ClientDetailsQuestion, type ClientDetailsResponse, type CompanyResponse, type CompanySettings, type CreateBasketRequest, type CreateBasketResponse, type CreateBookingRequest, type CreateClientRequest, type CreateClientResponse, type DateSlot, type DatesResponse, type FindClientByEmailResponse, type ForgottenPasswordRequest, type ForgottenPasswordResponse, type GetChildCompaniesParams, type GetDatesParams, type GetMemberResponse, type GetQuestionsParams, type GetTimesParams, type JrniBooking, JrniClient, type JrniConfig, JrniContext, JrniProvider, type JrniService, type ListBookingsParams, type ListBookingsResponse, type Location, type LocationsResponse, type LoginRequest, type LoginResponse, type MemberBooking, type MemberBookingsResponse, MemberType, type PersonImage, type PersonImagesResponse, type Question, type QuestionOption, type QuestionsResponse, type RequestOptions, type RescheduleBookingRequest, type RescheduleBookingResponse, type ResetPasswordRequest, type Resource, type ResourceLinks, type ResourcesResponse, type SendCustomEmailRequest, type SendCustomEmailResponse, type Service, type ServiceItemResponse, type ServicesResponse, type TimeSlot, type TimesResponse, type UpdateClientAnswer, type UpdateClientAnswerEntry, type UpdateClientDetailsData, type UpdateClientExtraInfo, type UpdateClientNotificationPreferences, type UpdateClientQuestionEntry, type UpdateClientRequest, type UpdateClientResponse, type UpdateMemberDetailsData, type UpdateMemberRequest, type UpdateMemberResponse, type Vehicle, type VehiclesResponse, createBookingLabClient, createJrniClient, useAddServiceItem, useApiClientContext, useBookingLabClient, useBookingLabContext, useBookingLabForgotPassword, useCancelBooking, useCancelMemberBooking, useCheckoutBasket, useChildCompanies, useClearBaskets, useClientDetails, useCompany, useCreateBasket, useCreateClient, useDates, useFindClientByEmail, useForgottenPassword, useGetMember, useJrniClient, useJrniContext, useListBookings, useLogin, useQuestions, useRescheduleBooking, useResetPassword, useResources, useSendCustomEmail, useServices, useTimes, useUpdateClient, useUpdateMember };
1846
+ export { type AddBasketItemRequest, type AddServiceItemAssets, type AddServiceItemQuestion, type AddServiceItemRequest, ApiClient, type ApiClientConfig, ApiClientContext, ApiClientProvider, type ApiError, type ApiResponse, type AvailabilityTime, type AvailabilityTimesResponse, type Booking, type BookingAnswer, BookingLabClient, type BookingLabCompany, type BookingLabConfigPage, type BookingLabConfigProduct, type BookingLabConfigRequest, type BookingLabConfigResponse, type BookingLabConfigUserJourney, BookingLabContext, type BookingLabForgotPasswordRequest, type BookingLabForgotPasswordResponse, type BookingLabGetCompaniesParams, type BookingLabGetCompaniesResponse, type BookingLabGetQuestionsResponse, type BookingLabGetServicesResponse, type BookingLabGetTokenRequest, type BookingLabGetTokenResponse, BookingLabProvider, type BookingLabQuestion, type BookingLabService, type BookingPaymentItem, type BookingSettings, type CancelBookingRequest, type CancelBookingResponse, type CancelMemberBookingResponse, type CheckoutBasketClient, type CheckoutBasketRequest, type CheckoutBasketResponse, type ChildCompaniesResponse, type ChildCompany, type ChildCompanyAddress, type ChildCompanySettings, type ClearBasketsResponse, type ClientDetailsQuestion, type ClientDetailsResponse, type CompanyResponse, type CompanySettings, type CreateBasketRequest, type CreateBasketResponse, type CreateBookingRequest, type CreateClientRequest, type CreateClientResponse, type DateSlot, type DatesResponse, type FindClientByEmailResponse, type ForgottenPasswordRequest, type ForgottenPasswordResponse, type GetChildCompaniesParams, type GetDatesParams, type GetMemberResponse, type GetQuestionsParams, type GetTimesParams, type JrniBooking, JrniClient, type JrniConfig, JrniContext, JrniProvider, type JrniService, type ListBookingsParams, type ListBookingsResponse, type Location, type LocationsResponse, type LoginRequest, type LoginResponse, type MemberBooking, type MemberBookingsResponse, MemberType, type PersonImage, type PersonImagesResponse, type Question, type QuestionOption, type QuestionsResponse, type RequestOptions, type RescheduleBookingRequest, type RescheduleBookingResponse, type ResetPasswordRequest, type Resource, type ResourceLinks, type ResourcesResponse, type SendCustomEmailRequest, type SendCustomEmailResponse, type Service, type ServiceItemResponse, type ServicesResponse, type TimeSlot, type TimesResponse, type UpdateClientAnswer, type UpdateClientAnswerEntry, type UpdateClientDetailsData, type UpdateClientExtraInfo, type UpdateClientNotificationPreferences, type UpdateClientQuestionEntry, type UpdateClientRequest, type UpdateClientResponse, type UpdateMemberDetailsData, type UpdateMemberRequest, type UpdateMemberResponse, type Vehicle, type VehiclesResponse, createBookingLabClient, createJrniClient, useAddServiceItem, useApiClientContext, useBookingLabClient, useBookingLabCompanies, useBookingLabConfig, useBookingLabContext, useBookingLabForgotPassword, useBookingLabGetToken, useBookingLabQuestions, useBookingLabService, useBookingLabServices, useCancelBooking, useCancelMemberBooking, useCheckoutBasket, useChildCompanies, useClearBaskets, useClientDetails, useCompany, useCreateBasket, useCreateClient, useDates, useFindClientByEmail, useForgottenPassword, useGetMember, useJrniClient, useJrniContext, useListBookings, useLogin, useQuestions, useRescheduleBooking, useResetPassword, useResources, useSendCustomEmail, useServices, useTimes, useUpdateClient, useUpdateMember };
package/dist/index.d.ts CHANGED
@@ -1074,6 +1074,154 @@ interface BookingLabForgotPasswordResponse {
1074
1074
  result: string;
1075
1075
  message: string;
1076
1076
  }
1077
+ interface BookingLabConfigRequest {
1078
+ client: string;
1079
+ company: number;
1080
+ }
1081
+ interface BookingLabConfigPage {
1082
+ pageTitle?: string;
1083
+ pageGuidance?: string;
1084
+ termsAndConditions?: string;
1085
+ privacyStatment?: string;
1086
+ [key: string]: unknown;
1087
+ }
1088
+ interface BookingLabConfigUserJourney {
1089
+ pages?: Record<string, BookingLabConfigPage>;
1090
+ [key: string]: unknown;
1091
+ }
1092
+ interface BookingLabConfigProduct {
1093
+ userJourney?: BookingLabConfigUserJourney;
1094
+ [key: string]: unknown;
1095
+ }
1096
+ interface BookingLabConfigResponse {
1097
+ company: number;
1098
+ companyName: string;
1099
+ requireLogin?: boolean;
1100
+ favicon?: string;
1101
+ favicon_link?: string;
1102
+ footer_colour?: string;
1103
+ header_colour?: string;
1104
+ header_text?: string;
1105
+ host?: string;
1106
+ logo?: string;
1107
+ logo_link?: string;
1108
+ page_title?: string;
1109
+ text_colour?: string;
1110
+ terms?: string;
1111
+ cache?: Record<string, unknown>;
1112
+ [key: string]: unknown;
1113
+ }
1114
+ interface BookingLabGetTokenRequest {
1115
+ client: string;
1116
+ company: number;
1117
+ }
1118
+ interface BookingLabGetTokenResponse {
1119
+ [key: string]: unknown;
1120
+ }
1121
+ interface BookingLabService {
1122
+ id: number;
1123
+ category_id: number;
1124
+ name: string;
1125
+ description: string;
1126
+ durations: number[];
1127
+ prices: number[];
1128
+ detail_group_id: number;
1129
+ listed_durations: any[];
1130
+ extra?: Record<string, any>;
1131
+ booking_time_step: number;
1132
+ can_refund_automatically: boolean;
1133
+ is_event_group: boolean;
1134
+ type: string;
1135
+ group_id: number | null;
1136
+ deleted: boolean;
1137
+ queuing_disabled: boolean;
1138
+ company_id: number;
1139
+ min_advance_period: number;
1140
+ max_advance_period: number;
1141
+ min_cancel_period: number;
1142
+ booking_type_public: string;
1143
+ booking_type: number;
1144
+ mbooking_type: number;
1145
+ min_bookings: number;
1146
+ max_bookings: number;
1147
+ method_of_appointment: string;
1148
+ groups: any[];
1149
+ spaces?: number;
1150
+ order: number;
1151
+ child_level_service: boolean;
1152
+ global_id: number;
1153
+ availability: number;
1154
+ prices_in_major_units: number[];
1155
+ combine_resource_and_staff: boolean;
1156
+ disabled: boolean;
1157
+ _links: Record<string, any>;
1158
+ [key: string]: any;
1159
+ }
1160
+ interface BookingLabGetServicesResponse {
1161
+ total_entries: number;
1162
+ _embedded: {
1163
+ services: BookingLabService[];
1164
+ };
1165
+ _links: Record<string, any>;
1166
+ }
1167
+ interface BookingLabCompany {
1168
+ id: number;
1169
+ name: string;
1170
+ description?: string;
1171
+ company_type?: string;
1172
+ extra?: Record<string, any>;
1173
+ address_id?: number;
1174
+ website?: string;
1175
+ multi_status?: string[];
1176
+ numeric_widget_id?: number;
1177
+ currency_code?: string;
1178
+ timezone?: string;
1179
+ country_code?: string;
1180
+ live?: boolean;
1181
+ ref?: string;
1182
+ created_at?: string;
1183
+ updated_at?: string;
1184
+ children_count?: number;
1185
+ locale?: string;
1186
+ available_locales?: string[];
1187
+ membership_id?: number;
1188
+ address?: Record<string, any>;
1189
+ _embedded?: Record<string, any>;
1190
+ _links?: Record<string, any>;
1191
+ parent?: number;
1192
+ [key: string]: any;
1193
+ }
1194
+ interface BookingLabGetCompaniesParams {
1195
+ service_id?: number;
1196
+ person_id?: number;
1197
+ }
1198
+ type BookingLabGetCompaniesResponse = BookingLabCompany[];
1199
+ interface BookingLabQuestion {
1200
+ id: number;
1201
+ name: string;
1202
+ required: boolean;
1203
+ important: boolean;
1204
+ admin_only: boolean;
1205
+ applies_to: number;
1206
+ ask_member: boolean;
1207
+ detail_type: string;
1208
+ settings: Record<string, any>;
1209
+ price: number;
1210
+ price_per_booking: boolean;
1211
+ outcome: boolean;
1212
+ hide_on_customer_journey: boolean;
1213
+ _links?: Record<string, any>;
1214
+ [key: string]: any;
1215
+ }
1216
+ interface BookingLabGetQuestionsResponse {
1217
+ company_id: number;
1218
+ questions: BookingLabQuestion[];
1219
+ name: string;
1220
+ admin?: any;
1221
+ outcome?: any;
1222
+ _links?: Record<string, any>;
1223
+ [key: string]: any;
1224
+ }
1077
1225
 
1078
1226
  /**
1079
1227
  * Core API Client
@@ -1216,6 +1364,44 @@ declare class BookingLabClient extends ApiClient {
1216
1364
  * @param clientToken - Client token for authentication
1217
1365
  */
1218
1366
  forgotPassword(companyId: number, request: BookingLabForgotPasswordRequest, clientToken: string): Promise<ApiResponse<BookingLabForgotPasswordResponse>>;
1367
+ /**
1368
+ * Get company configuration
1369
+ * @param request - Config request with client and company
1370
+ * @param clientToken - Client token for authentication
1371
+ */
1372
+ getConfig(request: BookingLabConfigRequest, clientToken: string): Promise<ApiResponse<BookingLabConfigResponse>>;
1373
+ /**
1374
+ * Get a token for a client/company
1375
+ * @param request - Token request with client and company
1376
+ * @param clientToken - Client token for authentication
1377
+ */
1378
+ getToken(request: BookingLabGetTokenRequest, clientToken: string): Promise<ApiResponse<BookingLabGetTokenResponse>>;
1379
+ /**
1380
+ * Get services for a company
1381
+ * @param companyId - The company ID
1382
+ * @param clientToken - Client token for authentication
1383
+ */
1384
+ getCompanyServices(companyId: number, clientToken: string): Promise<ApiResponse<BookingLabGetServicesResponse>>;
1385
+ /**
1386
+ * Get a single service by ID for a company
1387
+ * @param companyId - The company ID
1388
+ * @param serviceId - The service ID
1389
+ * @param clientToken - Client token for authentication
1390
+ */
1391
+ getCompanyService(companyId: number, serviceId: number, clientToken: string): Promise<ApiResponse<BookingLabService>>;
1392
+ /**
1393
+ * Get all companies
1394
+ * @param clientToken - Client token for authentication
1395
+ * @param params - Optional query params (service_id, person_id)
1396
+ */
1397
+ getCompanies(clientToken: string, params?: BookingLabGetCompaniesParams): Promise<ApiResponse<BookingLabGetCompaniesResponse>>;
1398
+ /**
1399
+ * Get questions for a company by detail group ID
1400
+ * @param companyId - The company ID
1401
+ * @param detailGroupId - The detail group ID
1402
+ * @param clientToken - Client token for authentication
1403
+ */
1404
+ getCompanyQuestions(companyId: number, detailGroupId: number, clientToken: string): Promise<ApiResponse<BookingLabGetQuestionsResponse>>;
1219
1405
  }
1220
1406
  /**
1221
1407
  * Create a new BookingLab client instance
@@ -1612,5 +1798,49 @@ declare function useSendCustomEmail(companyId: number, clientToken: string): _ta
1612
1798
  * @param clientToken - Client token for authentication
1613
1799
  */
1614
1800
  declare function useBookingLabForgotPassword(companyId: number, clientToken: string): _tanstack_react_query.UseMutationResult<BookingLabForgotPasswordResponse, Error, BookingLabForgotPasswordRequest, unknown>;
1801
+ /**
1802
+ * Hook for fetching BookingLab company configuration
1803
+ * @param request - Config request with client and company
1804
+ * @param clientToken - Client token for authentication
1805
+ * @param enabled - Whether the query should run
1806
+ */
1807
+ declare function useBookingLabConfig(request: BookingLabConfigRequest, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabConfigResponse, Error>;
1808
+ /**
1809
+ * Hook for getting a BookingLab token
1810
+ * @param request - Token request with client and company
1811
+ * @param clientToken - Client token for authentication
1812
+ * @param enabled - Whether the query should run
1813
+ */
1814
+ declare function useBookingLabGetToken(request: BookingLabGetTokenRequest, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetTokenResponse, Error>;
1815
+ /**
1816
+ * Hook for fetching services for a company (BookingLab)
1817
+ * @param companyId - The company ID
1818
+ * @param clientToken - Client token for authentication
1819
+ * @param enabled - Whether the query should run
1820
+ */
1821
+ declare function useBookingLabServices(companyId: number, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetServicesResponse, Error>;
1822
+ /**
1823
+ * Hook for fetching a single service for a company by ID (BookingLab)
1824
+ * @param companyId - The company ID
1825
+ * @param serviceId - The service ID
1826
+ * @param clientToken - Client token for authentication
1827
+ * @param enabled - Whether the query should run
1828
+ */
1829
+ declare function useBookingLabService(companyId: number, serviceId: number, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabService, Error>;
1830
+ /**
1831
+ * Hook for fetching all companies (BookingLab)
1832
+ * @param clientToken - Client token for authentication
1833
+ * @param params - Optional query params (service_id, person_id)
1834
+ * @param enabled - Whether the query should run
1835
+ */
1836
+ declare function useBookingLabCompanies(clientToken: string, params?: BookingLabGetCompaniesParams, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetCompaniesResponse, Error>;
1837
+ /**
1838
+ * Hook for fetching questions for a company by detail group (BookingLab)
1839
+ * @param companyId - The company ID
1840
+ * @param detailGroupId - The detail group ID
1841
+ * @param clientToken - Client token for authentication
1842
+ * @param enabled - Whether the query should run
1843
+ */
1844
+ declare function useBookingLabQuestions(companyId: number, detailGroupId: number, clientToken: string, enabled?: boolean): _tanstack_react_query.UseQueryResult<BookingLabGetQuestionsResponse, Error>;
1615
1845
 
1616
- export { type AddBasketItemRequest, type AddServiceItemAssets, type AddServiceItemQuestion, type AddServiceItemRequest, ApiClient, type ApiClientConfig, ApiClientContext, ApiClientProvider, type ApiError, type ApiResponse, type AvailabilityTime, type AvailabilityTimesResponse, type Booking, type BookingAnswer, BookingLabClient, BookingLabContext, type BookingLabForgotPasswordRequest, type BookingLabForgotPasswordResponse, BookingLabProvider, type BookingPaymentItem, type BookingSettings, type CancelBookingRequest, type CancelBookingResponse, type CancelMemberBookingResponse, type CheckoutBasketClient, type CheckoutBasketRequest, type CheckoutBasketResponse, type ChildCompaniesResponse, type ChildCompany, type ChildCompanyAddress, type ChildCompanySettings, type ClearBasketsResponse, type ClientDetailsQuestion, type ClientDetailsResponse, type CompanyResponse, type CompanySettings, type CreateBasketRequest, type CreateBasketResponse, type CreateBookingRequest, type CreateClientRequest, type CreateClientResponse, type DateSlot, type DatesResponse, type FindClientByEmailResponse, type ForgottenPasswordRequest, type ForgottenPasswordResponse, type GetChildCompaniesParams, type GetDatesParams, type GetMemberResponse, type GetQuestionsParams, type GetTimesParams, type JrniBooking, JrniClient, type JrniConfig, JrniContext, JrniProvider, type JrniService, type ListBookingsParams, type ListBookingsResponse, type Location, type LocationsResponse, type LoginRequest, type LoginResponse, type MemberBooking, type MemberBookingsResponse, MemberType, type PersonImage, type PersonImagesResponse, type Question, type QuestionOption, type QuestionsResponse, type RequestOptions, type RescheduleBookingRequest, type RescheduleBookingResponse, type ResetPasswordRequest, type Resource, type ResourceLinks, type ResourcesResponse, type SendCustomEmailRequest, type SendCustomEmailResponse, type Service, type ServiceItemResponse, type ServicesResponse, type TimeSlot, type TimesResponse, type UpdateClientAnswer, type UpdateClientAnswerEntry, type UpdateClientDetailsData, type UpdateClientExtraInfo, type UpdateClientNotificationPreferences, type UpdateClientQuestionEntry, type UpdateClientRequest, type UpdateClientResponse, type UpdateMemberDetailsData, type UpdateMemberRequest, type UpdateMemberResponse, type Vehicle, type VehiclesResponse, createBookingLabClient, createJrniClient, useAddServiceItem, useApiClientContext, useBookingLabClient, useBookingLabContext, useBookingLabForgotPassword, useCancelBooking, useCancelMemberBooking, useCheckoutBasket, useChildCompanies, useClearBaskets, useClientDetails, useCompany, useCreateBasket, useCreateClient, useDates, useFindClientByEmail, useForgottenPassword, useGetMember, useJrniClient, useJrniContext, useListBookings, useLogin, useQuestions, useRescheduleBooking, useResetPassword, useResources, useSendCustomEmail, useServices, useTimes, useUpdateClient, useUpdateMember };
1846
+ export { type AddBasketItemRequest, type AddServiceItemAssets, type AddServiceItemQuestion, type AddServiceItemRequest, ApiClient, type ApiClientConfig, ApiClientContext, ApiClientProvider, type ApiError, type ApiResponse, type AvailabilityTime, type AvailabilityTimesResponse, type Booking, type BookingAnswer, BookingLabClient, type BookingLabCompany, type BookingLabConfigPage, type BookingLabConfigProduct, type BookingLabConfigRequest, type BookingLabConfigResponse, type BookingLabConfigUserJourney, BookingLabContext, type BookingLabForgotPasswordRequest, type BookingLabForgotPasswordResponse, type BookingLabGetCompaniesParams, type BookingLabGetCompaniesResponse, type BookingLabGetQuestionsResponse, type BookingLabGetServicesResponse, type BookingLabGetTokenRequest, type BookingLabGetTokenResponse, BookingLabProvider, type BookingLabQuestion, type BookingLabService, type BookingPaymentItem, type BookingSettings, type CancelBookingRequest, type CancelBookingResponse, type CancelMemberBookingResponse, type CheckoutBasketClient, type CheckoutBasketRequest, type CheckoutBasketResponse, type ChildCompaniesResponse, type ChildCompany, type ChildCompanyAddress, type ChildCompanySettings, type ClearBasketsResponse, type ClientDetailsQuestion, type ClientDetailsResponse, type CompanyResponse, type CompanySettings, type CreateBasketRequest, type CreateBasketResponse, type CreateBookingRequest, type CreateClientRequest, type CreateClientResponse, type DateSlot, type DatesResponse, type FindClientByEmailResponse, type ForgottenPasswordRequest, type ForgottenPasswordResponse, type GetChildCompaniesParams, type GetDatesParams, type GetMemberResponse, type GetQuestionsParams, type GetTimesParams, type JrniBooking, JrniClient, type JrniConfig, JrniContext, JrniProvider, type JrniService, type ListBookingsParams, type ListBookingsResponse, type Location, type LocationsResponse, type LoginRequest, type LoginResponse, type MemberBooking, type MemberBookingsResponse, MemberType, type PersonImage, type PersonImagesResponse, type Question, type QuestionOption, type QuestionsResponse, type RequestOptions, type RescheduleBookingRequest, type RescheduleBookingResponse, type ResetPasswordRequest, type Resource, type ResourceLinks, type ResourcesResponse, type SendCustomEmailRequest, type SendCustomEmailResponse, type Service, type ServiceItemResponse, type ServicesResponse, type TimeSlot, type TimesResponse, type UpdateClientAnswer, type UpdateClientAnswerEntry, type UpdateClientDetailsData, type UpdateClientExtraInfo, type UpdateClientNotificationPreferences, type UpdateClientQuestionEntry, type UpdateClientRequest, type UpdateClientResponse, type UpdateMemberDetailsData, type UpdateMemberRequest, type UpdateMemberResponse, type Vehicle, type VehiclesResponse, createBookingLabClient, createJrniClient, useAddServiceItem, useApiClientContext, useBookingLabClient, useBookingLabCompanies, useBookingLabConfig, useBookingLabContext, useBookingLabForgotPassword, useBookingLabGetToken, useBookingLabQuestions, useBookingLabService, useBookingLabServices, useCancelBooking, useCancelMemberBooking, useCheckoutBasket, useChildCompanies, useClearBaskets, useClientDetails, useCompany, useCreateBasket, useCreateClient, useDates, useFindClientByEmail, useForgottenPassword, useGetMember, useJrniClient, useJrniContext, useListBookings, useLogin, useQuestions, useRescheduleBooking, useResetPassword, useResources, useSendCustomEmail, useServices, useTimes, useUpdateClient, useUpdateMember };