@praxium/sdk 0.2.4 → 0.2.9
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/LICENSE +21 -0
- package/README.md +49 -0
- package/package.json +7 -7
- package/src/errors.ts +0 -126
- package/src/generated/client/client.gen.ts +0 -288
- package/src/generated/client/index.ts +0 -25
- package/src/generated/client/types.gen.ts +0 -213
- package/src/generated/client/utils.gen.ts +0 -316
- package/src/generated/client.gen.ts +0 -16
- package/src/generated/core/auth.gen.ts +0 -41
- package/src/generated/core/bodySerializer.gen.ts +0 -84
- package/src/generated/core/params.gen.ts +0 -169
- package/src/generated/core/pathSerializer.gen.ts +0 -171
- package/src/generated/core/queryKeySerializer.gen.ts +0 -117
- package/src/generated/core/serverSentEvents.gen.ts +0 -243
- package/src/generated/core/types.gen.ts +0 -104
- package/src/generated/core/utils.gen.ts +0 -140
- package/src/generated/index.ts +0 -4
- package/src/generated/sdk.gen.ts +0 -177
- package/src/generated/types.gen.ts +0 -1263
- package/src/index.ts +0 -70
- package/src/revalidation.ts +0 -105
- package/src/tenant-client.ts +0 -180
- package/src/types/next-cache.d.ts +0 -24
|
@@ -1,1263 +0,0 @@
|
|
|
1
|
-
// This file is auto-generated by @hey-api/openapi-ts
|
|
2
|
-
|
|
3
|
-
export type ClientOptions = {
|
|
4
|
-
baseUrl: 'https://platform.praxium.nl' | 'http://localhost:3300' | (string & {});
|
|
5
|
-
};
|
|
6
|
-
|
|
7
|
-
/**
|
|
8
|
-
* Tenant identifier slug
|
|
9
|
-
*/
|
|
10
|
-
export type TenantSlug = string;
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* Weekly opening hours schedule. Null if not configured.
|
|
14
|
-
*/
|
|
15
|
-
export type OpeningHours = {
|
|
16
|
-
/**
|
|
17
|
-
* Weekly schedule (7 entries, Mon-Sun)
|
|
18
|
-
*/
|
|
19
|
-
schedule: Array<PublicDaySchedule>;
|
|
20
|
-
/**
|
|
21
|
-
* General note about opening hours
|
|
22
|
-
*/
|
|
23
|
-
globalNote: string | null;
|
|
24
|
-
} | null;
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* Daily opening schedule entry
|
|
28
|
-
*/
|
|
29
|
-
export type PublicDaySchedule = {
|
|
30
|
-
/**
|
|
31
|
-
* Day of week (0=Monday, 6=Sunday)
|
|
32
|
-
*/
|
|
33
|
-
dayIndex: number;
|
|
34
|
-
/**
|
|
35
|
-
* Localized day name
|
|
36
|
-
*/
|
|
37
|
-
dayName: string;
|
|
38
|
-
/**
|
|
39
|
-
* Opening hours text
|
|
40
|
-
*/
|
|
41
|
-
hours: string | null;
|
|
42
|
-
/**
|
|
43
|
-
* Whether the practice is closed on this day
|
|
44
|
-
*/
|
|
45
|
-
isClosed: boolean;
|
|
46
|
-
/**
|
|
47
|
-
* Additional note for this day
|
|
48
|
-
*/
|
|
49
|
-
note: string | null;
|
|
50
|
-
};
|
|
51
|
-
|
|
52
|
-
/**
|
|
53
|
-
* Standard error response
|
|
54
|
-
*/
|
|
55
|
-
export type ApiError = {
|
|
56
|
-
/**
|
|
57
|
-
* Error type
|
|
58
|
-
*/
|
|
59
|
-
error: string;
|
|
60
|
-
/**
|
|
61
|
-
* Machine-readable error code
|
|
62
|
-
*/
|
|
63
|
-
errorCode: string;
|
|
64
|
-
/**
|
|
65
|
-
* Human-readable error message
|
|
66
|
-
*/
|
|
67
|
-
message: string;
|
|
68
|
-
/**
|
|
69
|
-
* Validation error details (only for 400 responses)
|
|
70
|
-
*/
|
|
71
|
-
details?: Array<{
|
|
72
|
-
/**
|
|
73
|
-
* Field path that failed validation
|
|
74
|
-
*/
|
|
75
|
-
field: string;
|
|
76
|
-
/**
|
|
77
|
-
* Validation error message
|
|
78
|
-
*/
|
|
79
|
-
message: string;
|
|
80
|
-
}>;
|
|
81
|
-
};
|
|
82
|
-
|
|
83
|
-
/**
|
|
84
|
-
* Practice contact details. Null if not configured.
|
|
85
|
-
*/
|
|
86
|
-
export type ContactDetails = {
|
|
87
|
-
/**
|
|
88
|
-
* Main phone number
|
|
89
|
-
*/
|
|
90
|
-
phone: string;
|
|
91
|
-
/**
|
|
92
|
-
* WhatsApp contact number
|
|
93
|
-
*/
|
|
94
|
-
whatsappPhone: string;
|
|
95
|
-
/**
|
|
96
|
-
* Contact email address
|
|
97
|
-
*/
|
|
98
|
-
email: string;
|
|
99
|
-
} | null;
|
|
100
|
-
|
|
101
|
-
/**
|
|
102
|
-
* Contact form submission result
|
|
103
|
-
*/
|
|
104
|
-
export type ContactFormResult = {
|
|
105
|
-
/**
|
|
106
|
-
* Whether the form was submitted successfully
|
|
107
|
-
*/
|
|
108
|
-
success: boolean;
|
|
109
|
-
/**
|
|
110
|
-
* Email delivery status
|
|
111
|
-
*/
|
|
112
|
-
emailStatus: string;
|
|
113
|
-
};
|
|
114
|
-
|
|
115
|
-
/**
|
|
116
|
-
* Practice location with coordinates and directions. Null if not configured.
|
|
117
|
-
*/
|
|
118
|
-
export type Location = {
|
|
119
|
-
/**
|
|
120
|
-
* Street address
|
|
121
|
-
*/
|
|
122
|
-
address: string;
|
|
123
|
-
/**
|
|
124
|
-
* City name
|
|
125
|
-
*/
|
|
126
|
-
city: string;
|
|
127
|
-
/**
|
|
128
|
-
* Postal/ZIP code
|
|
129
|
-
*/
|
|
130
|
-
postalCode: string;
|
|
131
|
-
/**
|
|
132
|
-
* Country name (localized)
|
|
133
|
-
*/
|
|
134
|
-
country: string;
|
|
135
|
-
/**
|
|
136
|
-
* Complete formatted address
|
|
137
|
-
*/
|
|
138
|
-
fullAddress: string;
|
|
139
|
-
/**
|
|
140
|
-
* GPS latitude coordinate
|
|
141
|
-
*/
|
|
142
|
-
latitude: number | null;
|
|
143
|
-
/**
|
|
144
|
-
* GPS longitude coordinate
|
|
145
|
-
*/
|
|
146
|
-
longitude: number | null;
|
|
147
|
-
/**
|
|
148
|
-
* Google Maps URL for the practice
|
|
149
|
-
*/
|
|
150
|
-
googleMapsUrl: string | null;
|
|
151
|
-
/**
|
|
152
|
-
* Parking information (localized)
|
|
153
|
-
*/
|
|
154
|
-
parkingInfo: string | null;
|
|
155
|
-
/**
|
|
156
|
-
* Accessibility information (localized)
|
|
157
|
-
*/
|
|
158
|
-
accessibility: string | null;
|
|
159
|
-
} | null;
|
|
160
|
-
|
|
161
|
-
/**
|
|
162
|
-
* Practice business name
|
|
163
|
-
*/
|
|
164
|
-
export type BusinessName = {
|
|
165
|
-
/**
|
|
166
|
-
* Practice name (localized)
|
|
167
|
-
*/
|
|
168
|
-
name: string;
|
|
169
|
-
};
|
|
170
|
-
|
|
171
|
-
/**
|
|
172
|
-
* Social media profile URLs. Null if not configured.
|
|
173
|
-
*/
|
|
174
|
-
export type SocialLinks = {
|
|
175
|
-
/**
|
|
176
|
-
* Facebook page URL
|
|
177
|
-
*/
|
|
178
|
-
facebook?: string;
|
|
179
|
-
/**
|
|
180
|
-
* Instagram profile URL
|
|
181
|
-
*/
|
|
182
|
-
instagram?: string;
|
|
183
|
-
/**
|
|
184
|
-
* LinkedIn page URL
|
|
185
|
-
*/
|
|
186
|
-
linkedin?: string;
|
|
187
|
-
/**
|
|
188
|
-
* Twitter/X profile URL
|
|
189
|
-
*/
|
|
190
|
-
twitter?: string;
|
|
191
|
-
} | null;
|
|
192
|
-
|
|
193
|
-
/**
|
|
194
|
-
* List of team members visible on the public team page
|
|
195
|
-
*/
|
|
196
|
-
export type TeamMembers = Array<PublicTeamMember>;
|
|
197
|
-
|
|
198
|
-
/**
|
|
199
|
-
* Public team member profile
|
|
200
|
-
*/
|
|
201
|
-
export type PublicTeamMember = {
|
|
202
|
-
/**
|
|
203
|
-
* Staff member UUID
|
|
204
|
-
*/
|
|
205
|
-
id: string;
|
|
206
|
-
/**
|
|
207
|
-
* Public display name
|
|
208
|
-
*/
|
|
209
|
-
publicName: string;
|
|
210
|
-
/**
|
|
211
|
-
* Public profile image URL (Supabase CDN)
|
|
212
|
-
*/
|
|
213
|
-
publicImage: string;
|
|
214
|
-
/**
|
|
215
|
-
* List of specializations
|
|
216
|
-
*/
|
|
217
|
-
specializations: Array<LocalizedSpecialization>;
|
|
218
|
-
/**
|
|
219
|
-
* Staff biography in NL and EN
|
|
220
|
-
*/
|
|
221
|
-
bio: BilingualText | null;
|
|
222
|
-
/**
|
|
223
|
-
* BIG registration number (Dutch healthcare registration)
|
|
224
|
-
*/
|
|
225
|
-
bigNumber: string | null;
|
|
226
|
-
};
|
|
227
|
-
|
|
228
|
-
/**
|
|
229
|
-
* Specialization with bilingual names
|
|
230
|
-
*/
|
|
231
|
-
export type LocalizedSpecialization = {
|
|
232
|
-
/**
|
|
233
|
-
* Dutch specialization name
|
|
234
|
-
*/
|
|
235
|
-
nl: string;
|
|
236
|
-
/**
|
|
237
|
-
* English specialization name
|
|
238
|
-
*/
|
|
239
|
-
en: string;
|
|
240
|
-
};
|
|
241
|
-
|
|
242
|
-
/**
|
|
243
|
-
* Bilingual text with Dutch (nl) and English (en) translations
|
|
244
|
-
*/
|
|
245
|
-
export type BilingualText = {
|
|
246
|
-
/**
|
|
247
|
-
* Dutch text
|
|
248
|
-
*/
|
|
249
|
-
nl: string;
|
|
250
|
-
/**
|
|
251
|
-
* English text
|
|
252
|
-
*/
|
|
253
|
-
en: string;
|
|
254
|
-
};
|
|
255
|
-
|
|
256
|
-
/**
|
|
257
|
-
* FAQs grouped by category, ordered by category.order then faq.order
|
|
258
|
-
*/
|
|
259
|
-
export type FaqContent = Array<FaqGroup>;
|
|
260
|
-
|
|
261
|
-
/**
|
|
262
|
-
* FAQ category with its items
|
|
263
|
-
*/
|
|
264
|
-
export type FaqGroup = {
|
|
265
|
-
/**
|
|
266
|
-
* The FAQ category
|
|
267
|
-
*/
|
|
268
|
-
category: FaqCategory;
|
|
269
|
-
/**
|
|
270
|
-
* FAQ items in this category
|
|
271
|
-
*/
|
|
272
|
-
faqs: Array<FaqItem>;
|
|
273
|
-
};
|
|
274
|
-
|
|
275
|
-
/**
|
|
276
|
-
* FAQ category with bilingual name
|
|
277
|
-
*/
|
|
278
|
-
export type FaqCategory = {
|
|
279
|
-
/**
|
|
280
|
-
* Category UUID
|
|
281
|
-
*/
|
|
282
|
-
id: string;
|
|
283
|
-
/**
|
|
284
|
-
* Category name per locale
|
|
285
|
-
*/
|
|
286
|
-
name: {
|
|
287
|
-
[key: string]: string;
|
|
288
|
-
};
|
|
289
|
-
/**
|
|
290
|
-
* Display order (ascending)
|
|
291
|
-
*/
|
|
292
|
-
order: number;
|
|
293
|
-
};
|
|
294
|
-
|
|
295
|
-
/**
|
|
296
|
-
* Individual FAQ question and answer
|
|
297
|
-
*/
|
|
298
|
-
export type FaqItem = {
|
|
299
|
-
/**
|
|
300
|
-
* FAQ item UUID
|
|
301
|
-
*/
|
|
302
|
-
id: string;
|
|
303
|
-
/**
|
|
304
|
-
* Question text per locale
|
|
305
|
-
*/
|
|
306
|
-
question: {
|
|
307
|
-
[key: string]: string;
|
|
308
|
-
};
|
|
309
|
-
/**
|
|
310
|
-
* Answer text per locale (may contain HTML)
|
|
311
|
-
*/
|
|
312
|
-
answer: {
|
|
313
|
-
[key: string]: string;
|
|
314
|
-
};
|
|
315
|
-
/**
|
|
316
|
-
* Parent category UUID
|
|
317
|
-
*/
|
|
318
|
-
categoryId: string;
|
|
319
|
-
/**
|
|
320
|
-
* Display order within category (ascending)
|
|
321
|
-
*/
|
|
322
|
-
order: number;
|
|
323
|
-
/**
|
|
324
|
-
* Whether this FAQ item is currently visible
|
|
325
|
-
*/
|
|
326
|
-
visible: boolean;
|
|
327
|
-
};
|
|
328
|
-
|
|
329
|
-
/**
|
|
330
|
-
* All service variants ordered by category, service, then variant order
|
|
331
|
-
*/
|
|
332
|
-
export type PricingVariants = Array<PricingVariant>;
|
|
333
|
-
|
|
334
|
-
/**
|
|
335
|
-
* Service variant with pricing and category info
|
|
336
|
-
*/
|
|
337
|
-
export type PricingVariant = {
|
|
338
|
-
/**
|
|
339
|
-
* Variant UUID
|
|
340
|
-
*/
|
|
341
|
-
id: string;
|
|
342
|
-
/**
|
|
343
|
-
* Parent service name per locale
|
|
344
|
-
*/
|
|
345
|
-
serviceName: {
|
|
346
|
-
[key: string]: string;
|
|
347
|
-
};
|
|
348
|
-
/**
|
|
349
|
-
* Variant name per locale (null if single variant)
|
|
350
|
-
*/
|
|
351
|
-
name: {
|
|
352
|
-
[key: string]: string;
|
|
353
|
-
} | null;
|
|
354
|
-
/**
|
|
355
|
-
* Variant description per locale
|
|
356
|
-
*/
|
|
357
|
-
description: {
|
|
358
|
-
[key: string]: string;
|
|
359
|
-
} | null;
|
|
360
|
-
/**
|
|
361
|
-
* Duration in minutes
|
|
362
|
-
*/
|
|
363
|
-
duration: number;
|
|
364
|
-
/**
|
|
365
|
-
* Price in euros (cents)
|
|
366
|
-
*/
|
|
367
|
-
price: number;
|
|
368
|
-
/**
|
|
369
|
-
* Display order within service
|
|
370
|
-
*/
|
|
371
|
-
order: number;
|
|
372
|
-
/**
|
|
373
|
-
* Parent service category
|
|
374
|
-
*/
|
|
375
|
-
category: ServiceCategoryInfo;
|
|
376
|
-
/**
|
|
377
|
-
* Category display order
|
|
378
|
-
*/
|
|
379
|
-
categoryOrder: number;
|
|
380
|
-
/**
|
|
381
|
-
* Service display order within category
|
|
382
|
-
*/
|
|
383
|
-
serviceOrder: number;
|
|
384
|
-
};
|
|
385
|
-
|
|
386
|
-
/**
|
|
387
|
-
* Service category metadata
|
|
388
|
-
*/
|
|
389
|
-
export type ServiceCategoryInfo = {
|
|
390
|
-
/**
|
|
391
|
-
* Category UUID
|
|
392
|
-
*/
|
|
393
|
-
id: string;
|
|
394
|
-
/**
|
|
395
|
-
* Category name per locale
|
|
396
|
-
*/
|
|
397
|
-
name: {
|
|
398
|
-
[key: string]: string;
|
|
399
|
-
};
|
|
400
|
-
/**
|
|
401
|
-
* URL-safe category identifier
|
|
402
|
-
*/
|
|
403
|
-
slug: string;
|
|
404
|
-
/**
|
|
405
|
-
* Category color hex code
|
|
406
|
-
*/
|
|
407
|
-
color: string | null;
|
|
408
|
-
};
|
|
409
|
-
|
|
410
|
-
/**
|
|
411
|
-
* Insurance information items ordered by display order
|
|
412
|
-
*/
|
|
413
|
-
export type InsuranceList = Array<InsuranceInfo>;
|
|
414
|
-
|
|
415
|
-
/**
|
|
416
|
-
* Insurance coverage information
|
|
417
|
-
*/
|
|
418
|
-
export type InsuranceInfo = {
|
|
419
|
-
/**
|
|
420
|
-
* Insurance info UUID
|
|
421
|
-
*/
|
|
422
|
-
id: string;
|
|
423
|
-
/**
|
|
424
|
-
* Title per locale
|
|
425
|
-
*/
|
|
426
|
-
title: {
|
|
427
|
-
[key: string]: string;
|
|
428
|
-
};
|
|
429
|
-
/**
|
|
430
|
-
* Description per locale (may contain HTML)
|
|
431
|
-
*/
|
|
432
|
-
description: {
|
|
433
|
-
[key: string]: string;
|
|
434
|
-
};
|
|
435
|
-
/**
|
|
436
|
-
* Display order (ascending)
|
|
437
|
-
*/
|
|
438
|
-
order: number;
|
|
439
|
-
/**
|
|
440
|
-
* ISO 8601 creation timestamp
|
|
441
|
-
*/
|
|
442
|
-
createdAt: string;
|
|
443
|
-
/**
|
|
444
|
-
* ISO 8601 last update timestamp
|
|
445
|
-
*/
|
|
446
|
-
updatedAt: string;
|
|
447
|
-
};
|
|
448
|
-
|
|
449
|
-
/**
|
|
450
|
-
* Practice feature items ordered by display order
|
|
451
|
-
*/
|
|
452
|
-
export type FeatureList = Array<FeatureItem>;
|
|
453
|
-
|
|
454
|
-
/**
|
|
455
|
-
* Practice feature or highlight
|
|
456
|
-
*/
|
|
457
|
-
export type FeatureItem = {
|
|
458
|
-
/**
|
|
459
|
-
* Feature item UUID
|
|
460
|
-
*/
|
|
461
|
-
id: string;
|
|
462
|
-
/**
|
|
463
|
-
* Feature text per locale
|
|
464
|
-
*/
|
|
465
|
-
text: {
|
|
466
|
-
[key: string]: string;
|
|
467
|
-
};
|
|
468
|
-
/**
|
|
469
|
-
* Display order (ascending)
|
|
470
|
-
*/
|
|
471
|
-
order: number;
|
|
472
|
-
/**
|
|
473
|
-
* ISO 8601 creation timestamp
|
|
474
|
-
*/
|
|
475
|
-
createdAt: string;
|
|
476
|
-
/**
|
|
477
|
-
* ISO 8601 last update timestamp
|
|
478
|
-
*/
|
|
479
|
-
updatedAt: string;
|
|
480
|
-
};
|
|
481
|
-
|
|
482
|
-
/**
|
|
483
|
-
* Accepted payment methods ordered by display order
|
|
484
|
-
*/
|
|
485
|
-
export type PaymentMethodList = Array<PaymentMethod>;
|
|
486
|
-
|
|
487
|
-
/**
|
|
488
|
-
* Accepted payment method
|
|
489
|
-
*/
|
|
490
|
-
export type PaymentMethod = {
|
|
491
|
-
/**
|
|
492
|
-
* Payment method UUID
|
|
493
|
-
*/
|
|
494
|
-
id: string;
|
|
495
|
-
/**
|
|
496
|
-
* Payment method name per locale
|
|
497
|
-
*/
|
|
498
|
-
name: {
|
|
499
|
-
[key: string]: string;
|
|
500
|
-
};
|
|
501
|
-
/**
|
|
502
|
-
* Display order (ascending)
|
|
503
|
-
*/
|
|
504
|
-
order: number;
|
|
505
|
-
/**
|
|
506
|
-
* ISO 8601 creation timestamp
|
|
507
|
-
*/
|
|
508
|
-
createdAt: string;
|
|
509
|
-
/**
|
|
510
|
-
* ISO 8601 last update timestamp
|
|
511
|
-
*/
|
|
512
|
-
updatedAt: string;
|
|
513
|
-
};
|
|
514
|
-
|
|
515
|
-
/**
|
|
516
|
-
* Practice policy items ordered by display order
|
|
517
|
-
*/
|
|
518
|
-
export type PolicyList = Array<PolicyInfo>;
|
|
519
|
-
|
|
520
|
-
/**
|
|
521
|
-
* Cancellation/practice policy information
|
|
522
|
-
*/
|
|
523
|
-
export type PolicyInfo = {
|
|
524
|
-
/**
|
|
525
|
-
* Policy info UUID
|
|
526
|
-
*/
|
|
527
|
-
id: string;
|
|
528
|
-
/**
|
|
529
|
-
* Policy title per locale
|
|
530
|
-
*/
|
|
531
|
-
title: {
|
|
532
|
-
[key: string]: string;
|
|
533
|
-
};
|
|
534
|
-
/**
|
|
535
|
-
* Policy description per locale (may contain HTML)
|
|
536
|
-
*/
|
|
537
|
-
description: {
|
|
538
|
-
[key: string]: string;
|
|
539
|
-
};
|
|
540
|
-
/**
|
|
541
|
-
* Display order (ascending)
|
|
542
|
-
*/
|
|
543
|
-
order: number;
|
|
544
|
-
/**
|
|
545
|
-
* ISO 8601 creation timestamp
|
|
546
|
-
*/
|
|
547
|
-
createdAt: string;
|
|
548
|
-
/**
|
|
549
|
-
* ISO 8601 last update timestamp
|
|
550
|
-
*/
|
|
551
|
-
updatedAt: string;
|
|
552
|
-
};
|
|
553
|
-
|
|
554
|
-
/**
|
|
555
|
-
* All bookable services with their variants and categories
|
|
556
|
-
*/
|
|
557
|
-
export type BookableServices = Array<BookableService>;
|
|
558
|
-
|
|
559
|
-
/**
|
|
560
|
-
* Service available for online booking with its variants
|
|
561
|
-
*/
|
|
562
|
-
export type BookableService = {
|
|
563
|
-
/**
|
|
564
|
-
* Service UUID
|
|
565
|
-
*/
|
|
566
|
-
id: string;
|
|
567
|
-
/**
|
|
568
|
-
* URL-safe service identifier
|
|
569
|
-
*/
|
|
570
|
-
slug: string;
|
|
571
|
-
/**
|
|
572
|
-
* Service name per locale
|
|
573
|
-
*/
|
|
574
|
-
name: {
|
|
575
|
-
[key: string]: string;
|
|
576
|
-
};
|
|
577
|
-
/**
|
|
578
|
-
* Service description per locale
|
|
579
|
-
*/
|
|
580
|
-
description: {
|
|
581
|
-
[key: string]: string;
|
|
582
|
-
};
|
|
583
|
-
/**
|
|
584
|
-
* Service category
|
|
585
|
-
*/
|
|
586
|
-
category: ServiceCategoryInfo;
|
|
587
|
-
/**
|
|
588
|
-
* Service color hex code
|
|
589
|
-
*/
|
|
590
|
-
color: string | null;
|
|
591
|
-
/**
|
|
592
|
-
* Available booking variants
|
|
593
|
-
*/
|
|
594
|
-
variants: Array<BookableVariantInfo>;
|
|
595
|
-
};
|
|
596
|
-
|
|
597
|
-
/**
|
|
598
|
-
* Bookable service variant with pricing
|
|
599
|
-
*/
|
|
600
|
-
export type BookableVariantInfo = {
|
|
601
|
-
/**
|
|
602
|
-
* Variant UUID
|
|
603
|
-
*/
|
|
604
|
-
id: string;
|
|
605
|
-
/**
|
|
606
|
-
* Variant name per locale (null for single-variant services)
|
|
607
|
-
*/
|
|
608
|
-
name: {
|
|
609
|
-
[key: string]: string;
|
|
610
|
-
} | null;
|
|
611
|
-
/**
|
|
612
|
-
* Duration in minutes
|
|
613
|
-
*/
|
|
614
|
-
duration: number;
|
|
615
|
-
/**
|
|
616
|
-
* Price in euros (cents)
|
|
617
|
-
*/
|
|
618
|
-
price: number;
|
|
619
|
-
/**
|
|
620
|
-
* Display order within service
|
|
621
|
-
*/
|
|
622
|
-
order: number;
|
|
623
|
-
/**
|
|
624
|
-
* Whether this is the default variant for the service
|
|
625
|
-
*/
|
|
626
|
-
isDefault: boolean;
|
|
627
|
-
/**
|
|
628
|
-
* Cal.com event type slug for online booking
|
|
629
|
-
*/
|
|
630
|
-
externalEventTypeSlug: string | null;
|
|
631
|
-
/**
|
|
632
|
-
* Variant description per locale
|
|
633
|
-
*/
|
|
634
|
-
description: {
|
|
635
|
-
[key: string]: string;
|
|
636
|
-
} | null;
|
|
637
|
-
};
|
|
638
|
-
|
|
639
|
-
export type GetOpeningHoursData = {
|
|
640
|
-
body?: never;
|
|
641
|
-
path: {
|
|
642
|
-
/**
|
|
643
|
-
* Tenant identifier slug
|
|
644
|
-
*/
|
|
645
|
-
tenantSlug: TenantSlug;
|
|
646
|
-
};
|
|
647
|
-
query?: never;
|
|
648
|
-
url: '/api/public/{tenantSlug}/opening-hours';
|
|
649
|
-
};
|
|
650
|
-
|
|
651
|
-
export type GetOpeningHoursErrors = {
|
|
652
|
-
/**
|
|
653
|
-
* Invalid or missing API key
|
|
654
|
-
*/
|
|
655
|
-
401: ApiError;
|
|
656
|
-
/**
|
|
657
|
-
* API key does not match the requested tenant
|
|
658
|
-
*/
|
|
659
|
-
403: ApiError;
|
|
660
|
-
/**
|
|
661
|
-
* Tenant not found or inactive
|
|
662
|
-
*/
|
|
663
|
-
404: ApiError;
|
|
664
|
-
/**
|
|
665
|
-
* Rate limit exceeded
|
|
666
|
-
*/
|
|
667
|
-
429: ApiError;
|
|
668
|
-
};
|
|
669
|
-
|
|
670
|
-
export type GetOpeningHoursError = GetOpeningHoursErrors[keyof GetOpeningHoursErrors];
|
|
671
|
-
|
|
672
|
-
export type GetOpeningHoursResponses = {
|
|
673
|
-
/**
|
|
674
|
-
* Opening hours data (null if not configured)
|
|
675
|
-
*/
|
|
676
|
-
200: {
|
|
677
|
-
data: OpeningHours;
|
|
678
|
-
};
|
|
679
|
-
};
|
|
680
|
-
|
|
681
|
-
export type GetOpeningHoursResponse = GetOpeningHoursResponses[keyof GetOpeningHoursResponses];
|
|
682
|
-
|
|
683
|
-
export type GetContactDetailsData = {
|
|
684
|
-
body?: never;
|
|
685
|
-
path: {
|
|
686
|
-
/**
|
|
687
|
-
* Tenant identifier slug
|
|
688
|
-
*/
|
|
689
|
-
tenantSlug: TenantSlug;
|
|
690
|
-
};
|
|
691
|
-
query?: never;
|
|
692
|
-
url: '/api/public/{tenantSlug}/contact';
|
|
693
|
-
};
|
|
694
|
-
|
|
695
|
-
export type GetContactDetailsErrors = {
|
|
696
|
-
/**
|
|
697
|
-
* Invalid or missing API key
|
|
698
|
-
*/
|
|
699
|
-
401: ApiError;
|
|
700
|
-
/**
|
|
701
|
-
* API key does not match the requested tenant
|
|
702
|
-
*/
|
|
703
|
-
403: ApiError;
|
|
704
|
-
/**
|
|
705
|
-
* Tenant not found or inactive
|
|
706
|
-
*/
|
|
707
|
-
404: ApiError;
|
|
708
|
-
/**
|
|
709
|
-
* Rate limit exceeded
|
|
710
|
-
*/
|
|
711
|
-
429: ApiError;
|
|
712
|
-
};
|
|
713
|
-
|
|
714
|
-
export type GetContactDetailsError = GetContactDetailsErrors[keyof GetContactDetailsErrors];
|
|
715
|
-
|
|
716
|
-
export type GetContactDetailsResponses = {
|
|
717
|
-
/**
|
|
718
|
-
* Contact details (null if not configured)
|
|
719
|
-
*/
|
|
720
|
-
200: {
|
|
721
|
-
data: ContactDetails;
|
|
722
|
-
};
|
|
723
|
-
};
|
|
724
|
-
|
|
725
|
-
export type GetContactDetailsResponse = GetContactDetailsResponses[keyof GetContactDetailsResponses];
|
|
726
|
-
|
|
727
|
-
export type SubmitContactFormData = {
|
|
728
|
-
body: {
|
|
729
|
-
name: string;
|
|
730
|
-
email: string;
|
|
731
|
-
phone?: string;
|
|
732
|
-
subject: string;
|
|
733
|
-
message: string;
|
|
734
|
-
};
|
|
735
|
-
path: {
|
|
736
|
-
/**
|
|
737
|
-
* Tenant identifier slug
|
|
738
|
-
*/
|
|
739
|
-
tenantSlug: TenantSlug;
|
|
740
|
-
};
|
|
741
|
-
query?: never;
|
|
742
|
-
url: '/api/public/{tenantSlug}/contact';
|
|
743
|
-
};
|
|
744
|
-
|
|
745
|
-
export type SubmitContactFormErrors = {
|
|
746
|
-
/**
|
|
747
|
-
* Validation failed
|
|
748
|
-
*/
|
|
749
|
-
400: ApiError;
|
|
750
|
-
/**
|
|
751
|
-
* Invalid or missing API key
|
|
752
|
-
*/
|
|
753
|
-
401: ApiError;
|
|
754
|
-
/**
|
|
755
|
-
* API key does not match the requested tenant
|
|
756
|
-
*/
|
|
757
|
-
403: ApiError;
|
|
758
|
-
/**
|
|
759
|
-
* Tenant not found or inactive
|
|
760
|
-
*/
|
|
761
|
-
404: ApiError;
|
|
762
|
-
/**
|
|
763
|
-
* Rate limit exceeded
|
|
764
|
-
*/
|
|
765
|
-
429: ApiError;
|
|
766
|
-
};
|
|
767
|
-
|
|
768
|
-
export type SubmitContactFormError = SubmitContactFormErrors[keyof SubmitContactFormErrors];
|
|
769
|
-
|
|
770
|
-
export type SubmitContactFormResponses = {
|
|
771
|
-
/**
|
|
772
|
-
* Form submitted successfully
|
|
773
|
-
*/
|
|
774
|
-
200: {
|
|
775
|
-
data: ContactFormResult;
|
|
776
|
-
};
|
|
777
|
-
};
|
|
778
|
-
|
|
779
|
-
export type SubmitContactFormResponse = SubmitContactFormResponses[keyof SubmitContactFormResponses];
|
|
780
|
-
|
|
781
|
-
export type GetLocationData = {
|
|
782
|
-
body?: never;
|
|
783
|
-
path: {
|
|
784
|
-
/**
|
|
785
|
-
* Tenant identifier slug
|
|
786
|
-
*/
|
|
787
|
-
tenantSlug: TenantSlug;
|
|
788
|
-
};
|
|
789
|
-
query?: never;
|
|
790
|
-
url: '/api/public/{tenantSlug}/location';
|
|
791
|
-
};
|
|
792
|
-
|
|
793
|
-
export type GetLocationErrors = {
|
|
794
|
-
/**
|
|
795
|
-
* Invalid or missing API key
|
|
796
|
-
*/
|
|
797
|
-
401: ApiError;
|
|
798
|
-
/**
|
|
799
|
-
* API key does not match the requested tenant
|
|
800
|
-
*/
|
|
801
|
-
403: ApiError;
|
|
802
|
-
/**
|
|
803
|
-
* Tenant not found or inactive
|
|
804
|
-
*/
|
|
805
|
-
404: ApiError;
|
|
806
|
-
/**
|
|
807
|
-
* Rate limit exceeded
|
|
808
|
-
*/
|
|
809
|
-
429: ApiError;
|
|
810
|
-
};
|
|
811
|
-
|
|
812
|
-
export type GetLocationError = GetLocationErrors[keyof GetLocationErrors];
|
|
813
|
-
|
|
814
|
-
export type GetLocationResponses = {
|
|
815
|
-
/**
|
|
816
|
-
* Location data (null if not configured)
|
|
817
|
-
*/
|
|
818
|
-
200: {
|
|
819
|
-
data: Location;
|
|
820
|
-
};
|
|
821
|
-
};
|
|
822
|
-
|
|
823
|
-
export type GetLocationResponse = GetLocationResponses[keyof GetLocationResponses];
|
|
824
|
-
|
|
825
|
-
export type GetBusinessNameData = {
|
|
826
|
-
body?: never;
|
|
827
|
-
path: {
|
|
828
|
-
/**
|
|
829
|
-
* Tenant identifier slug
|
|
830
|
-
*/
|
|
831
|
-
tenantSlug: TenantSlug;
|
|
832
|
-
};
|
|
833
|
-
query?: never;
|
|
834
|
-
url: '/api/public/{tenantSlug}/business';
|
|
835
|
-
};
|
|
836
|
-
|
|
837
|
-
export type GetBusinessNameErrors = {
|
|
838
|
-
/**
|
|
839
|
-
* Invalid or missing API key
|
|
840
|
-
*/
|
|
841
|
-
401: ApiError;
|
|
842
|
-
/**
|
|
843
|
-
* API key does not match the requested tenant
|
|
844
|
-
*/
|
|
845
|
-
403: ApiError;
|
|
846
|
-
/**
|
|
847
|
-
* Tenant not found or inactive
|
|
848
|
-
*/
|
|
849
|
-
404: ApiError;
|
|
850
|
-
/**
|
|
851
|
-
* Rate limit exceeded
|
|
852
|
-
*/
|
|
853
|
-
429: ApiError;
|
|
854
|
-
};
|
|
855
|
-
|
|
856
|
-
export type GetBusinessNameError = GetBusinessNameErrors[keyof GetBusinessNameErrors];
|
|
857
|
-
|
|
858
|
-
export type GetBusinessNameResponses = {
|
|
859
|
-
/**
|
|
860
|
-
* Business name
|
|
861
|
-
*/
|
|
862
|
-
200: {
|
|
863
|
-
data: BusinessName;
|
|
864
|
-
};
|
|
865
|
-
};
|
|
866
|
-
|
|
867
|
-
export type GetBusinessNameResponse = GetBusinessNameResponses[keyof GetBusinessNameResponses];
|
|
868
|
-
|
|
869
|
-
export type GetSocialLinksData = {
|
|
870
|
-
body?: never;
|
|
871
|
-
path: {
|
|
872
|
-
/**
|
|
873
|
-
* Tenant identifier slug
|
|
874
|
-
*/
|
|
875
|
-
tenantSlug: TenantSlug;
|
|
876
|
-
};
|
|
877
|
-
query?: never;
|
|
878
|
-
url: '/api/public/{tenantSlug}/social-links';
|
|
879
|
-
};
|
|
880
|
-
|
|
881
|
-
export type GetSocialLinksErrors = {
|
|
882
|
-
/**
|
|
883
|
-
* Invalid or missing API key
|
|
884
|
-
*/
|
|
885
|
-
401: ApiError;
|
|
886
|
-
/**
|
|
887
|
-
* API key does not match the requested tenant
|
|
888
|
-
*/
|
|
889
|
-
403: ApiError;
|
|
890
|
-
/**
|
|
891
|
-
* Tenant not found or inactive
|
|
892
|
-
*/
|
|
893
|
-
404: ApiError;
|
|
894
|
-
/**
|
|
895
|
-
* Rate limit exceeded
|
|
896
|
-
*/
|
|
897
|
-
429: ApiError;
|
|
898
|
-
};
|
|
899
|
-
|
|
900
|
-
export type GetSocialLinksError = GetSocialLinksErrors[keyof GetSocialLinksErrors];
|
|
901
|
-
|
|
902
|
-
export type GetSocialLinksResponses = {
|
|
903
|
-
/**
|
|
904
|
-
* Social links (null if not configured)
|
|
905
|
-
*/
|
|
906
|
-
200: {
|
|
907
|
-
data: SocialLinks;
|
|
908
|
-
};
|
|
909
|
-
};
|
|
910
|
-
|
|
911
|
-
export type GetSocialLinksResponse = GetSocialLinksResponses[keyof GetSocialLinksResponses];
|
|
912
|
-
|
|
913
|
-
export type GetTeamMembersData = {
|
|
914
|
-
body?: never;
|
|
915
|
-
path: {
|
|
916
|
-
/**
|
|
917
|
-
* Tenant identifier slug
|
|
918
|
-
*/
|
|
919
|
-
tenantSlug: TenantSlug;
|
|
920
|
-
};
|
|
921
|
-
query?: never;
|
|
922
|
-
url: '/api/public/{tenantSlug}/team';
|
|
923
|
-
};
|
|
924
|
-
|
|
925
|
-
export type GetTeamMembersErrors = {
|
|
926
|
-
/**
|
|
927
|
-
* Invalid or missing API key
|
|
928
|
-
*/
|
|
929
|
-
401: ApiError;
|
|
930
|
-
/**
|
|
931
|
-
* API key does not match the requested tenant
|
|
932
|
-
*/
|
|
933
|
-
403: ApiError;
|
|
934
|
-
/**
|
|
935
|
-
* Tenant not found or inactive
|
|
936
|
-
*/
|
|
937
|
-
404: ApiError;
|
|
938
|
-
/**
|
|
939
|
-
* Rate limit exceeded
|
|
940
|
-
*/
|
|
941
|
-
429: ApiError;
|
|
942
|
-
};
|
|
943
|
-
|
|
944
|
-
export type GetTeamMembersError = GetTeamMembersErrors[keyof GetTeamMembersErrors];
|
|
945
|
-
|
|
946
|
-
export type GetTeamMembersResponses = {
|
|
947
|
-
/**
|
|
948
|
-
* List of team members
|
|
949
|
-
*/
|
|
950
|
-
200: {
|
|
951
|
-
data: TeamMembers;
|
|
952
|
-
};
|
|
953
|
-
};
|
|
954
|
-
|
|
955
|
-
export type GetTeamMembersResponse = GetTeamMembersResponses[keyof GetTeamMembersResponses];
|
|
956
|
-
|
|
957
|
-
export type GetFaqData = {
|
|
958
|
-
body?: never;
|
|
959
|
-
path: {
|
|
960
|
-
/**
|
|
961
|
-
* Tenant identifier slug
|
|
962
|
-
*/
|
|
963
|
-
tenantSlug: TenantSlug;
|
|
964
|
-
};
|
|
965
|
-
query?: never;
|
|
966
|
-
url: '/api/public/{tenantSlug}/faq';
|
|
967
|
-
};
|
|
968
|
-
|
|
969
|
-
export type GetFaqErrors = {
|
|
970
|
-
/**
|
|
971
|
-
* Invalid or missing API key
|
|
972
|
-
*/
|
|
973
|
-
401: ApiError;
|
|
974
|
-
/**
|
|
975
|
-
* API key does not match the requested tenant
|
|
976
|
-
*/
|
|
977
|
-
403: ApiError;
|
|
978
|
-
/**
|
|
979
|
-
* Tenant not found or inactive
|
|
980
|
-
*/
|
|
981
|
-
404: ApiError;
|
|
982
|
-
/**
|
|
983
|
-
* Rate limit exceeded
|
|
984
|
-
*/
|
|
985
|
-
429: ApiError;
|
|
986
|
-
};
|
|
987
|
-
|
|
988
|
-
export type GetFaqError = GetFaqErrors[keyof GetFaqErrors];
|
|
989
|
-
|
|
990
|
-
export type GetFaqResponses = {
|
|
991
|
-
/**
|
|
992
|
-
* FAQ groups
|
|
993
|
-
*/
|
|
994
|
-
200: {
|
|
995
|
-
data: FaqContent;
|
|
996
|
-
};
|
|
997
|
-
};
|
|
998
|
-
|
|
999
|
-
export type GetFaqResponse = GetFaqResponses[keyof GetFaqResponses];
|
|
1000
|
-
|
|
1001
|
-
export type GetServiceVariantsData = {
|
|
1002
|
-
body?: never;
|
|
1003
|
-
path: {
|
|
1004
|
-
/**
|
|
1005
|
-
* Tenant identifier slug
|
|
1006
|
-
*/
|
|
1007
|
-
tenantSlug: TenantSlug;
|
|
1008
|
-
};
|
|
1009
|
-
query?: never;
|
|
1010
|
-
url: '/api/public/{tenantSlug}/service-variants';
|
|
1011
|
-
};
|
|
1012
|
-
|
|
1013
|
-
export type GetServiceVariantsErrors = {
|
|
1014
|
-
/**
|
|
1015
|
-
* Invalid or missing API key
|
|
1016
|
-
*/
|
|
1017
|
-
401: ApiError;
|
|
1018
|
-
/**
|
|
1019
|
-
* API key does not match the requested tenant
|
|
1020
|
-
*/
|
|
1021
|
-
403: ApiError;
|
|
1022
|
-
/**
|
|
1023
|
-
* Tenant not found or inactive
|
|
1024
|
-
*/
|
|
1025
|
-
404: ApiError;
|
|
1026
|
-
/**
|
|
1027
|
-
* Rate limit exceeded
|
|
1028
|
-
*/
|
|
1029
|
-
429: ApiError;
|
|
1030
|
-
};
|
|
1031
|
-
|
|
1032
|
-
export type GetServiceVariantsError = GetServiceVariantsErrors[keyof GetServiceVariantsErrors];
|
|
1033
|
-
|
|
1034
|
-
export type GetServiceVariantsResponses = {
|
|
1035
|
-
/**
|
|
1036
|
-
* Service variants
|
|
1037
|
-
*/
|
|
1038
|
-
200: {
|
|
1039
|
-
data: PricingVariants;
|
|
1040
|
-
};
|
|
1041
|
-
};
|
|
1042
|
-
|
|
1043
|
-
export type GetServiceVariantsResponse = GetServiceVariantsResponses[keyof GetServiceVariantsResponses];
|
|
1044
|
-
|
|
1045
|
-
export type GetInsuranceInfoData = {
|
|
1046
|
-
body?: never;
|
|
1047
|
-
path: {
|
|
1048
|
-
/**
|
|
1049
|
-
* Tenant identifier slug
|
|
1050
|
-
*/
|
|
1051
|
-
tenantSlug: TenantSlug;
|
|
1052
|
-
};
|
|
1053
|
-
query?: never;
|
|
1054
|
-
url: '/api/public/{tenantSlug}/insurance';
|
|
1055
|
-
};
|
|
1056
|
-
|
|
1057
|
-
export type GetInsuranceInfoErrors = {
|
|
1058
|
-
/**
|
|
1059
|
-
* Invalid or missing API key
|
|
1060
|
-
*/
|
|
1061
|
-
401: ApiError;
|
|
1062
|
-
/**
|
|
1063
|
-
* API key does not match the requested tenant
|
|
1064
|
-
*/
|
|
1065
|
-
403: ApiError;
|
|
1066
|
-
/**
|
|
1067
|
-
* Tenant not found or inactive
|
|
1068
|
-
*/
|
|
1069
|
-
404: ApiError;
|
|
1070
|
-
/**
|
|
1071
|
-
* Rate limit exceeded
|
|
1072
|
-
*/
|
|
1073
|
-
429: ApiError;
|
|
1074
|
-
};
|
|
1075
|
-
|
|
1076
|
-
export type GetInsuranceInfoError = GetInsuranceInfoErrors[keyof GetInsuranceInfoErrors];
|
|
1077
|
-
|
|
1078
|
-
export type GetInsuranceInfoResponses = {
|
|
1079
|
-
/**
|
|
1080
|
-
* Insurance info items
|
|
1081
|
-
*/
|
|
1082
|
-
200: {
|
|
1083
|
-
data: InsuranceList;
|
|
1084
|
-
};
|
|
1085
|
-
};
|
|
1086
|
-
|
|
1087
|
-
export type GetInsuranceInfoResponse = GetInsuranceInfoResponses[keyof GetInsuranceInfoResponses];
|
|
1088
|
-
|
|
1089
|
-
export type GetFeaturesData = {
|
|
1090
|
-
body?: never;
|
|
1091
|
-
path: {
|
|
1092
|
-
/**
|
|
1093
|
-
* Tenant identifier slug
|
|
1094
|
-
*/
|
|
1095
|
-
tenantSlug: TenantSlug;
|
|
1096
|
-
};
|
|
1097
|
-
query?: never;
|
|
1098
|
-
url: '/api/public/{tenantSlug}/features';
|
|
1099
|
-
};
|
|
1100
|
-
|
|
1101
|
-
export type GetFeaturesErrors = {
|
|
1102
|
-
/**
|
|
1103
|
-
* Invalid or missing API key
|
|
1104
|
-
*/
|
|
1105
|
-
401: ApiError;
|
|
1106
|
-
/**
|
|
1107
|
-
* API key does not match the requested tenant
|
|
1108
|
-
*/
|
|
1109
|
-
403: ApiError;
|
|
1110
|
-
/**
|
|
1111
|
-
* Tenant not found or inactive
|
|
1112
|
-
*/
|
|
1113
|
-
404: ApiError;
|
|
1114
|
-
/**
|
|
1115
|
-
* Rate limit exceeded
|
|
1116
|
-
*/
|
|
1117
|
-
429: ApiError;
|
|
1118
|
-
};
|
|
1119
|
-
|
|
1120
|
-
export type GetFeaturesError = GetFeaturesErrors[keyof GetFeaturesErrors];
|
|
1121
|
-
|
|
1122
|
-
export type GetFeaturesResponses = {
|
|
1123
|
-
/**
|
|
1124
|
-
* Feature items
|
|
1125
|
-
*/
|
|
1126
|
-
200: {
|
|
1127
|
-
data: FeatureList;
|
|
1128
|
-
};
|
|
1129
|
-
};
|
|
1130
|
-
|
|
1131
|
-
export type GetFeaturesResponse = GetFeaturesResponses[keyof GetFeaturesResponses];
|
|
1132
|
-
|
|
1133
|
-
export type GetPaymentMethodsData = {
|
|
1134
|
-
body?: never;
|
|
1135
|
-
path: {
|
|
1136
|
-
/**
|
|
1137
|
-
* Tenant identifier slug
|
|
1138
|
-
*/
|
|
1139
|
-
tenantSlug: TenantSlug;
|
|
1140
|
-
};
|
|
1141
|
-
query?: never;
|
|
1142
|
-
url: '/api/public/{tenantSlug}/payments';
|
|
1143
|
-
};
|
|
1144
|
-
|
|
1145
|
-
export type GetPaymentMethodsErrors = {
|
|
1146
|
-
/**
|
|
1147
|
-
* Invalid or missing API key
|
|
1148
|
-
*/
|
|
1149
|
-
401: ApiError;
|
|
1150
|
-
/**
|
|
1151
|
-
* API key does not match the requested tenant
|
|
1152
|
-
*/
|
|
1153
|
-
403: ApiError;
|
|
1154
|
-
/**
|
|
1155
|
-
* Tenant not found or inactive
|
|
1156
|
-
*/
|
|
1157
|
-
404: ApiError;
|
|
1158
|
-
/**
|
|
1159
|
-
* Rate limit exceeded
|
|
1160
|
-
*/
|
|
1161
|
-
429: ApiError;
|
|
1162
|
-
};
|
|
1163
|
-
|
|
1164
|
-
export type GetPaymentMethodsError = GetPaymentMethodsErrors[keyof GetPaymentMethodsErrors];
|
|
1165
|
-
|
|
1166
|
-
export type GetPaymentMethodsResponses = {
|
|
1167
|
-
/**
|
|
1168
|
-
* Payment methods
|
|
1169
|
-
*/
|
|
1170
|
-
200: {
|
|
1171
|
-
data: PaymentMethodList;
|
|
1172
|
-
};
|
|
1173
|
-
};
|
|
1174
|
-
|
|
1175
|
-
export type GetPaymentMethodsResponse = GetPaymentMethodsResponses[keyof GetPaymentMethodsResponses];
|
|
1176
|
-
|
|
1177
|
-
export type GetPolicyInfoData = {
|
|
1178
|
-
body?: never;
|
|
1179
|
-
path: {
|
|
1180
|
-
/**
|
|
1181
|
-
* Tenant identifier slug
|
|
1182
|
-
*/
|
|
1183
|
-
tenantSlug: TenantSlug;
|
|
1184
|
-
};
|
|
1185
|
-
query?: never;
|
|
1186
|
-
url: '/api/public/{tenantSlug}/policy';
|
|
1187
|
-
};
|
|
1188
|
-
|
|
1189
|
-
export type GetPolicyInfoErrors = {
|
|
1190
|
-
/**
|
|
1191
|
-
* Invalid or missing API key
|
|
1192
|
-
*/
|
|
1193
|
-
401: ApiError;
|
|
1194
|
-
/**
|
|
1195
|
-
* API key does not match the requested tenant
|
|
1196
|
-
*/
|
|
1197
|
-
403: ApiError;
|
|
1198
|
-
/**
|
|
1199
|
-
* Tenant not found or inactive
|
|
1200
|
-
*/
|
|
1201
|
-
404: ApiError;
|
|
1202
|
-
/**
|
|
1203
|
-
* Rate limit exceeded
|
|
1204
|
-
*/
|
|
1205
|
-
429: ApiError;
|
|
1206
|
-
};
|
|
1207
|
-
|
|
1208
|
-
export type GetPolicyInfoError = GetPolicyInfoErrors[keyof GetPolicyInfoErrors];
|
|
1209
|
-
|
|
1210
|
-
export type GetPolicyInfoResponses = {
|
|
1211
|
-
/**
|
|
1212
|
-
* Policy info items
|
|
1213
|
-
*/
|
|
1214
|
-
200: {
|
|
1215
|
-
data: PolicyList;
|
|
1216
|
-
};
|
|
1217
|
-
};
|
|
1218
|
-
|
|
1219
|
-
export type GetPolicyInfoResponse = GetPolicyInfoResponses[keyof GetPolicyInfoResponses];
|
|
1220
|
-
|
|
1221
|
-
export type GetBookableServicesData = {
|
|
1222
|
-
body?: never;
|
|
1223
|
-
path: {
|
|
1224
|
-
/**
|
|
1225
|
-
* Tenant identifier slug
|
|
1226
|
-
*/
|
|
1227
|
-
tenantSlug: TenantSlug;
|
|
1228
|
-
};
|
|
1229
|
-
query?: never;
|
|
1230
|
-
url: '/api/public/{tenantSlug}/services';
|
|
1231
|
-
};
|
|
1232
|
-
|
|
1233
|
-
export type GetBookableServicesErrors = {
|
|
1234
|
-
/**
|
|
1235
|
-
* Invalid or missing API key
|
|
1236
|
-
*/
|
|
1237
|
-
401: ApiError;
|
|
1238
|
-
/**
|
|
1239
|
-
* API key does not match the requested tenant
|
|
1240
|
-
*/
|
|
1241
|
-
403: ApiError;
|
|
1242
|
-
/**
|
|
1243
|
-
* Tenant not found or inactive
|
|
1244
|
-
*/
|
|
1245
|
-
404: ApiError;
|
|
1246
|
-
/**
|
|
1247
|
-
* Rate limit exceeded
|
|
1248
|
-
*/
|
|
1249
|
-
429: ApiError;
|
|
1250
|
-
};
|
|
1251
|
-
|
|
1252
|
-
export type GetBookableServicesError = GetBookableServicesErrors[keyof GetBookableServicesErrors];
|
|
1253
|
-
|
|
1254
|
-
export type GetBookableServicesResponses = {
|
|
1255
|
-
/**
|
|
1256
|
-
* Bookable services
|
|
1257
|
-
*/
|
|
1258
|
-
200: {
|
|
1259
|
-
data: BookableServices;
|
|
1260
|
-
};
|
|
1261
|
-
};
|
|
1262
|
-
|
|
1263
|
-
export type GetBookableServicesResponse = GetBookableServicesResponses[keyof GetBookableServicesResponses];
|