@savvycal/appointments-core 0.14.0 → 1.0.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/dist/index.d.cts CHANGED
@@ -8,6 +8,30 @@ import { HttpMethod, OperationRequestBodyContent } from 'openapi-typescript-help
8
8
  */
9
9
 
10
10
  interface paths {
11
+ "/v1/client_fields": {
12
+ parameters: {
13
+ query?: never;
14
+ header?: never;
15
+ path?: never;
16
+ cookie?: never;
17
+ };
18
+ /**
19
+ * List client fields
20
+ * @description List all client fields for an account
21
+ */
22
+ get: operations["listClientFields"];
23
+ put?: never;
24
+ /**
25
+ * Create client field
26
+ * @description Create a new client field in the account.
27
+ */
28
+ post: operations["createClientField"];
29
+ delete?: never;
30
+ options?: never;
31
+ head?: never;
32
+ patch?: never;
33
+ trace?: never;
34
+ };
11
35
  "/v1/appointments/{appointment_id}": {
12
36
  parameters: {
13
37
  query?: never;
@@ -121,6 +145,30 @@ interface paths {
121
145
  patch?: never;
122
146
  trace?: never;
123
147
  };
148
+ "/v1/services/{service_id}/forms": {
149
+ parameters: {
150
+ query?: never;
151
+ header?: never;
152
+ path?: never;
153
+ cookie?: never;
154
+ };
155
+ /**
156
+ * List service forms
157
+ * @description List all forms attached to a service.
158
+ */
159
+ get: operations["listServiceForms"];
160
+ put?: never;
161
+ /**
162
+ * Attach form to service
163
+ * @description Attach an existing form to a service.
164
+ */
165
+ post: operations["attachServiceForm"];
166
+ delete?: never;
167
+ options?: never;
168
+ head?: never;
169
+ patch?: never;
170
+ trace?: never;
171
+ };
124
172
  "/v1/booking_intents/{booking_intent_id}/complete": {
125
173
  parameters: {
126
174
  query?: never;
@@ -383,6 +431,26 @@ interface paths {
383
431
  patch?: never;
384
432
  trace?: never;
385
433
  };
434
+ "/v1/service_forms/{service_form_id}": {
435
+ parameters: {
436
+ query?: never;
437
+ header?: never;
438
+ path?: never;
439
+ cookie?: never;
440
+ };
441
+ get?: never;
442
+ put?: never;
443
+ post?: never;
444
+ /**
445
+ * Detach form from service
446
+ * @description Detach a form from a service.
447
+ */
448
+ delete: operations["detachServiceForm"];
449
+ options?: never;
450
+ head?: never;
451
+ patch?: never;
452
+ trace?: never;
453
+ };
386
454
  "/v1/accounts/{account_id}": {
387
455
  parameters: {
388
456
  query?: never;
@@ -455,6 +523,34 @@ interface paths {
455
523
  patch?: never;
456
524
  trace?: never;
457
525
  };
526
+ "/v1/forms/{form_id}": {
527
+ parameters: {
528
+ query?: never;
529
+ header?: never;
530
+ path?: never;
531
+ cookie?: never;
532
+ };
533
+ /**
534
+ * Get form
535
+ * @description Get a single form by ID.
536
+ */
537
+ get: operations["getForm"];
538
+ put?: never;
539
+ post?: never;
540
+ /**
541
+ * Delete form
542
+ * @description Delete an existing form.
543
+ */
544
+ delete: operations["deleteForm"];
545
+ options?: never;
546
+ head?: never;
547
+ /**
548
+ * Update form
549
+ * @description Update an existing form.
550
+ */
551
+ patch: operations["updateForm"];
552
+ trace?: never;
553
+ };
458
554
  "/v1/service_providers/{service_provider_id}": {
459
555
  parameters: {
460
556
  query?: never;
@@ -523,6 +619,30 @@ interface paths {
523
619
  patch: operations["updateCancellationReason"];
524
620
  trace?: never;
525
621
  };
622
+ "/v1/forms": {
623
+ parameters: {
624
+ query?: never;
625
+ header?: never;
626
+ path?: never;
627
+ cookie?: never;
628
+ };
629
+ /**
630
+ * List forms
631
+ * @description List all forms for an account.
632
+ */
633
+ get: operations["listForms"];
634
+ put?: never;
635
+ /**
636
+ * Create form
637
+ * @description Create a new form in the account.
638
+ */
639
+ post: operations["createForm"];
640
+ delete?: never;
641
+ options?: never;
642
+ head?: never;
643
+ patch?: never;
644
+ trace?: never;
645
+ };
526
646
  "/v1/appointments/{appointment_id}/confirm": {
527
647
  parameters: {
528
648
  query?: never;
@@ -851,6 +971,26 @@ interface paths {
851
971
  patch?: never;
852
972
  trace?: never;
853
973
  };
974
+ "/v1/services/{service_id}/forms/sort": {
975
+ parameters: {
976
+ query?: never;
977
+ header?: never;
978
+ path?: never;
979
+ cookie?: never;
980
+ };
981
+ get?: never;
982
+ put?: never;
983
+ /**
984
+ * Sort service forms
985
+ * @description Reorder forms attached to a service.
986
+ */
987
+ post: operations["sortServiceForms"];
988
+ delete?: never;
989
+ options?: never;
990
+ head?: never;
991
+ patch?: never;
992
+ trace?: never;
993
+ };
854
994
  "/v1/account": {
855
995
  parameters: {
856
996
  query?: never;
@@ -1026,6 +1166,34 @@ interface paths {
1026
1166
  patch: operations["updateBlock"];
1027
1167
  trace?: never;
1028
1168
  };
1169
+ "/v1/client_fields/{client_field_id}": {
1170
+ parameters: {
1171
+ query?: never;
1172
+ header?: never;
1173
+ path?: never;
1174
+ cookie?: never;
1175
+ };
1176
+ /**
1177
+ * Get client field
1178
+ * @description Get a single client field by ID.
1179
+ */
1180
+ get: operations["getClientField"];
1181
+ put?: never;
1182
+ post?: never;
1183
+ /**
1184
+ * Delete client field
1185
+ * @description Delete an existing client field.
1186
+ */
1187
+ delete: operations["deleteClientField"];
1188
+ options?: never;
1189
+ head?: never;
1190
+ /**
1191
+ * Update client field
1192
+ * @description Update an existing client field.
1193
+ */
1194
+ patch: operations["updateClientField"];
1195
+ trace?: never;
1196
+ };
1029
1197
  "/v1/services/{service_id}/slots": {
1030
1198
  parameters: {
1031
1199
  query?: never;
@@ -1186,6 +1354,37 @@ interface components {
1186
1354
  /** @description Weekly rules for the schedule. */
1187
1355
  weekly_rules?: components["schemas"]["WeeklyRule"][];
1188
1356
  };
1357
+ /**
1358
+ * FormResponse
1359
+ * @description Response schema for a single form
1360
+ * @example {
1361
+ * "data": {
1362
+ * "created_at": "2025-02-17T17:49:19Z",
1363
+ * "field_count": 1,
1364
+ * "fields": [
1365
+ * {
1366
+ * "description": null,
1367
+ * "id": "ff_abc123",
1368
+ * "key": "full_name",
1369
+ * "label": "Full Name",
1370
+ * "must_be_true": false,
1371
+ * "options": null,
1372
+ * "position": 0,
1373
+ * "required": true,
1374
+ * "sensitive": false,
1375
+ * "type": "short_text"
1376
+ * }
1377
+ * ],
1378
+ * "id": "frm_d025a96ac0c6",
1379
+ * "internal_name": "Intake Form",
1380
+ * "object": "form",
1381
+ * "updated_at": "2025-02-17T17:49:19Z"
1382
+ * }
1383
+ * }
1384
+ */
1385
+ FormResponse: {
1386
+ data: components["schemas"]["FormDetail"];
1387
+ };
1189
1388
  /**
1190
1389
  * ConfirmationEvent
1191
1390
  * @description This is an object representing when an appointment was confirmed.
@@ -1453,9 +1652,6 @@ interface components {
1453
1652
  * "reference_id": "ext_12345",
1454
1653
  * "time_zone": "America/Chicago"
1455
1654
  * },
1456
- * "client_locale": "en-US",
1457
- * "client_reference_id": "ext_12345",
1458
- * "client_time_zone": "America/Chicago",
1459
1655
  * "confirmation_events": [
1460
1656
  * {
1461
1657
  * "actor": null,
@@ -1488,12 +1684,6 @@ interface components {
1488
1684
  * "unix_ts": 1736464800,
1489
1685
  * "utc": "2025-03-01T04:00:00Z"
1490
1686
  * },
1491
- * "fields": {
1492
- * "email": "jane.smith@example.com",
1493
- * "first_name": "Jane",
1494
- * "last_name": "Smith",
1495
- * "phone": "+15551234567"
1496
- * },
1497
1687
  * "id": "appt_a1b2c3d4e5f6",
1498
1688
  * "object": "appointment",
1499
1689
  * "provider": {
@@ -1573,6 +1763,17 @@ interface components {
1573
1763
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
1574
1764
  * "created_at": "2025-02-17T17:49:19Z",
1575
1765
  * "duration": "PT1H30M",
1766
+ * "forms": [
1767
+ * {
1768
+ * "created_at": "2025-02-17T17:49:19Z",
1769
+ * "form_id": "frm_d025a96ac0c6",
1770
+ * "form_name": "Intake Form",
1771
+ * "id": "sf_d025a96ac0c6",
1772
+ * "object": "service_form",
1773
+ * "sort_order": 1,
1774
+ * "updated_at": "2025-02-17T17:49:19Z"
1775
+ * }
1776
+ * ],
1576
1777
  * "id": "srv_d025a96ac0c6",
1577
1778
  * "internal_name": null,
1578
1779
  * "metadata": {
@@ -1678,6 +1879,47 @@ interface components {
1678
1879
  */
1679
1880
  type: "appointment.rescheduled";
1680
1881
  };
1882
+ /**
1883
+ * FormField
1884
+ * @description A field within a form.
1885
+ * @example {
1886
+ * "description": null,
1887
+ * "id": "ff_abc123",
1888
+ * "key": "full_name",
1889
+ * "label": "Full Name",
1890
+ * "must_be_true": false,
1891
+ * "options": null,
1892
+ * "position": 0,
1893
+ * "required": true,
1894
+ * "sensitive": false,
1895
+ * "type": "short_text"
1896
+ * }
1897
+ */
1898
+ FormField: {
1899
+ /** @description Optional help text displayed below the field. */
1900
+ description?: string | null;
1901
+ /** @description Unique identifier for the field. */
1902
+ id?: string;
1903
+ /** @description Machine-readable key for the field. Must start with a lowercase letter and contain only lowercase letters, numbers, and underscores. */
1904
+ key: string;
1905
+ /** @description Display label for the field. */
1906
+ label: string;
1907
+ /** @description For boolean fields, whether the value must be true (e.g., consent checkboxes). */
1908
+ must_be_true?: boolean;
1909
+ /** @description Options configuration for choice-type fields. */
1910
+ options?: (components["schemas"]["FieldOptions"] | (string | null)) | null;
1911
+ /** @description Display position of the field within the form. */
1912
+ position: number;
1913
+ /** @description Whether the field is required. */
1914
+ required?: boolean;
1915
+ /** @description Whether the field contains sensitive data. */
1916
+ sensitive?: boolean;
1917
+ /**
1918
+ * @description The field type.
1919
+ * @enum {string}
1920
+ */
1921
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
1922
+ };
1681
1923
  /**
1682
1924
  * ForbiddenResponse
1683
1925
  * @description Response schema for forbidden requests
@@ -1830,6 +2072,20 @@ interface components {
1830
2072
  roles: components["schemas"]["Role"][];
1831
2073
  user: components["schemas"]["User"];
1832
2074
  };
2075
+ /**
2076
+ * ClientFieldChoice
2077
+ * @description A single choice option within a client field.
2078
+ * @example {
2079
+ * "id": "opt_a1b2c3d4e5f6",
2080
+ * "label": "Option A"
2081
+ * }
2082
+ */
2083
+ ClientFieldChoice: {
2084
+ /** @description Unique identifier for the choice. */
2085
+ id?: string;
2086
+ /** @description The display label for the choice. */
2087
+ label: string;
2088
+ };
1833
2089
  /**
1834
2090
  * UpdateBlockRequest
1835
2091
  * @description Request schema for updating a block.
@@ -1973,6 +2229,17 @@ interface components {
1973
2229
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
1974
2230
  * "created_at": "2025-02-17T17:49:19Z",
1975
2231
  * "duration": "PT1H30M",
2232
+ * "forms": [
2233
+ * {
2234
+ * "created_at": "2025-02-17T17:49:19Z",
2235
+ * "form_id": "frm_d025a96ac0c6",
2236
+ * "form_name": "Intake Form",
2237
+ * "id": "sf_d025a96ac0c6",
2238
+ * "object": "service_form",
2239
+ * "sort_order": 1,
2240
+ * "updated_at": "2025-02-17T17:49:19Z"
2241
+ * }
2242
+ * ],
1976
2243
  * "id": "srv_d025a96ac0c6",
1977
2244
  * "internal_name": null,
1978
2245
  * "metadata": {
@@ -2025,6 +2292,7 @@ interface components {
2025
2292
  * "utc": "2026-02-23T15:00:00Z"
2026
2293
  * },
2027
2294
  * "status": "slot_selected",
2295
+ * "submissions": [],
2028
2296
  * "updated_at": "2026-02-22T10:00:00Z"
2029
2297
  * },
2030
2298
  * "type": "booking_intent.completed"
@@ -2038,6 +2306,22 @@ interface components {
2038
2306
  */
2039
2307
  type: "booking_intent.completed";
2040
2308
  };
2309
+ /**
2310
+ * UpdateClientFieldRequest
2311
+ * @description Request schema for updating a client field
2312
+ * @example {
2313
+ * "label": "Updated Label"
2314
+ * }
2315
+ */
2316
+ UpdateClientFieldRequest: {
2317
+ /** @description An optional description of the field. */
2318
+ description?: string | null;
2319
+ /** @description The human-readable label for the field. */
2320
+ label?: string;
2321
+ options?: components["schemas"]["ClientFieldOptions"];
2322
+ /** @description Whether the field contains sensitive data. */
2323
+ sensitive?: boolean;
2324
+ };
2041
2325
  /**
2042
2326
  * AccountResponse
2043
2327
  * @description Response schema for a single account
@@ -2054,6 +2338,19 @@ interface components {
2054
2338
  AccountResponse: {
2055
2339
  data?: components["schemas"]["Account"];
2056
2340
  };
2341
+ /**
2342
+ * UpdateFormRequest
2343
+ * @description Request schema for updating a form.
2344
+ * @example {
2345
+ * "internal_name": "Updated Intake Form"
2346
+ * }
2347
+ */
2348
+ UpdateFormRequest: {
2349
+ /** @description The fields in the form. */
2350
+ fields?: components["schemas"]["FormFieldInput"][];
2351
+ /** @description The name of the form. */
2352
+ internal_name?: string;
2353
+ };
2057
2354
  /**
2058
2355
  * UpdateConnectedAccountRequest
2059
2356
  * @description Request schema for updating a connected account
@@ -2097,6 +2394,10 @@ interface components {
2097
2394
  /** @description Progressive client data to collect during the booking flow. */
2098
2395
  client_data?: {
2099
2396
  email?: string | null;
2397
+ /** @description A map of custom field key-value pairs. */
2398
+ fields?: {
2399
+ [key: string]: unknown;
2400
+ } | null;
2100
2401
  first_name?: string | null;
2101
2402
  last_name?: string | null;
2102
2403
  locale?: string | null;
@@ -2115,7 +2416,7 @@ interface components {
2115
2416
  hold_duration?: string | null;
2116
2417
  /** @description Whether to enable slot holding. When omitted, falls back to the service's hold policy. */
2117
2418
  hold_enabled?: boolean | null;
2118
- /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data. */
2419
+ /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data, submissions. */
2119
2420
  locked_fields?: string[] | null;
2120
2421
  /** @description Custom metadata key-value pairs. */
2121
2422
  metadata?: {
@@ -2135,6 +2436,8 @@ interface components {
2135
2436
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
2136
2437
  */
2137
2438
  start_at?: string | null;
2439
+ /** @description Form submissions to attach to this booking intent. Each entry contains a form_id and responses map. */
2440
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
2138
2441
  /** @description The local time zone for the slot (IANA format). */
2139
2442
  time_zone?: string | null;
2140
2443
  };
@@ -2218,6 +2521,17 @@ interface components {
2218
2521
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2219
2522
  * "created_at": "2025-02-17T17:49:19Z",
2220
2523
  * "duration": "PT1H30M",
2524
+ * "forms": [
2525
+ * {
2526
+ * "created_at": "2025-02-17T17:49:19Z",
2527
+ * "form_id": "frm_d025a96ac0c6",
2528
+ * "form_name": "Intake Form",
2529
+ * "id": "sf_d025a96ac0c6",
2530
+ * "object": "service_form",
2531
+ * "sort_order": 1,
2532
+ * "updated_at": "2025-02-17T17:49:19Z"
2533
+ * }
2534
+ * ],
2221
2535
  * "id": "srv_d025a96ac0c6",
2222
2536
  * "internal_name": null,
2223
2537
  * "metadata": {
@@ -2270,6 +2584,7 @@ interface components {
2270
2584
  * "utc": "2026-02-23T15:00:00Z"
2271
2585
  * },
2272
2586
  * "status": "slot_selected",
2587
+ * "submissions": [],
2273
2588
  * "updated_at": "2026-02-22T10:00:00Z"
2274
2589
  * },
2275
2590
  * "type": "booking_intent.abandoned"
@@ -2413,6 +2728,46 @@ interface components {
2413
2728
  /** @description List of role IDs to assign to the user (if `add_user` is true). */
2414
2729
  role_ids?: string[];
2415
2730
  };
2731
+ /**
2732
+ * FormFieldInput
2733
+ * @description A field within a form.
2734
+ * @example {
2735
+ * "description": null,
2736
+ * "key": "full_name",
2737
+ * "label": "Full Name",
2738
+ * "must_be_true": false,
2739
+ * "options": null,
2740
+ * "position": 0,
2741
+ * "required": true,
2742
+ * "sensitive": false,
2743
+ * "type": "short_text"
2744
+ * }
2745
+ */
2746
+ FormFieldInput: {
2747
+ /** @description Optional help text displayed below the field. */
2748
+ description?: string | null;
2749
+ /** @description Unique identifier for the field. Optional on create; include to reference an existing field on update. */
2750
+ id?: string;
2751
+ /** @description Machine-readable key for the field. Must start with a lowercase letter and contain only lowercase letters, numbers, and underscores. */
2752
+ key: string;
2753
+ /** @description Display label for the field. */
2754
+ label: string;
2755
+ /** @description For boolean fields, whether the value must be true (e.g., consent checkboxes). */
2756
+ must_be_true?: boolean;
2757
+ /** @description Options configuration for choice-type fields. */
2758
+ options?: (components["schemas"]["FieldOptionsInput"] | (string | null)) | null;
2759
+ /** @description Display position of the field within the form. */
2760
+ position: number;
2761
+ /** @description Whether the field is required. */
2762
+ required?: boolean;
2763
+ /** @description Whether the field contains sensitive data. */
2764
+ sensitive?: boolean;
2765
+ /**
2766
+ * @description The field type.
2767
+ * @enum {string}
2768
+ */
2769
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
2770
+ };
2416
2771
  /**
2417
2772
  * ServiceProvider
2418
2773
  * @description A service provider
@@ -2478,6 +2833,17 @@ interface components {
2478
2833
  /** @description Total number of pages */
2479
2834
  total_pages: number;
2480
2835
  };
2836
+ /**
2837
+ * AttachServiceFormRequest
2838
+ * @description Request schema for attaching a form to a service.
2839
+ * @example {
2840
+ * "form_id": "frm_d025a96ac0c6"
2841
+ * }
2842
+ */
2843
+ AttachServiceFormRequest: {
2844
+ /** @description The ID of the form to attach. */
2845
+ form_id: string;
2846
+ };
2481
2847
  /**
2482
2848
  * ServiceResponse
2483
2849
  * @description Response schema for a service
@@ -2510,6 +2876,17 @@ interface components {
2510
2876
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2511
2877
  * "created_at": "2025-02-17T17:49:19Z",
2512
2878
  * "duration": "PT1H30M",
2879
+ * "forms": [
2880
+ * {
2881
+ * "created_at": "2025-02-17T17:49:19Z",
2882
+ * "form_id": "frm_d025a96ac0c6",
2883
+ * "form_name": "Intake Form",
2884
+ * "id": "sf_d025a96ac0c6",
2885
+ * "object": "service_form",
2886
+ * "sort_order": 1,
2887
+ * "updated_at": "2025-02-17T17:49:19Z"
2888
+ * }
2889
+ * ],
2513
2890
  * "id": "srv_d025a96ac0c6",
2514
2891
  * "internal_name": null,
2515
2892
  * "metadata": {
@@ -2559,6 +2936,19 @@ interface components {
2559
2936
  ServiceResponse: {
2560
2937
  data: components["schemas"]["Service"];
2561
2938
  };
2939
+ /**
2940
+ * FieldChoiceInput
2941
+ * @description A choice option for a select, radio, or checkbox field. The id is optional on input; the server generates one if omitted.
2942
+ * @example {
2943
+ * "label": "Option A"
2944
+ * }
2945
+ */
2946
+ FieldChoiceInput: {
2947
+ /** @description Unique identifier for the choice. Optional on create; include to reference an existing choice on update. */
2948
+ id?: string;
2949
+ /** @description Display label for the choice. */
2950
+ label: string;
2951
+ };
2562
2952
  /**
2563
2953
  * BookingIntentUpdatedEventData
2564
2954
  * @description This is an object representing data for the booking intent updated event.
@@ -2639,6 +3029,17 @@ interface components {
2639
3029
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2640
3030
  * "created_at": "2025-02-17T17:49:19Z",
2641
3031
  * "duration": "PT1H30M",
3032
+ * "forms": [
3033
+ * {
3034
+ * "created_at": "2025-02-17T17:49:19Z",
3035
+ * "form_id": "frm_d025a96ac0c6",
3036
+ * "form_name": "Intake Form",
3037
+ * "id": "sf_d025a96ac0c6",
3038
+ * "object": "service_form",
3039
+ * "sort_order": 1,
3040
+ * "updated_at": "2025-02-17T17:49:19Z"
3041
+ * }
3042
+ * ],
2642
3043
  * "id": "srv_d025a96ac0c6",
2643
3044
  * "internal_name": null,
2644
3045
  * "metadata": {
@@ -2691,6 +3092,7 @@ interface components {
2691
3092
  * "utc": "2026-02-23T15:00:00Z"
2692
3093
  * },
2693
3094
  * "status": "slot_selected",
3095
+ * "submissions": [],
2694
3096
  * "updated_at": "2026-02-22T10:00:00Z"
2695
3097
  * },
2696
3098
  * "type": "booking_intent.updated"
@@ -2772,6 +3174,25 @@ interface components {
2772
3174
  /** @enum {string} */
2773
3175
  source: "client_ui" | "dashboard" | "api";
2774
3176
  };
3177
+ /**
3178
+ * ClientFieldOptions
3179
+ * @description Options for choice-type client fields.
3180
+ * @example {
3181
+ * "allow_other": false,
3182
+ * "choices": [
3183
+ * {
3184
+ * "id": "opt_a1b2c3d4e5f6",
3185
+ * "label": "Option A"
3186
+ * }
3187
+ * ]
3188
+ * }
3189
+ */
3190
+ ClientFieldOptions: {
3191
+ /** @description Whether to allow a free-text "other" option. */
3192
+ allow_other?: boolean;
3193
+ /** @description The list of choices. */
3194
+ choices?: components["schemas"]["ClientFieldChoice"][];
3195
+ };
2775
3196
  /**
2776
3197
  * CreateAccountUserRequest
2777
3198
  * @description Request schema for creating a user in an account
@@ -2871,6 +3292,10 @@ interface components {
2871
3292
  /** @description Progressive client data. Provided fields are merged with existing values. */
2872
3293
  client_data?: {
2873
3294
  email?: string | null;
3295
+ /** @description A map of custom field key-value pairs. */
3296
+ fields?: {
3297
+ [key: string]: unknown;
3298
+ } | null;
2874
3299
  first_name?: string | null;
2875
3300
  last_name?: string | null;
2876
3301
  locale?: string | null;
@@ -2898,9 +3323,49 @@ interface components {
2898
3323
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
2899
3324
  */
2900
3325
  start_at?: string | null;
3326
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
3327
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
2901
3328
  /** @description The local time zone for the slot (IANA format). */
2902
3329
  time_zone?: string | null;
2903
3330
  };
3331
+ /**
3332
+ * Form
3333
+ * @description A form represents an intake form with typed fields.
3334
+ * @example {
3335
+ * "created_at": "2025-02-17T17:49:19Z",
3336
+ * "field_count": 3,
3337
+ * "fields": null,
3338
+ * "id": "frm_d025a96ac0c6",
3339
+ * "internal_name": "Intake Form",
3340
+ * "object": "form",
3341
+ * "updated_at": "2025-02-17T17:49:19Z"
3342
+ * }
3343
+ */
3344
+ Form: {
3345
+ /**
3346
+ * Format: datetime
3347
+ * @description When the form was created.
3348
+ */
3349
+ created_at: string;
3350
+ /** @description The number of fields in the form. */
3351
+ field_count: number;
3352
+ /** @description The fields in the form when expanded. */
3353
+ fields?: components["schemas"]["FormField"][] | null;
3354
+ /** @description Unique identifier for the form. */
3355
+ id: string;
3356
+ /** @description The name of the form. */
3357
+ internal_name: string;
3358
+ /**
3359
+ * @description String representing the object's type.
3360
+ * @enum {string}
3361
+ */
3362
+ object: "form";
3363
+ /**
3364
+ * Format: datetime
3365
+ * @description When the form was last updated.
3366
+ */
3367
+ updated_at: string;
3368
+ };
2904
3369
  /**
2905
3370
  * BookingIntentsResponse
2906
3371
  * @description Response schema for multiple booking intents
@@ -2982,6 +3447,17 @@ interface components {
2982
3447
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2983
3448
  * "created_at": "2025-02-17T17:49:19Z",
2984
3449
  * "duration": "PT1H30M",
3450
+ * "forms": [
3451
+ * {
3452
+ * "created_at": "2025-02-17T17:49:19Z",
3453
+ * "form_id": "frm_d025a96ac0c6",
3454
+ * "form_name": "Intake Form",
3455
+ * "id": "sf_d025a96ac0c6",
3456
+ * "object": "service_form",
3457
+ * "sort_order": 1,
3458
+ * "updated_at": "2025-02-17T17:49:19Z"
3459
+ * }
3460
+ * ],
2985
3461
  * "id": "srv_d025a96ac0c6",
2986
3462
  * "internal_name": null,
2987
3463
  * "metadata": {
@@ -3034,6 +3510,7 @@ interface components {
3034
3510
  * "utc": "2026-02-23T15:00:00Z"
3035
3511
  * },
3036
3512
  * "status": "slot_selected",
3513
+ * "submissions": [],
3037
3514
  * "updated_at": "2026-02-22T10:00:00Z"
3038
3515
  * }
3039
3516
  * ],
@@ -3050,6 +3527,33 @@ interface components {
3050
3527
  data: components["schemas"]["BookingIntent"][];
3051
3528
  meta: components["schemas"]["PaginationMeta"];
3052
3529
  };
3530
+ /**
3531
+ * FormsResponse
3532
+ * @description Response schema for a list of forms
3533
+ * @example {
3534
+ * "data": [
3535
+ * {
3536
+ * "created_at": "2025-02-17T17:49:19Z",
3537
+ * "field_count": 3,
3538
+ * "fields": null,
3539
+ * "id": "frm_d025a96ac0c6",
3540
+ * "internal_name": "Intake Form",
3541
+ * "object": "form",
3542
+ * "updated_at": "2025-02-17T17:49:19Z"
3543
+ * }
3544
+ * ],
3545
+ * "meta": {
3546
+ * "current_page": 1,
3547
+ * "page_size": 10,
3548
+ * "total_count": 50,
3549
+ * "total_pages": 5
3550
+ * }
3551
+ * }
3552
+ */
3553
+ FormsResponse: {
3554
+ data: components["schemas"]["Form"][];
3555
+ meta: components["schemas"]["PaginationMeta"];
3556
+ };
3053
3557
  /**
3054
3558
  * RolesResponse
3055
3559
  * @description Response schema for multiple roles
@@ -3278,6 +3782,17 @@ interface components {
3278
3782
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3279
3783
  * "created_at": "2025-02-17T17:49:19Z",
3280
3784
  * "duration": "PT1H30M",
3785
+ * "forms": [
3786
+ * {
3787
+ * "created_at": "2025-02-17T17:49:19Z",
3788
+ * "form_id": "frm_d025a96ac0c6",
3789
+ * "form_name": "Intake Form",
3790
+ * "id": "sf_d025a96ac0c6",
3791
+ * "object": "service_form",
3792
+ * "sort_order": 1,
3793
+ * "updated_at": "2025-02-17T17:49:19Z"
3794
+ * }
3795
+ * ],
3281
3796
  * "id": "srv_d025a96ac0c6",
3282
3797
  * "internal_name": null,
3283
3798
  * "metadata": {
@@ -3330,6 +3845,7 @@ interface components {
3330
3845
  * "utc": "2026-02-23T15:00:00Z"
3331
3846
  * },
3332
3847
  * "status": "slot_selected",
3848
+ * "submissions": [],
3333
3849
  * "updated_at": "2026-02-22T10:00:00Z"
3334
3850
  * },
3335
3851
  * "type": "booking_intent.created"
@@ -3376,16 +3892,40 @@ interface components {
3376
3892
  updated_at: string;
3377
3893
  };
3378
3894
  /**
3379
- * PublicServiceEarliestSlotResponse
3380
- * @description Response schema for the earliest available service slot via the public API
3895
+ * IntentSubmissionInput
3896
+ * @description A form submission entry containing a form ID and response data.
3381
3897
  * @example {
3382
- * "data": {
3383
- * "end_at": "2025-03-10T10:00:00Z",
3384
- * "end_at_ts": 1736464800,
3385
- * "object": "slot",
3386
- * "start_at": "2025-03-10T09:00:00Z",
3387
- * "start_at_ts": 1736461200,
3388
- * "time_zone": "Etc/UTC"
3898
+ * "form_id": "frm_abc123def456abc123def456",
3899
+ * "responses": {
3900
+ * "color": [
3901
+ * "opt_abc"
3902
+ * ],
3903
+ * "name": "Jane Doe"
3904
+ * }
3905
+ * }
3906
+ */
3907
+ IntentSubmissionInput: {
3908
+ /** @description The ID of the form to submit responses for. */
3909
+ form_id: string;
3910
+ /**
3911
+ * @description A map of response data keyed by field key. Values depend on field type.
3912
+ * @default {}
3913
+ */
3914
+ responses: {
3915
+ [key: string]: unknown;
3916
+ };
3917
+ };
3918
+ /**
3919
+ * PublicServiceEarliestSlotResponse
3920
+ * @description Response schema for the earliest available service slot via the public API
3921
+ * @example {
3922
+ * "data": {
3923
+ * "end_at": "2025-03-10T10:00:00Z",
3924
+ * "end_at_ts": 1736464800,
3925
+ * "object": "slot",
3926
+ * "start_at": "2025-03-10T09:00:00Z",
3927
+ * "start_at_ts": 1736461200,
3928
+ * "time_zone": "Etc/UTC"
3389
3929
  * }
3390
3930
  * }
3391
3931
  */
@@ -3622,6 +4162,10 @@ interface components {
3622
4162
  * @description The client's email address. This field will be `null` unless `include_sensitive` is `true`.
3623
4163
  */
3624
4164
  email?: string | null;
4165
+ /** @description Custom field values for this client as a map of field key to value. Sensitive field values will be `null` unless `include_sensitive` is `true`. */
4166
+ fields?: {
4167
+ [key: string]: unknown;
4168
+ } | null;
3625
4169
  /** @description The client's first name. This field will be `null` unless `include_sensitive` is `true`. */
3626
4170
  first_name?: string | null;
3627
4171
  /** @description Unique identifier for the object. */
@@ -3689,6 +4233,20 @@ interface components {
3689
4233
  */
3690
4234
  updated_at: string;
3691
4235
  };
4236
+ /**
4237
+ * SortServiceFormsRequest
4238
+ * @description Request schema for reordering service forms.
4239
+ * @example {
4240
+ * "ids": [
4241
+ * "sf_aaa111222333",
4242
+ * "sf_bbb444555666"
4243
+ * ]
4244
+ * }
4245
+ */
4246
+ SortServiceFormsRequest: {
4247
+ /** @description Ordered list of service form IDs. */
4248
+ ids: string[];
4249
+ };
3692
4250
  /**
3693
4251
  * ConnectedAccountResponse
3694
4252
  * @description Response schema for a single connected account
@@ -3744,6 +4302,17 @@ interface components {
3744
4302
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3745
4303
  * "created_at": "2025-02-17T17:49:19Z",
3746
4304
  * "duration": "PT1H30M",
4305
+ * "forms": [
4306
+ * {
4307
+ * "created_at": "2025-02-17T17:49:19Z",
4308
+ * "form_id": "frm_d025a96ac0c6",
4309
+ * "form_name": "Intake Form",
4310
+ * "id": "sf_d025a96ac0c6",
4311
+ * "object": "service_form",
4312
+ * "sort_order": 1,
4313
+ * "updated_at": "2025-02-17T17:49:19Z"
4314
+ * }
4315
+ * ],
3747
4316
  * "id": "srv_d025a96ac0c6",
3748
4317
  * "internal_name": null,
3749
4318
  * "metadata": {
@@ -3799,6 +4368,26 @@ interface components {
3799
4368
  */
3800
4369
  type: "service.deleted";
3801
4370
  };
4371
+ /**
4372
+ * ServiceFormsResponse
4373
+ * @description Response schema for a list of service forms
4374
+ * @example {
4375
+ * "data": [
4376
+ * {
4377
+ * "created_at": "2025-02-17T17:49:19Z",
4378
+ * "form_id": "frm_d025a96ac0c6",
4379
+ * "form_name": "Intake Form",
4380
+ * "id": "sf_d025a96ac0c6",
4381
+ * "object": "service_form",
4382
+ * "sort_order": 1,
4383
+ * "updated_at": "2025-02-17T17:49:19Z"
4384
+ * }
4385
+ * ]
4386
+ * }
4387
+ */
4388
+ ServiceFormsResponse: {
4389
+ data: components["schemas"]["ServiceForm"][];
4390
+ };
3802
4391
  /**
3803
4392
  * PublicServiceSlotsResponse
3804
4393
  * @description Response schema for service slots via the public API
@@ -3926,9 +4515,6 @@ interface components {
3926
4515
  * "reference_id": "ext_12345",
3927
4516
  * "time_zone": "America/Chicago"
3928
4517
  * },
3929
- * "client_locale": "en-US",
3930
- * "client_reference_id": "ext_12345",
3931
- * "client_time_zone": "America/Chicago",
3932
4518
  * "confirmation_events": [
3933
4519
  * {
3934
4520
  * "actor": null,
@@ -3961,12 +4547,6 @@ interface components {
3961
4547
  * "unix_ts": 1736464800,
3962
4548
  * "utc": "2025-03-01T04:00:00Z"
3963
4549
  * },
3964
- * "fields": {
3965
- * "email": "jane.smith@example.com",
3966
- * "first_name": "Jane",
3967
- * "last_name": "Smith",
3968
- * "phone": "+15551234567"
3969
- * },
3970
4550
  * "id": "appt_a1b2c3d4e5f6",
3971
4551
  * "object": "appointment",
3972
4552
  * "provider": {
@@ -4046,6 +4626,17 @@ interface components {
4046
4626
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4047
4627
  * "created_at": "2025-02-17T17:49:19Z",
4048
4628
  * "duration": "PT1H30M",
4629
+ * "forms": [
4630
+ * {
4631
+ * "created_at": "2025-02-17T17:49:19Z",
4632
+ * "form_id": "frm_d025a96ac0c6",
4633
+ * "form_name": "Intake Form",
4634
+ * "id": "sf_d025a96ac0c6",
4635
+ * "object": "service_form",
4636
+ * "sort_order": 1,
4637
+ * "updated_at": "2025-02-17T17:49:19Z"
4638
+ * }
4639
+ * ],
4049
4640
  * "id": "srv_d025a96ac0c6",
4050
4641
  * "internal_name": null,
4051
4642
  * "metadata": {
@@ -4131,6 +4722,57 @@ interface components {
4131
4722
  */
4132
4723
  type: "appointment.confirmed";
4133
4724
  };
4725
+ /**
4726
+ * FormDetail
4727
+ * @description A form with full field details.
4728
+ * @example {
4729
+ * "created_at": "2025-02-17T17:49:19Z",
4730
+ * "field_count": 1,
4731
+ * "fields": [
4732
+ * {
4733
+ * "description": null,
4734
+ * "id": "ff_abc123",
4735
+ * "key": "full_name",
4736
+ * "label": "Full Name",
4737
+ * "must_be_true": false,
4738
+ * "options": null,
4739
+ * "position": 0,
4740
+ * "required": true,
4741
+ * "sensitive": false,
4742
+ * "type": "short_text"
4743
+ * }
4744
+ * ],
4745
+ * "id": "frm_d025a96ac0c6",
4746
+ * "internal_name": "Intake Form",
4747
+ * "object": "form",
4748
+ * "updated_at": "2025-02-17T17:49:19Z"
4749
+ * }
4750
+ */
4751
+ FormDetail: {
4752
+ /**
4753
+ * Format: datetime
4754
+ * @description When the form was created.
4755
+ */
4756
+ created_at: string;
4757
+ /** @description The number of fields in the form. */
4758
+ field_count: number;
4759
+ /** @description The fields in the form. */
4760
+ fields: components["schemas"]["FormField"][];
4761
+ /** @description Unique identifier for the form. */
4762
+ id: string;
4763
+ /** @description The name of the form. */
4764
+ internal_name: string;
4765
+ /**
4766
+ * @description String representing the object's type.
4767
+ * @enum {string}
4768
+ */
4769
+ object: "form";
4770
+ /**
4771
+ * Format: datetime
4772
+ * @description When the form was last updated.
4773
+ */
4774
+ updated_at: string;
4775
+ };
4134
4776
  /**
4135
4777
  * CancellationReasonResponse
4136
4778
  * @description Response schema for a single cancellation reason
@@ -4289,9 +4931,6 @@ interface components {
4289
4931
  * "reference_id": "ext_12345",
4290
4932
  * "time_zone": "America/Chicago"
4291
4933
  * },
4292
- * "client_locale": "en-US",
4293
- * "client_reference_id": "ext_12345",
4294
- * "client_time_zone": "America/Chicago",
4295
4934
  * "confirmation_events": [
4296
4935
  * {
4297
4936
  * "actor": null,
@@ -4324,12 +4963,6 @@ interface components {
4324
4963
  * "unix_ts": 1736464800,
4325
4964
  * "utc": "2025-03-01T04:00:00Z"
4326
4965
  * },
4327
- * "fields": {
4328
- * "email": "jane.smith@example.com",
4329
- * "first_name": "Jane",
4330
- * "last_name": "Smith",
4331
- * "phone": "+15551234567"
4332
- * },
4333
4966
  * "id": "appt_a1b2c3d4e5f6",
4334
4967
  * "object": "appointment",
4335
4968
  * "provider": {
@@ -4409,6 +5042,17 @@ interface components {
4409
5042
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4410
5043
  * "created_at": "2025-02-17T17:49:19Z",
4411
5044
  * "duration": "PT1H30M",
5045
+ * "forms": [
5046
+ * {
5047
+ * "created_at": "2025-02-17T17:49:19Z",
5048
+ * "form_id": "frm_d025a96ac0c6",
5049
+ * "form_name": "Intake Form",
5050
+ * "id": "sf_d025a96ac0c6",
5051
+ * "object": "service_form",
5052
+ * "sort_order": 1,
5053
+ * "updated_at": "2025-02-17T17:49:19Z"
5054
+ * }
5055
+ * ],
4412
5056
  * "id": "srv_d025a96ac0c6",
4413
5057
  * "internal_name": null,
4414
5058
  * "metadata": {
@@ -4555,6 +5199,10 @@ interface components {
4555
5199
  /** @description Progressive client data. Provided fields are merged with existing values. */
4556
5200
  client_data?: {
4557
5201
  email?: string | null;
5202
+ /** @description A map of custom field key-value pairs. */
5203
+ fields?: {
5204
+ [key: string]: unknown;
5205
+ } | null;
4558
5206
  first_name?: string | null;
4559
5207
  last_name?: string | null;
4560
5208
  locale?: string | null;
@@ -4573,7 +5221,7 @@ interface components {
4573
5221
  hold_duration?: string | null;
4574
5222
  /** @description Whether to enable slot holding. When omitted, falls back to the service's hold policy if service is changing. */
4575
5223
  hold_enabled?: boolean | null;
4576
- /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data. Replaces existing locked_fields entirely. */
5224
+ /** @description Fields to lock from public API updates. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data, submissions. Replaces existing locked_fields entirely. */
4577
5225
  locked_fields?: string[] | null;
4578
5226
  /** @description Custom metadata key-value pairs. Replaces existing metadata entirely. */
4579
5227
  metadata?: {
@@ -4590,6 +5238,8 @@ interface components {
4590
5238
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
4591
5239
  */
4592
5240
  start_at?: string | null;
5241
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
5242
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
4593
5243
  /** @description The local time zone for the slot (IANA format). */
4594
5244
  time_zone?: string | null;
4595
5245
  };
@@ -4677,9 +5327,6 @@ interface components {
4677
5327
  * "reference_id": "ext_12345",
4678
5328
  * "time_zone": "America/Chicago"
4679
5329
  * },
4680
- * "client_locale": "en-US",
4681
- * "client_reference_id": "ext_12345",
4682
- * "client_time_zone": "America/Chicago",
4683
5330
  * "confirmation_events": [
4684
5331
  * {
4685
5332
  * "actor": null,
@@ -4712,12 +5359,6 @@ interface components {
4712
5359
  * "unix_ts": 1736464800,
4713
5360
  * "utc": "2025-03-01T04:00:00Z"
4714
5361
  * },
4715
- * "fields": {
4716
- * "email": "jane.smith@example.com",
4717
- * "first_name": "Jane",
4718
- * "last_name": "Smith",
4719
- * "phone": "+15551234567"
4720
- * },
4721
5362
  * "id": "appt_a1b2c3d4e5f6",
4722
5363
  * "object": "appointment",
4723
5364
  * "provider": {
@@ -4797,6 +5438,17 @@ interface components {
4797
5438
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4798
5439
  * "created_at": "2025-02-17T17:49:19Z",
4799
5440
  * "duration": "PT1H30M",
5441
+ * "forms": [
5442
+ * {
5443
+ * "created_at": "2025-02-17T17:49:19Z",
5444
+ * "form_id": "frm_d025a96ac0c6",
5445
+ * "form_name": "Intake Form",
5446
+ * "id": "sf_d025a96ac0c6",
5447
+ * "object": "service_form",
5448
+ * "sort_order": 1,
5449
+ * "updated_at": "2025-02-17T17:49:19Z"
5450
+ * }
5451
+ * ],
4800
5452
  * "id": "srv_d025a96ac0c6",
4801
5453
  * "internal_name": null,
4802
5454
  * "metadata": {
@@ -5007,6 +5659,10 @@ interface components {
5007
5659
  UpdateClientRequest: {
5008
5660
  /** @description The client's email address. */
5009
5661
  email?: string;
5662
+ /** @description A map of custom field key-value pairs to set on this client. */
5663
+ fields?: {
5664
+ [key: string]: unknown;
5665
+ };
5010
5666
  /** @description The client's first name. */
5011
5667
  first_name?: string;
5012
5668
  /** @description The client's last name. */
@@ -5186,9 +5842,6 @@ interface components {
5186
5842
  * "reference_id": "ext_12345",
5187
5843
  * "time_zone": "America/Chicago"
5188
5844
  * },
5189
- * "client_locale": "en-US",
5190
- * "client_reference_id": "ext_12345",
5191
- * "client_time_zone": "America/Chicago",
5192
5845
  * "confirmation_events": [
5193
5846
  * {
5194
5847
  * "actor": null,
@@ -5221,12 +5874,6 @@ interface components {
5221
5874
  * "unix_ts": 1736464800,
5222
5875
  * "utc": "2025-03-01T04:00:00Z"
5223
5876
  * },
5224
- * "fields": {
5225
- * "email": "jane.smith@example.com",
5226
- * "first_name": "Jane",
5227
- * "last_name": "Smith",
5228
- * "phone": "+15551234567"
5229
- * },
5230
5877
  * "id": "appt_a1b2c3d4e5f6",
5231
5878
  * "object": "appointment",
5232
5879
  * "provider": {
@@ -5306,6 +5953,17 @@ interface components {
5306
5953
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5307
5954
  * "created_at": "2025-02-17T17:49:19Z",
5308
5955
  * "duration": "PT1H30M",
5956
+ * "forms": [
5957
+ * {
5958
+ * "created_at": "2025-02-17T17:49:19Z",
5959
+ * "form_id": "frm_d025a96ac0c6",
5960
+ * "form_name": "Intake Form",
5961
+ * "id": "sf_d025a96ac0c6",
5962
+ * "object": "service_form",
5963
+ * "sort_order": 1,
5964
+ * "updated_at": "2025-02-17T17:49:19Z"
5965
+ * }
5966
+ * ],
5309
5967
  * "id": "srv_d025a96ac0c6",
5310
5968
  * "internal_name": null,
5311
5969
  * "metadata": {
@@ -5589,6 +6247,20 @@ interface components {
5589
6247
  hold: components["schemas"]["HoldPolicy"];
5590
6248
  maximize_utilization: components["schemas"]["MaximizeUtilizationPolicy"];
5591
6249
  };
6250
+ /**
6251
+ * FieldChoice
6252
+ * @description A choice option for a select, radio, or checkbox field.
6253
+ * @example {
6254
+ * "id": "opt_abc123",
6255
+ * "label": "Option A"
6256
+ * }
6257
+ */
6258
+ FieldChoice: {
6259
+ /** @description Unique identifier for the choice. */
6260
+ id: string;
6261
+ /** @description Display label for the choice. */
6262
+ label: string;
6263
+ };
5592
6264
  /**
5593
6265
  * Service
5594
6266
  * @description A service represents a type of appointment.
@@ -5620,6 +6292,17 @@ interface components {
5620
6292
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5621
6293
  * "created_at": "2025-02-17T17:49:19Z",
5622
6294
  * "duration": "PT1H30M",
6295
+ * "forms": [
6296
+ * {
6297
+ * "created_at": "2025-02-17T17:49:19Z",
6298
+ * "form_id": "frm_d025a96ac0c6",
6299
+ * "form_name": "Intake Form",
6300
+ * "id": "sf_d025a96ac0c6",
6301
+ * "object": "service_form",
6302
+ * "sort_order": 1,
6303
+ * "updated_at": "2025-02-17T17:49:19Z"
6304
+ * }
6305
+ * ],
5623
6306
  * "id": "srv_d025a96ac0c6",
5624
6307
  * "internal_name": null,
5625
6308
  * "metadata": {
@@ -5688,6 +6371,8 @@ interface components {
5688
6371
  * @example `PT30M`
5689
6372
  */
5690
6373
  duration: string;
6374
+ /** @description Forms attached to this service. */
6375
+ forms?: components["schemas"]["ServiceForm"][] | null;
5691
6376
  /** @description Unique identifier for the object. */
5692
6377
  id: string;
5693
6378
  /** @description An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name. */
@@ -5713,6 +6398,25 @@ interface components {
5713
6398
  */
5714
6399
  updated_at: string;
5715
6400
  };
6401
+ /**
6402
+ * FieldOptions
6403
+ * @description Options for choice-type fields (select, radio, checkbox).
6404
+ * @example {
6405
+ * "allow_other": false,
6406
+ * "choices": [
6407
+ * {
6408
+ * "id": "opt_abc123",
6409
+ * "label": "Option A"
6410
+ * }
6411
+ * ]
6412
+ * }
6413
+ */
6414
+ FieldOptions: {
6415
+ /** @description Whether to allow a free-text 'other' option. */
6416
+ allow_other: boolean;
6417
+ /** @description List of available choices. */
6418
+ choices: components["schemas"]["FieldChoice"][];
6419
+ };
5716
6420
  /**
5717
6421
  * ProviderReactivatedEventData
5718
6422
  * @description This is an object representing data for the provider reactivated event.
@@ -5793,6 +6497,10 @@ interface components {
5793
6497
  /** @description Progressive client data. Provided fields are merged with existing values. */
5794
6498
  client_data?: {
5795
6499
  email?: string | null;
6500
+ /** @description A map of custom field key-value pairs. */
6501
+ fields?: {
6502
+ [key: string]: unknown;
6503
+ } | null;
5796
6504
  first_name?: string | null;
5797
6505
  last_name?: string | null;
5798
6506
  locale?: string | null;
@@ -5814,6 +6522,8 @@ interface components {
5814
6522
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
5815
6523
  */
5816
6524
  start_at?: string | null;
6525
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
6526
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
5817
6527
  /** @description The local time zone for the slot (IANA format). */
5818
6528
  time_zone?: string | null;
5819
6529
  };
@@ -5976,6 +6686,17 @@ interface components {
5976
6686
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5977
6687
  * "created_at": "2025-02-17T17:49:19Z",
5978
6688
  * "duration": "PT1H30M",
6689
+ * "forms": [
6690
+ * {
6691
+ * "created_at": "2025-02-17T17:49:19Z",
6692
+ * "form_id": "frm_d025a96ac0c6",
6693
+ * "form_name": "Intake Form",
6694
+ * "id": "sf_d025a96ac0c6",
6695
+ * "object": "service_form",
6696
+ * "sort_order": 1,
6697
+ * "updated_at": "2025-02-17T17:49:19Z"
6698
+ * }
6699
+ * ],
5979
6700
  * "id": "srv_d025a96ac0c6",
5980
6701
  * "internal_name": null,
5981
6702
  * "metadata": {
@@ -6272,6 +6993,17 @@ interface components {
6272
6993
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
6273
6994
  * "created_at": "2025-02-17T17:49:19Z",
6274
6995
  * "duration": "PT1H30M",
6996
+ * "forms": [
6997
+ * {
6998
+ * "created_at": "2025-02-17T17:49:19Z",
6999
+ * "form_id": "frm_d025a96ac0c6",
7000
+ * "form_name": "Intake Form",
7001
+ * "id": "sf_d025a96ac0c6",
7002
+ * "object": "service_form",
7003
+ * "sort_order": 1,
7004
+ * "updated_at": "2025-02-17T17:49:19Z"
7005
+ * }
7006
+ * ],
6275
7007
  * "id": "srv_d025a96ac0c6",
6276
7008
  * "internal_name": null,
6277
7009
  * "metadata": {
@@ -6454,6 +7186,44 @@ interface components {
6454
7186
  */
6455
7187
  status: "pending" | "slot_selected" | "completed" | "abandoned";
6456
7188
  };
7189
+ /**
7190
+ * ServiceForm
7191
+ * @description A service form represents the attachment of a form to a service.
7192
+ * @example {
7193
+ * "created_at": "2025-02-17T17:49:19Z",
7194
+ * "form_id": "frm_d025a96ac0c6",
7195
+ * "form_name": "Intake Form",
7196
+ * "id": "sf_d025a96ac0c6",
7197
+ * "object": "service_form",
7198
+ * "sort_order": 1,
7199
+ * "updated_at": "2025-02-17T17:49:19Z"
7200
+ * }
7201
+ */
7202
+ ServiceForm: {
7203
+ /**
7204
+ * Format: datetime
7205
+ * @description When the service form was created.
7206
+ */
7207
+ created_at: string;
7208
+ /** @description The ID of the attached form. */
7209
+ form_id: string;
7210
+ /** @description The name of the attached form. */
7211
+ form_name: string;
7212
+ /** @description Unique identifier for the service form. */
7213
+ id: string;
7214
+ /**
7215
+ * @description String representing the object's type.
7216
+ * @enum {string}
7217
+ */
7218
+ object: "service_form";
7219
+ /** @description Display order of the form within the service. */
7220
+ sort_order: number;
7221
+ /**
7222
+ * Format: datetime
7223
+ * @description When the service form was last updated.
7224
+ */
7225
+ updated_at: string;
7226
+ };
6457
7227
  /**
6458
7228
  * UpdateAccountUserRequest
6459
7229
  * @description Request schema for updating a user in an account
@@ -6546,9 +7316,6 @@ interface components {
6546
7316
  * "reference_id": "ext_12345",
6547
7317
  * "time_zone": "America/Chicago"
6548
7318
  * },
6549
- * "client_locale": "en-US",
6550
- * "client_reference_id": "ext_12345",
6551
- * "client_time_zone": "America/Chicago",
6552
7319
  * "confirmation_events": [
6553
7320
  * {
6554
7321
  * "actor": null,
@@ -6581,12 +7348,6 @@ interface components {
6581
7348
  * "unix_ts": 1736464800,
6582
7349
  * "utc": "2025-03-01T04:00:00Z"
6583
7350
  * },
6584
- * "fields": {
6585
- * "email": "jane.smith@example.com",
6586
- * "first_name": "Jane",
6587
- * "last_name": "Smith",
6588
- * "phone": "+15551234567"
6589
- * },
6590
7351
  * "id": "appt_a1b2c3d4e5f6",
6591
7352
  * "object": "appointment",
6592
7353
  * "provider": {
@@ -6666,6 +7427,17 @@ interface components {
6666
7427
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
6667
7428
  * "created_at": "2025-02-17T17:49:19Z",
6668
7429
  * "duration": "PT1H30M",
7430
+ * "forms": [
7431
+ * {
7432
+ * "created_at": "2025-02-17T17:49:19Z",
7433
+ * "form_id": "frm_d025a96ac0c6",
7434
+ * "form_name": "Intake Form",
7435
+ * "id": "sf_d025a96ac0c6",
7436
+ * "object": "service_form",
7437
+ * "sort_order": 1,
7438
+ * "updated_at": "2025-02-17T17:49:19Z"
7439
+ * }
7440
+ * ],
6669
7441
  * "id": "srv_d025a96ac0c6",
6670
7442
  * "internal_name": null,
6671
7443
  * "metadata": {
@@ -6751,6 +7523,24 @@ interface components {
6751
7523
  */
6752
7524
  type: "appointment.canceled";
6753
7525
  };
7526
+ /**
7527
+ * FieldOptionsInput
7528
+ * @description Options for choice-type fields (select, radio, checkbox).
7529
+ * @example {
7530
+ * "allow_other": false,
7531
+ * "choices": [
7532
+ * {
7533
+ * "label": "Option A"
7534
+ * }
7535
+ * ]
7536
+ * }
7537
+ */
7538
+ FieldOptionsInput: {
7539
+ /** @description Whether to allow a free-text 'other' option. */
7540
+ allow_other: boolean;
7541
+ /** @description List of available choices. */
7542
+ choices: components["schemas"]["FieldChoiceInput"][];
7543
+ };
6754
7544
  /**
6755
7545
  * UpdatePublicBookingIntentRequest
6756
7546
  * @description Request schema for updating a booking intent via a public interface.
@@ -6771,6 +7561,10 @@ interface components {
6771
7561
  /** @description Progressive client data. Provided fields are merged with existing values. */
6772
7562
  client_data?: {
6773
7563
  email?: string | null;
7564
+ /** @description A map of custom field key-value pairs. */
7565
+ fields?: {
7566
+ [key: string]: unknown;
7567
+ } | null;
6774
7568
  first_name?: string | null;
6775
7569
  last_name?: string | null;
6776
7570
  locale?: string | null;
@@ -6792,6 +7586,8 @@ interface components {
6792
7586
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
6793
7587
  */
6794
7588
  start_at?: string | null;
7589
+ /** @description Form submissions to upsert by form_id. Provided entries are merged with existing submissions; omitted form_ids are left unchanged. Send an empty array to clear all. */
7590
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
6795
7591
  /** @description The local time zone for the slot (IANA format). */
6796
7592
  time_zone?: string | null;
6797
7593
  };
@@ -6845,6 +7641,31 @@ interface components {
6845
7641
  */
6846
7642
  type: "provider_schedule.updated";
6847
7643
  };
7644
+ /**
7645
+ * CreateClientFieldRequest
7646
+ * @description Request schema for creating a client field
7647
+ * @example {
7648
+ * "key": "company_name",
7649
+ * "label": "Company Name",
7650
+ * "type": "short_text"
7651
+ * }
7652
+ */
7653
+ CreateClientFieldRequest: {
7654
+ /** @description An optional description of the field. */
7655
+ description?: string | null;
7656
+ /** @description The machine-readable key for the field. */
7657
+ key: string;
7658
+ /** @description The human-readable label for the field. */
7659
+ label: string;
7660
+ options?: components["schemas"]["ClientFieldOptions"];
7661
+ /** @description Whether the field contains sensitive data. */
7662
+ sensitive?: boolean;
7663
+ /**
7664
+ * @description The field type.
7665
+ * @enum {string}
7666
+ */
7667
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
7668
+ };
6848
7669
  /**
6849
7670
  * PublicBookingIntentResponse
6850
7671
  * @description Response schema for a single booking intent via a public interface.
@@ -7262,6 +8083,10 @@ interface components {
7262
8083
  * @description The client's email address. Required if no existing client is provided.
7263
8084
  */
7264
8085
  email?: string | null;
8086
+ /** @description A map of custom field key-value pairs to set on the client. */
8087
+ fields?: {
8088
+ [key: string]: unknown;
8089
+ } | null;
7265
8090
  /** @description The client's first name. Required if no existing client is provided. */
7266
8091
  first_name?: string | null;
7267
8092
  /**
@@ -7399,6 +8224,10 @@ interface components {
7399
8224
  /** @description Progressive client data to collect during the booking flow. */
7400
8225
  client_data?: {
7401
8226
  email?: string | null;
8227
+ /** @description A map of custom field key-value pairs. */
8228
+ fields?: {
8229
+ [key: string]: unknown;
8230
+ } | null;
7402
8231
  first_name?: string | null;
7403
8232
  last_name?: string | null;
7404
8233
  locale?: string | null;
@@ -7420,6 +8249,8 @@ interface components {
7420
8249
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
7421
8250
  */
7422
8251
  start_at?: string | null;
8252
+ /** @description Form submissions to attach to this booking intent. Each entry contains a form_id and responses map. */
8253
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
7423
8254
  /** @description The local time zone for the slot (IANA format). */
7424
8255
  time_zone?: string | null;
7425
8256
  };
@@ -7503,6 +8334,17 @@ interface components {
7503
8334
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
7504
8335
  * "created_at": "2025-02-17T17:49:19Z",
7505
8336
  * "duration": "PT1H30M",
8337
+ * "forms": [
8338
+ * {
8339
+ * "created_at": "2025-02-17T17:49:19Z",
8340
+ * "form_id": "frm_d025a96ac0c6",
8341
+ * "form_name": "Intake Form",
8342
+ * "id": "sf_d025a96ac0c6",
8343
+ * "object": "service_form",
8344
+ * "sort_order": 1,
8345
+ * "updated_at": "2025-02-17T17:49:19Z"
8346
+ * }
8347
+ * ],
7506
8348
  * "id": "srv_d025a96ac0c6",
7507
8349
  * "internal_name": null,
7508
8350
  * "metadata": {
@@ -7555,6 +8397,7 @@ interface components {
7555
8397
  * "utc": "2026-02-23T15:00:00Z"
7556
8398
  * },
7557
8399
  * "status": "slot_selected",
8400
+ * "submissions": [],
7558
8401
  * "updated_at": "2026-02-22T10:00:00Z"
7559
8402
  * }
7560
8403
  * }
@@ -7635,9 +8478,6 @@ interface components {
7635
8478
  * "reference_id": "ext_12345",
7636
8479
  * "time_zone": "America/Chicago"
7637
8480
  * },
7638
- * "client_locale": "en-US",
7639
- * "client_reference_id": "ext_12345",
7640
- * "client_time_zone": "America/Chicago",
7641
8481
  * "confirmation_events": [
7642
8482
  * {
7643
8483
  * "actor": null,
@@ -7670,12 +8510,6 @@ interface components {
7670
8510
  * "unix_ts": 1736464800,
7671
8511
  * "utc": "2025-03-01T04:00:00Z"
7672
8512
  * },
7673
- * "fields": {
7674
- * "email": "jane.smith@example.com",
7675
- * "first_name": "Jane",
7676
- * "last_name": "Smith",
7677
- * "phone": "+15551234567"
7678
- * },
7679
8513
  * "id": "appt_a1b2c3d4e5f6",
7680
8514
  * "object": "appointment",
7681
8515
  * "provider": {
@@ -7755,6 +8589,17 @@ interface components {
7755
8589
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
7756
8590
  * "created_at": "2025-02-17T17:49:19Z",
7757
8591
  * "duration": "PT1H30M",
8592
+ * "forms": [
8593
+ * {
8594
+ * "created_at": "2025-02-17T17:49:19Z",
8595
+ * "form_id": "frm_d025a96ac0c6",
8596
+ * "form_name": "Intake Form",
8597
+ * "id": "sf_d025a96ac0c6",
8598
+ * "object": "service_form",
8599
+ * "sort_order": 1,
8600
+ * "updated_at": "2025-02-17T17:49:19Z"
8601
+ * }
8602
+ * ],
7758
8603
  * "id": "srv_d025a96ac0c6",
7759
8604
  * "internal_name": null,
7760
8605
  * "metadata": {
@@ -7973,6 +8818,59 @@ interface components {
7973
8818
  */
7974
8819
  time_zone: string;
7975
8820
  };
8821
+ /**
8822
+ * ClientField
8823
+ * @description This is an object representing a client field.
8824
+ * @example {
8825
+ * "created_at": "2024-01-01T00:00:00Z",
8826
+ * "description": null,
8827
+ * "id": "cf_a1b2c3d4e5f6",
8828
+ * "key": "company_name",
8829
+ * "label": "Company Name",
8830
+ * "object": "client_field",
8831
+ * "options": null,
8832
+ * "sensitive": false,
8833
+ * "sort_order": 1,
8834
+ * "type": "short_text",
8835
+ * "updated_at": "2024-01-01T00:00:00Z"
8836
+ * }
8837
+ */
8838
+ ClientField: {
8839
+ /**
8840
+ * Format: date-time
8841
+ * @description When the field was created.
8842
+ */
8843
+ created_at: string;
8844
+ /** @description An optional description of the field. */
8845
+ description?: string | null;
8846
+ /** @description Unique identifier for the object. */
8847
+ id: string;
8848
+ /** @description The machine-readable key for the field. */
8849
+ key: string;
8850
+ /** @description The human-readable label for the field. */
8851
+ label: string;
8852
+ /**
8853
+ * @description String representing the object's type.
8854
+ * @enum {string}
8855
+ */
8856
+ object: "client_field";
8857
+ /** @description Options for choice-type fields. */
8858
+ options?: (components["schemas"]["ClientFieldOptions"] | (Record<string, never> | null)) | null;
8859
+ /** @description Whether the field contains sensitive data. */
8860
+ sensitive: boolean;
8861
+ /** @description The sort order of the field. */
8862
+ sort_order: number;
8863
+ /**
8864
+ * @description The field type.
8865
+ * @enum {string}
8866
+ */
8867
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
8868
+ /**
8869
+ * Format: date-time
8870
+ * @description When the field was last updated.
8871
+ */
8872
+ updated_at: string;
8873
+ };
7976
8874
  /**
7977
8875
  * UpdateCancellationReasonRequest
7978
8876
  * @description Request schema for updating a cancellation reason
@@ -7984,6 +8882,49 @@ interface components {
7984
8882
  /** @description The cancellation reason's name. */
7985
8883
  name?: string;
7986
8884
  };
8885
+ /**
8886
+ * ServiceFormResponse
8887
+ * @description Response schema for a single service form
8888
+ * @example {
8889
+ * "data": {
8890
+ * "created_at": "2025-02-17T17:49:19Z",
8891
+ * "form_id": "frm_d025a96ac0c6",
8892
+ * "form_name": "Intake Form",
8893
+ * "id": "sf_d025a96ac0c6",
8894
+ * "object": "service_form",
8895
+ * "sort_order": 1,
8896
+ * "updated_at": "2025-02-17T17:49:19Z"
8897
+ * }
8898
+ * }
8899
+ */
8900
+ ServiceFormResponse: {
8901
+ data: components["schemas"]["ServiceForm"];
8902
+ };
8903
+ /**
8904
+ * ClientFieldsResponse
8905
+ * @description Response schema for multiple client fields
8906
+ * @example {
8907
+ * "data": [
8908
+ * {
8909
+ * "created_at": "2024-01-01T00:00:00Z",
8910
+ * "description": null,
8911
+ * "id": "cf_a1b2c3d4e5f6",
8912
+ * "key": "company_name",
8913
+ * "label": "Company Name",
8914
+ * "object": "client_field",
8915
+ * "options": null,
8916
+ * "sensitive": false,
8917
+ * "sort_order": 1,
8918
+ * "type": "short_text",
8919
+ * "updated_at": "2024-01-01T00:00:00Z"
8920
+ * }
8921
+ * ]
8922
+ * }
8923
+ */
8924
+ ClientFieldsResponse: {
8925
+ /** @description The client fields details */
8926
+ data: components["schemas"]["ClientField"][];
8927
+ };
7987
8928
  /**
7988
8929
  * BlockResponse
7989
8930
  * @description Response schema for a block
@@ -8089,9 +9030,6 @@ interface components {
8089
9030
  * "reference_id": "ext_12345",
8090
9031
  * "time_zone": "America/Chicago"
8091
9032
  * },
8092
- * "client_locale": "en-US",
8093
- * "client_reference_id": "ext_12345",
8094
- * "client_time_zone": "America/Chicago",
8095
9033
  * "confirmation_events": [
8096
9034
  * {
8097
9035
  * "actor": null,
@@ -8124,12 +9062,6 @@ interface components {
8124
9062
  * "unix_ts": 1736464800,
8125
9063
  * "utc": "2025-03-01T04:00:00Z"
8126
9064
  * },
8127
- * "fields": {
8128
- * "email": "jane.smith@example.com",
8129
- * "first_name": "Jane",
8130
- * "last_name": "Smith",
8131
- * "phone": "+15551234567"
8132
- * },
8133
9065
  * "id": "appt_a1b2c3d4e5f6",
8134
9066
  * "object": "appointment",
8135
9067
  * "provider": {
@@ -8209,6 +9141,17 @@ interface components {
8209
9141
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8210
9142
  * "created_at": "2025-02-17T17:49:19Z",
8211
9143
  * "duration": "PT1H30M",
9144
+ * "forms": [
9145
+ * {
9146
+ * "created_at": "2025-02-17T17:49:19Z",
9147
+ * "form_id": "frm_d025a96ac0c6",
9148
+ * "form_name": "Intake Form",
9149
+ * "id": "sf_d025a96ac0c6",
9150
+ * "object": "service_form",
9151
+ * "sort_order": 1,
9152
+ * "updated_at": "2025-02-17T17:49:19Z"
9153
+ * }
9154
+ * ],
8212
9155
  * "id": "srv_d025a96ac0c6",
8213
9156
  * "internal_name": null,
8214
9157
  * "metadata": {
@@ -8318,23 +9261,6 @@ interface components {
8318
9261
  */
8319
9262
  time_zone: string;
8320
9263
  };
8321
- /**
8322
- * @deprecated
8323
- * @description Use `client_data.locale` instead.
8324
- * @example en-US
8325
- */
8326
- client_locale?: string | null;
8327
- /**
8328
- * @deprecated
8329
- * @description Use `client_data.reference_id` instead.
8330
- */
8331
- client_reference_id?: string | null;
8332
- /**
8333
- * @deprecated
8334
- * @description Use `client_data.time_zone` instead.
8335
- * @example America/Chicago
8336
- */
8337
- client_time_zone?: string;
8338
9264
  confirmation_events: components["schemas"]["ConfirmationEvent"][];
8339
9265
  /**
8340
9266
  * Format: date-time
@@ -8347,23 +9273,6 @@ interface components {
8347
9273
  */
8348
9274
  created_at: string;
8349
9275
  end_at: components["schemas"]["ZonedDateTime"];
8350
- /**
8351
- * @deprecated
8352
- * @description Use `client_data` instead.
8353
- */
8354
- fields: {
8355
- /**
8356
- * Format: email
8357
- * @description The client's email address. This field will be `null` unless `include_sensitive` is `true`.
8358
- */
8359
- email?: string | null;
8360
- /** @description The client's first name. This field will be `null` unless `include_sensitive` is `true`. */
8361
- first_name?: string | null;
8362
- /** @description The client's last name. This field will be `null` unless `include_sensitive` is `true`. */
8363
- last_name?: string | null;
8364
- /** @description The client's phone number (E.164 format). This field will be `null` unless `include_sensitive` is `true`. */
8365
- phone?: string | null;
8366
- };
8367
9276
  /** @description Unique identifier for the object. */
8368
9277
  id: string;
8369
9278
  /**
@@ -8431,7 +9340,29 @@ interface components {
8431
9340
  type: "provider.deactivated";
8432
9341
  };
8433
9342
  /**
8434
- * PublicAppointmentResponse
9343
+ * CreateFormRequest
9344
+ * @description Request schema for creating a form.
9345
+ * @example {
9346
+ * "fields": [
9347
+ * {
9348
+ * "key": "full_name",
9349
+ * "label": "Full Name",
9350
+ * "position": 0,
9351
+ * "required": true,
9352
+ * "type": "short_text"
9353
+ * }
9354
+ * ],
9355
+ * "internal_name": "Intake Form"
9356
+ * }
9357
+ */
9358
+ CreateFormRequest: {
9359
+ /** @description The fields in the form. */
9360
+ fields?: components["schemas"]["FormFieldInput"][];
9361
+ /** @description The name of the form. */
9362
+ internal_name: string;
9363
+ };
9364
+ /**
9365
+ * PublicAppointmentResponse
8435
9366
  * @description Response schema for a single appointment created via a public interface.
8436
9367
  * @example {
8437
9368
  * "data": {
@@ -8614,6 +9545,17 @@ interface components {
8614
9545
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8615
9546
  * "created_at": "2025-02-17T17:49:19Z",
8616
9547
  * "duration": "PT1H30M",
9548
+ * "forms": [
9549
+ * {
9550
+ * "created_at": "2025-02-17T17:49:19Z",
9551
+ * "form_id": "frm_d025a96ac0c6",
9552
+ * "form_name": "Intake Form",
9553
+ * "id": "sf_d025a96ac0c6",
9554
+ * "object": "service_form",
9555
+ * "sort_order": 1,
9556
+ * "updated_at": "2025-02-17T17:49:19Z"
9557
+ * }
9558
+ * ],
8617
9559
  * "id": "srv_d025a96ac0c6",
8618
9560
  * "internal_name": null,
8619
9561
  * "metadata": {
@@ -8731,6 +9673,29 @@ interface components {
8731
9673
  /** @description The ID of the user who owns this connected account. */
8732
9674
  user_id: string | null;
8733
9675
  };
9676
+ /**
9677
+ * ClientFieldResponse
9678
+ * @description Response schema for a single client field
9679
+ * @example {
9680
+ * "data": {
9681
+ * "created_at": "2024-01-01T00:00:00Z",
9682
+ * "description": null,
9683
+ * "id": "cf_a1b2c3d4e5f6",
9684
+ * "key": "company_name",
9685
+ * "label": "Company Name",
9686
+ * "object": "client_field",
9687
+ * "options": null,
9688
+ * "sensitive": false,
9689
+ * "sort_order": 1,
9690
+ * "type": "short_text",
9691
+ * "updated_at": "2024-01-01T00:00:00Z"
9692
+ * }
9693
+ * }
9694
+ */
9695
+ ClientFieldResponse: {
9696
+ /** @description The client field details */
9697
+ data: Record<string, never>;
9698
+ };
8734
9699
  /**
8735
9700
  * BookingIntent
8736
9701
  * @description A booking intent that tracks the lifecycle of a booking attempt.
@@ -8810,6 +9775,17 @@ interface components {
8810
9775
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8811
9776
  * "created_at": "2025-02-17T17:49:19Z",
8812
9777
  * "duration": "PT1H30M",
9778
+ * "forms": [
9779
+ * {
9780
+ * "created_at": "2025-02-17T17:49:19Z",
9781
+ * "form_id": "frm_d025a96ac0c6",
9782
+ * "form_name": "Intake Form",
9783
+ * "id": "sf_d025a96ac0c6",
9784
+ * "object": "service_form",
9785
+ * "sort_order": 1,
9786
+ * "updated_at": "2025-02-17T17:49:19Z"
9787
+ * }
9788
+ * ],
8813
9789
  * "id": "srv_d025a96ac0c6",
8814
9790
  * "internal_name": null,
8815
9791
  * "metadata": {
@@ -8862,6 +9838,7 @@ interface components {
8862
9838
  * "utc": "2026-02-23T15:00:00Z"
8863
9839
  * },
8864
9840
  * "status": "slot_selected",
9841
+ * "submissions": [],
8865
9842
  * "updated_at": "2026-02-22T10:00:00Z"
8866
9843
  * }
8867
9844
  */
@@ -8908,7 +9885,7 @@ interface components {
8908
9885
  hold_until?: string | null;
8909
9886
  /** @description The booking intent ID */
8910
9887
  id: string;
8911
- /** @description Fields that are locked and cannot be updated via the public API. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data. */
9888
+ /** @description Fields that are locked and cannot be updated via the public API. Possible values: service_id, provider_id, start_at, end_at, time_zone, client_data, submissions. */
8912
9889
  locked_fields?: string[];
8913
9890
  /** @description Custom metadata key-value pairs */
8914
9891
  metadata?: {
@@ -8932,6 +9909,8 @@ interface components {
8932
9909
  * @enum {string}
8933
9910
  */
8934
9911
  status: "pending" | "slot_selected" | "completed" | "abandoned";
9912
+ /** @description Form submissions accumulated during the booking flow. Each entry contains a form_id and responses map. */
9913
+ submissions?: components["schemas"]["IntentSubmissionInput"][];
8935
9914
  /**
8936
9915
  * Format: date-time
8937
9916
  * @description When the intent was last updated
@@ -9028,6 +10007,8 @@ interface components {
9028
10007
  * @example PT1H30M
9029
10008
  */
9030
10009
  duration?: string;
10010
+ /** @description Optional list of form IDs to attach to the service. Each form is attached as required, with sort order matching the array order. */
10011
+ form_ids?: string[];
9031
10012
  /** @description An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name. */
9032
10013
  internal_name?: string | null;
9033
10014
  /** @description Set of key-value pairs to attach to this service. Maximum size is 16 KB. */
@@ -9088,9 +10069,6 @@ interface components {
9088
10069
  * "reference_id": "ext_12345",
9089
10070
  * "time_zone": "America/Chicago"
9090
10071
  * },
9091
- * "client_locale": "en-US",
9092
- * "client_reference_id": "ext_12345",
9093
- * "client_time_zone": "America/Chicago",
9094
10072
  * "confirmation_events": [
9095
10073
  * {
9096
10074
  * "actor": null,
@@ -9123,12 +10101,6 @@ interface components {
9123
10101
  * "unix_ts": 1736464800,
9124
10102
  * "utc": "2025-03-01T04:00:00Z"
9125
10103
  * },
9126
- * "fields": {
9127
- * "email": "jane.smith@example.com",
9128
- * "first_name": "Jane",
9129
- * "last_name": "Smith",
9130
- * "phone": "+15551234567"
9131
- * },
9132
10104
  * "id": "appt_a1b2c3d4e5f6",
9133
10105
  * "object": "appointment",
9134
10106
  * "provider": {
@@ -9208,6 +10180,17 @@ interface components {
9208
10180
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
9209
10181
  * "created_at": "2025-02-17T17:49:19Z",
9210
10182
  * "duration": "PT1H30M",
10183
+ * "forms": [
10184
+ * {
10185
+ * "created_at": "2025-02-17T17:49:19Z",
10186
+ * "form_id": "frm_d025a96ac0c6",
10187
+ * "form_name": "Intake Form",
10188
+ * "id": "sf_d025a96ac0c6",
10189
+ * "object": "service_form",
10190
+ * "sort_order": 1,
10191
+ * "updated_at": "2025-02-17T17:49:19Z"
10192
+ * }
10193
+ * ],
9211
10194
  * "id": "srv_d025a96ac0c6",
9212
10195
  * "internal_name": null,
9213
10196
  * "metadata": {
@@ -9350,6 +10333,10 @@ interface components {
9350
10333
  CreateClientRequest: {
9351
10334
  /** @description The client's email address. */
9352
10335
  email: string;
10336
+ /** @description A map of custom field key-value pairs to set on this client. */
10337
+ fields?: {
10338
+ [key: string]: unknown;
10339
+ };
9353
10340
  /** @description The client's first name. */
9354
10341
  first_name: string;
9355
10342
  /** @description The client's last name. */
@@ -9415,6 +10402,99 @@ interface components {
9415
10402
  pathItems: never;
9416
10403
  }
9417
10404
  interface operations {
10405
+ listClientFields: {
10406
+ parameters: {
10407
+ query?: never;
10408
+ header?: {
10409
+ /**
10410
+ * @description When authenticating with a platform token, specifies the account ID for the request
10411
+ * @example acct_1234567890
10412
+ */
10413
+ "X-SavvyCal-Account"?: string;
10414
+ };
10415
+ path?: never;
10416
+ cookie?: never;
10417
+ };
10418
+ requestBody?: never;
10419
+ responses: {
10420
+ /** @description Success */
10421
+ 200: {
10422
+ headers: {
10423
+ [name: string]: unknown;
10424
+ };
10425
+ content: {
10426
+ "application/json": components["schemas"]["ClientFieldsResponse"];
10427
+ };
10428
+ };
10429
+ /** @description Unauthorized */
10430
+ 401: {
10431
+ headers: {
10432
+ [name: string]: unknown;
10433
+ };
10434
+ content: {
10435
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10436
+ };
10437
+ };
10438
+ /** @description Unprocessable Entity */
10439
+ 422: {
10440
+ headers: {
10441
+ [name: string]: unknown;
10442
+ };
10443
+ content: {
10444
+ "application/json": components["schemas"]["JsonErrorResponse"];
10445
+ };
10446
+ };
10447
+ };
10448
+ };
10449
+ createClientField: {
10450
+ parameters: {
10451
+ query?: never;
10452
+ header?: {
10453
+ /**
10454
+ * @description When authenticating with a platform token, specifies the account ID for the request
10455
+ * @example acct_1234567890
10456
+ */
10457
+ "X-SavvyCal-Account"?: string;
10458
+ };
10459
+ path?: never;
10460
+ cookie?: never;
10461
+ };
10462
+ /** @description Client field params */
10463
+ requestBody?: {
10464
+ content: {
10465
+ "application/json": components["schemas"]["CreateClientFieldRequest"];
10466
+ };
10467
+ };
10468
+ responses: {
10469
+ /** @description Success */
10470
+ 201: {
10471
+ headers: {
10472
+ [name: string]: unknown;
10473
+ };
10474
+ content: {
10475
+ "application/json": components["schemas"]["ClientFieldResponse"];
10476
+ };
10477
+ };
10478
+ /** @description Unauthorized */
10479
+ 401: {
10480
+ headers: {
10481
+ [name: string]: unknown;
10482
+ };
10483
+ content: {
10484
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10485
+ };
10486
+ };
10487
+ /** @description Unprocessable Entity */
10488
+ 422: {
10489
+ headers: {
10490
+ [name: string]: unknown;
10491
+ };
10492
+ content: {
10493
+ "application/json": components["schemas"]["JsonErrorResponse"];
10494
+ };
10495
+ };
10496
+ };
10497
+ };
9418
10498
  getAppointment: {
9419
10499
  parameters: {
9420
10500
  query?: {
@@ -9729,6 +10809,114 @@ interface operations {
9729
10809
  };
9730
10810
  };
9731
10811
  };
10812
+ listServiceForms: {
10813
+ parameters: {
10814
+ query?: never;
10815
+ header?: {
10816
+ /**
10817
+ * @description When authenticating with a platform token, specifies the account ID for the request
10818
+ * @example acct_1234567890
10819
+ */
10820
+ "X-SavvyCal-Account"?: string;
10821
+ };
10822
+ path: {
10823
+ /** @description Service ID */
10824
+ service_id: string;
10825
+ };
10826
+ cookie?: never;
10827
+ };
10828
+ requestBody?: never;
10829
+ responses: {
10830
+ /** @description Success */
10831
+ 200: {
10832
+ headers: {
10833
+ [name: string]: unknown;
10834
+ };
10835
+ content: {
10836
+ "application/json": components["schemas"]["ServiceFormsResponse"];
10837
+ };
10838
+ };
10839
+ /** @description Unauthorized */
10840
+ 401: {
10841
+ headers: {
10842
+ [name: string]: unknown;
10843
+ };
10844
+ content: {
10845
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10846
+ };
10847
+ };
10848
+ /** @description Not Found */
10849
+ 404: {
10850
+ headers: {
10851
+ [name: string]: unknown;
10852
+ };
10853
+ content: {
10854
+ "application/json": components["schemas"]["NotFoundResponse"];
10855
+ };
10856
+ };
10857
+ };
10858
+ };
10859
+ attachServiceForm: {
10860
+ parameters: {
10861
+ query?: never;
10862
+ header?: {
10863
+ /**
10864
+ * @description When authenticating with a platform token, specifies the account ID for the request
10865
+ * @example acct_1234567890
10866
+ */
10867
+ "X-SavvyCal-Account"?: string;
10868
+ };
10869
+ path: {
10870
+ /** @description Service ID */
10871
+ service_id: string;
10872
+ };
10873
+ cookie?: never;
10874
+ };
10875
+ /** @description Service form params */
10876
+ requestBody?: {
10877
+ content: {
10878
+ "application/json": components["schemas"]["AttachServiceFormRequest"];
10879
+ };
10880
+ };
10881
+ responses: {
10882
+ /** @description Success */
10883
+ 201: {
10884
+ headers: {
10885
+ [name: string]: unknown;
10886
+ };
10887
+ content: {
10888
+ "application/json": components["schemas"]["ServiceFormResponse"];
10889
+ };
10890
+ };
10891
+ /** @description Unauthorized */
10892
+ 401: {
10893
+ headers: {
10894
+ [name: string]: unknown;
10895
+ };
10896
+ content: {
10897
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10898
+ };
10899
+ };
10900
+ /** @description Not Found */
10901
+ 404: {
10902
+ headers: {
10903
+ [name: string]: unknown;
10904
+ };
10905
+ content: {
10906
+ "application/json": components["schemas"]["NotFoundResponse"];
10907
+ };
10908
+ };
10909
+ /** @description Unprocessable Entity */
10910
+ 422: {
10911
+ headers: {
10912
+ [name: string]: unknown;
10913
+ };
10914
+ content: {
10915
+ "application/json": components["schemas"]["JsonErrorResponse"];
10916
+ };
10917
+ };
10918
+ };
10919
+ };
9732
10920
  completeBookingIntent: {
9733
10921
  parameters: {
9734
10922
  query?: never;
@@ -10033,7 +11221,10 @@ interface operations {
10033
11221
  };
10034
11222
  getClient: {
10035
11223
  parameters: {
10036
- query?: never;
11224
+ query?: {
11225
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
11226
+ include_sensitive?: boolean;
11227
+ };
10037
11228
  header?: {
10038
11229
  /**
10039
11230
  * @description When authenticating with a platform token, specifies the account ID for the request
@@ -10559,25 +11750,31 @@ interface operations {
10559
11750
  };
10560
11751
  };
10561
11752
  };
10562
- getAccountById: {
11753
+ detachServiceForm: {
10563
11754
  parameters: {
10564
11755
  query?: never;
10565
- header?: never;
11756
+ header?: {
11757
+ /**
11758
+ * @description When authenticating with a platform token, specifies the account ID for the request
11759
+ * @example acct_1234567890
11760
+ */
11761
+ "X-SavvyCal-Account"?: string;
11762
+ };
10566
11763
  path: {
10567
- /** @description Account ID */
10568
- account_id: string;
11764
+ /** @description Service Form ID */
11765
+ service_form_id: string;
10569
11766
  };
10570
11767
  cookie?: never;
10571
11768
  };
10572
11769
  requestBody?: never;
10573
11770
  responses: {
10574
- /** @description Success */
10575
- 200: {
11771
+ /** @description No Content */
11772
+ 204: {
10576
11773
  headers: {
10577
11774
  [name: string]: unknown;
10578
11775
  };
10579
11776
  content: {
10580
- "application/json": components["schemas"]["AccountResponse"];
11777
+ "text/plain": string;
10581
11778
  };
10582
11779
  };
10583
11780
  /** @description Unauthorized */
@@ -10600,7 +11797,7 @@ interface operations {
10600
11797
  };
10601
11798
  };
10602
11799
  };
10603
- updateAccount: {
11800
+ getAccountById: {
10604
11801
  parameters: {
10605
11802
  query?: never;
10606
11803
  header?: never;
@@ -10610,12 +11807,53 @@ interface operations {
10610
11807
  };
10611
11808
  cookie?: never;
10612
11809
  };
10613
- /** @description Account params */
10614
- requestBody?: {
10615
- content: {
10616
- "application/json": components["schemas"]["UpdateAccountRequest"];
10617
- };
10618
- };
11810
+ requestBody?: never;
11811
+ responses: {
11812
+ /** @description Success */
11813
+ 200: {
11814
+ headers: {
11815
+ [name: string]: unknown;
11816
+ };
11817
+ content: {
11818
+ "application/json": components["schemas"]["AccountResponse"];
11819
+ };
11820
+ };
11821
+ /** @description Unauthorized */
11822
+ 401: {
11823
+ headers: {
11824
+ [name: string]: unknown;
11825
+ };
11826
+ content: {
11827
+ "application/json": components["schemas"]["UnauthorizedResponse"];
11828
+ };
11829
+ };
11830
+ /** @description Not Found */
11831
+ 404: {
11832
+ headers: {
11833
+ [name: string]: unknown;
11834
+ };
11835
+ content: {
11836
+ "application/json": components["schemas"]["NotFoundResponse"];
11837
+ };
11838
+ };
11839
+ };
11840
+ };
11841
+ updateAccount: {
11842
+ parameters: {
11843
+ query?: never;
11844
+ header?: never;
11845
+ path: {
11846
+ /** @description Account ID */
11847
+ account_id: string;
11848
+ };
11849
+ cookie?: never;
11850
+ };
11851
+ /** @description Account params */
11852
+ requestBody?: {
11853
+ content: {
11854
+ "application/json": components["schemas"]["UpdateAccountRequest"];
11855
+ };
11856
+ };
10619
11857
  responses: {
10620
11858
  /** @description Success */
10621
11859
  200: {
@@ -10865,6 +12103,161 @@ interface operations {
10865
12103
  };
10866
12104
  };
10867
12105
  };
12106
+ getForm: {
12107
+ parameters: {
12108
+ query?: never;
12109
+ header?: {
12110
+ /**
12111
+ * @description When authenticating with a platform token, specifies the account ID for the request
12112
+ * @example acct_1234567890
12113
+ */
12114
+ "X-SavvyCal-Account"?: string;
12115
+ };
12116
+ path: {
12117
+ /** @description Form ID */
12118
+ form_id: string;
12119
+ };
12120
+ cookie?: never;
12121
+ };
12122
+ requestBody?: never;
12123
+ responses: {
12124
+ /** @description Success */
12125
+ 200: {
12126
+ headers: {
12127
+ [name: string]: unknown;
12128
+ };
12129
+ content: {
12130
+ "application/json": components["schemas"]["FormResponse"];
12131
+ };
12132
+ };
12133
+ /** @description Unauthorized */
12134
+ 401: {
12135
+ headers: {
12136
+ [name: string]: unknown;
12137
+ };
12138
+ content: {
12139
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12140
+ };
12141
+ };
12142
+ /** @description Not Found */
12143
+ 404: {
12144
+ headers: {
12145
+ [name: string]: unknown;
12146
+ };
12147
+ content: {
12148
+ "application/json": components["schemas"]["NotFoundResponse"];
12149
+ };
12150
+ };
12151
+ };
12152
+ };
12153
+ deleteForm: {
12154
+ parameters: {
12155
+ query?: never;
12156
+ header?: {
12157
+ /**
12158
+ * @description When authenticating with a platform token, specifies the account ID for the request
12159
+ * @example acct_1234567890
12160
+ */
12161
+ "X-SavvyCal-Account"?: string;
12162
+ };
12163
+ path: {
12164
+ /** @description Form ID */
12165
+ form_id: string;
12166
+ };
12167
+ cookie?: never;
12168
+ };
12169
+ requestBody?: never;
12170
+ responses: {
12171
+ /** @description No Content */
12172
+ 204: {
12173
+ headers: {
12174
+ [name: string]: unknown;
12175
+ };
12176
+ content: {
12177
+ "text/plain": string;
12178
+ };
12179
+ };
12180
+ /** @description Unauthorized */
12181
+ 401: {
12182
+ headers: {
12183
+ [name: string]: unknown;
12184
+ };
12185
+ content: {
12186
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12187
+ };
12188
+ };
12189
+ /** @description Not Found */
12190
+ 404: {
12191
+ headers: {
12192
+ [name: string]: unknown;
12193
+ };
12194
+ content: {
12195
+ "application/json": components["schemas"]["NotFoundResponse"];
12196
+ };
12197
+ };
12198
+ };
12199
+ };
12200
+ updateForm: {
12201
+ parameters: {
12202
+ query?: never;
12203
+ header?: {
12204
+ /**
12205
+ * @description When authenticating with a platform token, specifies the account ID for the request
12206
+ * @example acct_1234567890
12207
+ */
12208
+ "X-SavvyCal-Account"?: string;
12209
+ };
12210
+ path: {
12211
+ /** @description Form ID */
12212
+ form_id: string;
12213
+ };
12214
+ cookie?: never;
12215
+ };
12216
+ /** @description Form params */
12217
+ requestBody?: {
12218
+ content: {
12219
+ "application/json": components["schemas"]["UpdateFormRequest"];
12220
+ };
12221
+ };
12222
+ responses: {
12223
+ /** @description Success */
12224
+ 200: {
12225
+ headers: {
12226
+ [name: string]: unknown;
12227
+ };
12228
+ content: {
12229
+ "application/json": components["schemas"]["FormResponse"];
12230
+ };
12231
+ };
12232
+ /** @description Unauthorized */
12233
+ 401: {
12234
+ headers: {
12235
+ [name: string]: unknown;
12236
+ };
12237
+ content: {
12238
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12239
+ };
12240
+ };
12241
+ /** @description Not Found */
12242
+ 404: {
12243
+ headers: {
12244
+ [name: string]: unknown;
12245
+ };
12246
+ content: {
12247
+ "application/json": components["schemas"]["NotFoundResponse"];
12248
+ };
12249
+ };
12250
+ /** @description Unprocessable Entity */
12251
+ 422: {
12252
+ headers: {
12253
+ [name: string]: unknown;
12254
+ };
12255
+ content: {
12256
+ "application/json": components["schemas"]["JsonErrorResponse"];
12257
+ };
12258
+ };
12259
+ };
12260
+ };
10868
12261
  deleteServiceProvider: {
10869
12262
  parameters: {
10870
12263
  query?: never;
@@ -11106,12 +12499,121 @@ interface operations {
11106
12499
  };
11107
12500
  responses: {
11108
12501
  /** @description Success */
11109
- 200: {
12502
+ 200: {
12503
+ headers: {
12504
+ [name: string]: unknown;
12505
+ };
12506
+ content: {
12507
+ "application/json": components["schemas"]["CancellationReasonResponse"];
12508
+ };
12509
+ };
12510
+ /** @description Unauthorized */
12511
+ 401: {
12512
+ headers: {
12513
+ [name: string]: unknown;
12514
+ };
12515
+ content: {
12516
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12517
+ };
12518
+ };
12519
+ /** @description Not Found */
12520
+ 404: {
12521
+ headers: {
12522
+ [name: string]: unknown;
12523
+ };
12524
+ content: {
12525
+ "application/json": components["schemas"]["NotFoundResponse"];
12526
+ };
12527
+ };
12528
+ /** @description Unprocessable Entity */
12529
+ 422: {
12530
+ headers: {
12531
+ [name: string]: unknown;
12532
+ };
12533
+ content: {
12534
+ "application/json": components["schemas"]["JsonErrorResponse"];
12535
+ };
12536
+ };
12537
+ };
12538
+ };
12539
+ listForms: {
12540
+ parameters: {
12541
+ query?: {
12542
+ /** @description Page number */
12543
+ page?: number;
12544
+ /** @description Number of items per page */
12545
+ page_size?: number;
12546
+ /** @description Filter forms by name. */
12547
+ search?: string;
12548
+ };
12549
+ header?: {
12550
+ /**
12551
+ * @description When authenticating with a platform token, specifies the account ID for the request
12552
+ * @example acct_1234567890
12553
+ */
12554
+ "X-SavvyCal-Account"?: string;
12555
+ };
12556
+ path?: never;
12557
+ cookie?: never;
12558
+ };
12559
+ requestBody?: never;
12560
+ responses: {
12561
+ /** @description Success */
12562
+ 200: {
12563
+ headers: {
12564
+ [name: string]: unknown;
12565
+ };
12566
+ content: {
12567
+ "application/json": components["schemas"]["FormsResponse"];
12568
+ };
12569
+ };
12570
+ /** @description Unauthorized */
12571
+ 401: {
12572
+ headers: {
12573
+ [name: string]: unknown;
12574
+ };
12575
+ content: {
12576
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12577
+ };
12578
+ };
12579
+ /** @description Unprocessable Entity */
12580
+ 422: {
12581
+ headers: {
12582
+ [name: string]: unknown;
12583
+ };
12584
+ content: {
12585
+ "application/json": components["schemas"]["JsonErrorResponse"];
12586
+ };
12587
+ };
12588
+ };
12589
+ };
12590
+ createForm: {
12591
+ parameters: {
12592
+ query?: never;
12593
+ header?: {
12594
+ /**
12595
+ * @description When authenticating with a platform token, specifies the account ID for the request
12596
+ * @example acct_1234567890
12597
+ */
12598
+ "X-SavvyCal-Account"?: string;
12599
+ };
12600
+ path?: never;
12601
+ cookie?: never;
12602
+ };
12603
+ /** @description Form params */
12604
+ requestBody?: {
12605
+ content: {
12606
+ "application/json": components["schemas"]["CreateFormRequest"];
12607
+ };
12608
+ };
12609
+ responses: {
12610
+ /** @description Success */
12611
+ 201: {
11110
12612
  headers: {
11111
12613
  [name: string]: unknown;
11112
12614
  };
11113
12615
  content: {
11114
- "application/json": components["schemas"]["CancellationReasonResponse"];
12616
+ "application/json": components["schemas"]["FormResponse"];
11115
12617
  };
11116
12618
  };
11117
12619
  /** @description Unauthorized */
@@ -11123,15 +12625,6 @@ interface operations {
11123
12625
  "application/json": components["schemas"]["UnauthorizedResponse"];
11124
12626
  };
11125
12627
  };
11126
- /** @description Not Found */
11127
- 404: {
11128
- headers: {
11129
- [name: string]: unknown;
11130
- };
11131
- content: {
11132
- "application/json": components["schemas"]["NotFoundResponse"];
11133
- };
11134
- };
11135
12628
  /** @description Unprocessable Entity */
11136
12629
  422: {
11137
12630
  headers: {
@@ -11595,6 +13088,8 @@ interface operations {
11595
13088
  metadata?: {
11596
13089
  [key: string]: unknown;
11597
13090
  };
13091
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
13092
+ include_sensitive?: boolean;
11598
13093
  };
11599
13094
  header?: {
11600
13095
  /**
@@ -12229,6 +13724,67 @@ interface operations {
12229
13724
  };
12230
13725
  };
12231
13726
  };
13727
+ sortServiceForms: {
13728
+ parameters: {
13729
+ query?: never;
13730
+ header?: {
13731
+ /**
13732
+ * @description When authenticating with a platform token, specifies the account ID for the request
13733
+ * @example acct_1234567890
13734
+ */
13735
+ "X-SavvyCal-Account"?: string;
13736
+ };
13737
+ path: {
13738
+ /** @description Service ID */
13739
+ service_id: string;
13740
+ };
13741
+ cookie?: never;
13742
+ };
13743
+ /** @description Sort params */
13744
+ requestBody?: {
13745
+ content: {
13746
+ "application/json": components["schemas"]["SortServiceFormsRequest"];
13747
+ };
13748
+ };
13749
+ responses: {
13750
+ /** @description Success */
13751
+ 200: {
13752
+ headers: {
13753
+ [name: string]: unknown;
13754
+ };
13755
+ content: {
13756
+ "application/json": components["schemas"]["ServiceFormsResponse"];
13757
+ };
13758
+ };
13759
+ /** @description Unauthorized */
13760
+ 401: {
13761
+ headers: {
13762
+ [name: string]: unknown;
13763
+ };
13764
+ content: {
13765
+ "application/json": components["schemas"]["UnauthorizedResponse"];
13766
+ };
13767
+ };
13768
+ /** @description Not Found */
13769
+ 404: {
13770
+ headers: {
13771
+ [name: string]: unknown;
13772
+ };
13773
+ content: {
13774
+ "application/json": components["schemas"]["NotFoundResponse"];
13775
+ };
13776
+ };
13777
+ /** @description Unprocessable Entity */
13778
+ 422: {
13779
+ headers: {
13780
+ [name: string]: unknown;
13781
+ };
13782
+ content: {
13783
+ "application/json": components["schemas"]["JsonErrorResponse"];
13784
+ };
13785
+ };
13786
+ };
13787
+ };
12232
13788
  getCurrentAccount: {
12233
13789
  parameters: {
12234
13790
  query?: never;
@@ -12875,6 +14431,161 @@ interface operations {
12875
14431
  };
12876
14432
  };
12877
14433
  };
14434
+ getClientField: {
14435
+ parameters: {
14436
+ query?: never;
14437
+ header?: {
14438
+ /**
14439
+ * @description When authenticating with a platform token, specifies the account ID for the request
14440
+ * @example acct_1234567890
14441
+ */
14442
+ "X-SavvyCal-Account"?: string;
14443
+ };
14444
+ path: {
14445
+ /** @description Client field ID */
14446
+ client_field_id: string;
14447
+ };
14448
+ cookie?: never;
14449
+ };
14450
+ requestBody?: never;
14451
+ responses: {
14452
+ /** @description Success */
14453
+ 200: {
14454
+ headers: {
14455
+ [name: string]: unknown;
14456
+ };
14457
+ content: {
14458
+ "application/json": components["schemas"]["ClientFieldResponse"];
14459
+ };
14460
+ };
14461
+ /** @description Unauthorized */
14462
+ 401: {
14463
+ headers: {
14464
+ [name: string]: unknown;
14465
+ };
14466
+ content: {
14467
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14468
+ };
14469
+ };
14470
+ /** @description Not Found */
14471
+ 404: {
14472
+ headers: {
14473
+ [name: string]: unknown;
14474
+ };
14475
+ content: {
14476
+ "application/json": components["schemas"]["NotFoundResponse"];
14477
+ };
14478
+ };
14479
+ };
14480
+ };
14481
+ deleteClientField: {
14482
+ parameters: {
14483
+ query?: never;
14484
+ header?: {
14485
+ /**
14486
+ * @description When authenticating with a platform token, specifies the account ID for the request
14487
+ * @example acct_1234567890
14488
+ */
14489
+ "X-SavvyCal-Account"?: string;
14490
+ };
14491
+ path: {
14492
+ /** @description Client field ID */
14493
+ client_field_id: string;
14494
+ };
14495
+ cookie?: never;
14496
+ };
14497
+ requestBody?: never;
14498
+ responses: {
14499
+ /** @description No Content */
14500
+ 204: {
14501
+ headers: {
14502
+ [name: string]: unknown;
14503
+ };
14504
+ content: {
14505
+ "text/plain": string;
14506
+ };
14507
+ };
14508
+ /** @description Unauthorized */
14509
+ 401: {
14510
+ headers: {
14511
+ [name: string]: unknown;
14512
+ };
14513
+ content: {
14514
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14515
+ };
14516
+ };
14517
+ /** @description Not Found */
14518
+ 404: {
14519
+ headers: {
14520
+ [name: string]: unknown;
14521
+ };
14522
+ content: {
14523
+ "application/json": components["schemas"]["NotFoundResponse"];
14524
+ };
14525
+ };
14526
+ };
14527
+ };
14528
+ updateClientField: {
14529
+ parameters: {
14530
+ query?: never;
14531
+ header?: {
14532
+ /**
14533
+ * @description When authenticating with a platform token, specifies the account ID for the request
14534
+ * @example acct_1234567890
14535
+ */
14536
+ "X-SavvyCal-Account"?: string;
14537
+ };
14538
+ path: {
14539
+ /** @description Client field ID */
14540
+ client_field_id: string;
14541
+ };
14542
+ cookie?: never;
14543
+ };
14544
+ /** @description Client field params */
14545
+ requestBody?: {
14546
+ content: {
14547
+ "application/json": components["schemas"]["UpdateClientFieldRequest"];
14548
+ };
14549
+ };
14550
+ responses: {
14551
+ /** @description Success */
14552
+ 200: {
14553
+ headers: {
14554
+ [name: string]: unknown;
14555
+ };
14556
+ content: {
14557
+ "application/json": components["schemas"]["ClientFieldResponse"];
14558
+ };
14559
+ };
14560
+ /** @description Unauthorized */
14561
+ 401: {
14562
+ headers: {
14563
+ [name: string]: unknown;
14564
+ };
14565
+ content: {
14566
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14567
+ };
14568
+ };
14569
+ /** @description Not Found */
14570
+ 404: {
14571
+ headers: {
14572
+ [name: string]: unknown;
14573
+ };
14574
+ content: {
14575
+ "application/json": components["schemas"]["NotFoundResponse"];
14576
+ };
14577
+ };
14578
+ /** @description Unprocessable Entity */
14579
+ 422: {
14580
+ headers: {
14581
+ [name: string]: unknown;
14582
+ };
14583
+ content: {
14584
+ "application/json": components["schemas"]["JsonErrorResponse"];
14585
+ };
14586
+ };
14587
+ };
14588
+ };
12878
14589
  listServiceSlots: {
12879
14590
  parameters: {
12880
14591
  query?: {
@@ -13268,6 +14979,7 @@ type AppointmentDeletedEventData = Schemas["AppointmentDeletedEventData"];
13268
14979
  type AppointmentRescheduledEventData = Schemas["AppointmentRescheduledEventData"];
13269
14980
  type AppointmentResponse = Schemas["AppointmentResponse"];
13270
14981
  type AppointmentsResponse = Schemas["AppointmentsResponse"];
14982
+ type AttachServiceFormRequest = Schemas["AttachServiceFormRequest"];
13271
14983
  type Block = Schemas["Block"];
13272
14984
  type BlockCreatedEventData = Schemas["BlockCreatedEventData"];
13273
14985
  type BlockDeletedEventData = Schemas["BlockDeletedEventData"];
@@ -13292,6 +15004,11 @@ type CancelPublicAppointmentRequest = Schemas["CancelPublicAppointmentRequest"];
13292
15004
  type Client = Schemas["Client"];
13293
15005
  type ClientCreatedEventData = Schemas["ClientCreatedEventData"];
13294
15006
  type ClientDeletedEventData = Schemas["ClientDeletedEventData"];
15007
+ type ClientField = Schemas["ClientField"];
15008
+ type ClientFieldChoice = Schemas["ClientFieldChoice"];
15009
+ type ClientFieldOptions = Schemas["ClientFieldOptions"];
15010
+ type ClientFieldResponse = Schemas["ClientFieldResponse"];
15011
+ type ClientFieldsResponse = Schemas["ClientFieldsResponse"];
13295
15012
  type ClientResponse = Schemas["ClientResponse"];
13296
15013
  type ClientsResponse = Schemas["ClientsResponse"];
13297
15014
  type ClientUpdatedEventData = Schemas["ClientUpdatedEventData"];
@@ -13312,8 +15029,10 @@ type CreateAppointmentRequest = Schemas["CreateAppointmentRequest"];
13312
15029
  type CreateBlockRequest = Schemas["CreateBlockRequest"];
13313
15030
  type CreateBookingIntentRequest = Schemas["CreateBookingIntentRequest"];
13314
15031
  type CreateCancellationReasonRequest = Schemas["CreateCancellationReasonRequest"];
15032
+ type CreateClientFieldRequest = Schemas["CreateClientFieldRequest"];
13315
15033
  type CreateClientRequest = Schemas["CreateClientRequest"];
13316
15034
  type CreateDashboardSessionRequest = Schemas["CreateDashboardSessionRequest"];
15035
+ type CreateFormRequest = Schemas["CreateFormRequest"];
13317
15036
  type CreateProviderRequest = Schemas["CreateProviderRequest"];
13318
15037
  type CreateProviderScheduleRequest = Schemas["CreateProviderScheduleRequest"];
13319
15038
  type CreatePublicAppointmentRequest = Schemas["CreatePublicAppointmentRequest"];
@@ -13322,9 +15041,20 @@ type CreateServiceProviderRequest = Schemas["CreateServiceProviderRequest"];
13322
15041
  type CreateServiceRequest = Schemas["CreateServiceRequest"];
13323
15042
  type DashboardSession = Schemas["DashboardSession"];
13324
15043
  type DashboardSessionResponse = Schemas["DashboardSessionResponse"];
15044
+ type FieldChoice = Schemas["FieldChoice"];
15045
+ type FieldChoiceInput = Schemas["FieldChoiceInput"];
15046
+ type FieldOptions = Schemas["FieldOptions"];
15047
+ type FieldOptionsInput = Schemas["FieldOptionsInput"];
13325
15048
  type ForbiddenResponse = Schemas["ForbiddenResponse"];
15049
+ type Form = Schemas["Form"];
15050
+ type FormDetail = Schemas["FormDetail"];
15051
+ type FormField = Schemas["FormField"];
15052
+ type FormFieldInput = Schemas["FormFieldInput"];
15053
+ type FormResponse = Schemas["FormResponse"];
15054
+ type FormsResponse = Schemas["FormsResponse"];
13326
15055
  type GenericErrorResponse = Schemas["GenericErrorResponse"];
13327
15056
  type HoldPolicy = Schemas["HoldPolicy"];
15057
+ type IntentSubmissionInput = Schemas["IntentSubmissionInput"];
13328
15058
  type JsonErrorResponse = Schemas["JsonErrorResponse"];
13329
15059
  type MaximizeUtilizationPolicy = Schemas["MaximizeUtilizationPolicy"];
13330
15060
  type NotFoundResponse = Schemas["NotFoundResponse"];
@@ -13364,6 +15094,9 @@ type RolesResponse = Schemas["RolesResponse"];
13364
15094
  type Service = Schemas["Service"];
13365
15095
  type ServiceCreatedEventData = Schemas["ServiceCreatedEventData"];
13366
15096
  type ServiceDeletedEventData = Schemas["ServiceDeletedEventData"];
15097
+ type ServiceForm = Schemas["ServiceForm"];
15098
+ type ServiceFormResponse = Schemas["ServiceFormResponse"];
15099
+ type ServiceFormsResponse = Schemas["ServiceFormsResponse"];
13367
15100
  type ServiceProvider = Schemas["ServiceProvider"];
13368
15101
  type ServiceProviderCreatedEventData = Schemas["ServiceProviderCreatedEventData"];
13369
15102
  type ServiceProviderDeletedEventData = Schemas["ServiceProviderDeletedEventData"];
@@ -13375,14 +15108,17 @@ type ServicesResponse = Schemas["ServicesResponse"];
13375
15108
  type ServiceUpdatedEventData = Schemas["ServiceUpdatedEventData"];
13376
15109
  type Slot = Schemas["Slot"];
13377
15110
  type SlotRule = Schemas["SlotRule"];
15111
+ type SortServiceFormsRequest = Schemas["SortServiceFormsRequest"];
13378
15112
  type UnauthorizedResponse = Schemas["UnauthorizedResponse"];
13379
15113
  type UpdateAccountRequest = Schemas["UpdateAccountRequest"];
13380
15114
  type UpdateAccountUserRequest = Schemas["UpdateAccountUserRequest"];
13381
15115
  type UpdateBlockRequest = Schemas["UpdateBlockRequest"];
13382
15116
  type UpdateBookingIntentRequest = Schemas["UpdateBookingIntentRequest"];
13383
15117
  type UpdateCancellationReasonRequest = Schemas["UpdateCancellationReasonRequest"];
15118
+ type UpdateClientFieldRequest = Schemas["UpdateClientFieldRequest"];
13384
15119
  type UpdateClientRequest = Schemas["UpdateClientRequest"];
13385
15120
  type UpdateConnectedAccountRequest = Schemas["UpdateConnectedAccountRequest"];
15121
+ type UpdateFormRequest = Schemas["UpdateFormRequest"];
13386
15122
  type UpdateProviderRequest = Schemas["UpdateProviderRequest"];
13387
15123
  type UpdateProviderScheduleRequest = Schemas["UpdateProviderScheduleRequest"];
13388
15124
  type UpdatePublicBookingIntentRequest = Schemas["UpdatePublicBookingIntentRequest"];
@@ -13516,18 +15252,75 @@ declare function abandonPublicBookingIntent(client: FetchClient, path: PathParam
13516
15252
  query?: never;
13517
15253
  header?: never;
13518
15254
  path: {
13519
- booking_intent_id: string;
15255
+ booking_intent_id: string;
15256
+ };
15257
+ cookie?: never;
15258
+ };
15259
+ requestBody?: never;
15260
+ responses: {
15261
+ 200: {
15262
+ headers: {
15263
+ [name: string]: unknown;
15264
+ };
15265
+ content: {
15266
+ "application/json": components["schemas"]["PublicBookingIntentResponse"];
15267
+ };
15268
+ };
15269
+ 404: {
15270
+ headers: {
15271
+ [name: string]: unknown;
15272
+ };
15273
+ content: {
15274
+ "application/json": components["schemas"]["JsonErrorResponse"];
15275
+ };
15276
+ };
15277
+ 422: {
15278
+ headers: {
15279
+ [name: string]: unknown;
15280
+ };
15281
+ content: {
15282
+ "application/json": components["schemas"]["JsonErrorResponse"];
15283
+ };
15284
+ };
15285
+ };
15286
+ }, {
15287
+ params: {
15288
+ path: {
15289
+ booking_intent_id: string;
15290
+ };
15291
+ };
15292
+ }, `${string}/${string}`>>;
15293
+ declare function attachServiceForm(client: FetchClient, path: PathParams<"/v1/services/{service_id}/forms", "post">, body: RequestBody<"/v1/services/{service_id}/forms", "post">): Promise<openapi_fetch.FetchResponse<{
15294
+ parameters: {
15295
+ query?: never;
15296
+ header?: {
15297
+ "X-SavvyCal-Account"?: string;
15298
+ };
15299
+ path: {
15300
+ service_id: string;
13520
15301
  };
13521
15302
  cookie?: never;
13522
15303
  };
13523
- requestBody?: never;
15304
+ requestBody?: {
15305
+ content: {
15306
+ "application/json": components["schemas"]["AttachServiceFormRequest"];
15307
+ };
15308
+ };
13524
15309
  responses: {
13525
- 200: {
15310
+ 201: {
13526
15311
  headers: {
13527
15312
  [name: string]: unknown;
13528
15313
  };
13529
15314
  content: {
13530
- "application/json": components["schemas"]["PublicBookingIntentResponse"];
15315
+ "application/json": components["schemas"]["ServiceFormResponse"];
15316
+ };
15317
+ };
15318
+ 401: {
15319
+ headers: {
15320
+ [name: string]: unknown;
15321
+ };
15322
+ content: {
15323
+ "application/json": components["schemas"]["UnauthorizedResponse"];
13531
15324
  };
13532
15325
  };
13533
15326
  404: {
@@ -13535,7 +15328,7 @@ declare function abandonPublicBookingIntent(client: FetchClient, path: PathParam
13535
15328
  [name: string]: unknown;
13536
15329
  };
13537
15330
  content: {
13538
- "application/json": components["schemas"]["JsonErrorResponse"];
15331
+ "application/json": components["schemas"]["NotFoundResponse"];
13539
15332
  };
13540
15333
  };
13541
15334
  422: {
@@ -13548,9 +15341,12 @@ declare function abandonPublicBookingIntent(client: FetchClient, path: PathParam
13548
15341
  };
13549
15342
  };
13550
15343
  }, {
15344
+ body: {
15345
+ form_id: string;
15346
+ } | undefined;
13551
15347
  params: {
13552
15348
  path: {
13553
- booking_intent_id: string;
15349
+ service_id: string;
13554
15350
  };
13555
15351
  };
13556
15352
  }, `${string}/${string}`>>;
@@ -13722,6 +15518,9 @@ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v
13722
15518
  auto_assign_provider?: boolean | null;
13723
15519
  client_data?: {
13724
15520
  email?: string | null;
15521
+ fields?: {
15522
+ [key: string]: unknown;
15523
+ } | null;
13725
15524
  first_name?: string | null;
13726
15525
  last_name?: string | null;
13727
15526
  locale?: string | null;
@@ -13737,6 +15536,7 @@ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v
13737
15536
  provider_id?: string | null;
13738
15537
  service_id?: string | null;
13739
15538
  start_at?: string | null;
15539
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
13740
15540
  time_zone?: string | null;
13741
15541
  } | undefined;
13742
15542
  params: {
@@ -13790,6 +15590,9 @@ declare function completePublicBookingIntent(client: FetchClient, path: PathPara
13790
15590
  auto_assign_provider?: boolean | null;
13791
15591
  client_data?: {
13792
15592
  email?: string | null;
15593
+ fields?: {
15594
+ [key: string]: unknown;
15595
+ } | null;
13793
15596
  first_name?: string | null;
13794
15597
  last_name?: string | null;
13795
15598
  locale?: string | null;
@@ -13801,6 +15604,7 @@ declare function completePublicBookingIntent(client: FetchClient, path: PathPara
13801
15604
  provider_id?: string | null;
13802
15605
  service_id?: string | null;
13803
15606
  start_at?: string | null;
15607
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
13804
15608
  time_zone?: string | null;
13805
15609
  } | undefined;
13806
15610
  params: {
@@ -14010,6 +15814,9 @@ declare function createAppointment(client: FetchClient, body: RequestBody<"/v1/a
14010
15814
  body: {
14011
15815
  client_data: {
14012
15816
  email?: string | null;
15817
+ fields?: {
15818
+ [key: string]: unknown;
15819
+ } | null;
14013
15820
  first_name?: string | null;
14014
15821
  id?: string | null;
14015
15822
  last_name?: string | null;
@@ -14135,6 +15942,9 @@ declare function createBookingIntent(client: FetchClient, body: RequestBody<"/v1
14135
15942
  auto_assign_provider?: boolean | null;
14136
15943
  client_data?: {
14137
15944
  email?: string | null;
15945
+ fields?: {
15946
+ [key: string]: unknown;
15947
+ } | null;
14138
15948
  first_name?: string | null;
14139
15949
  last_name?: string | null;
14140
15950
  locale?: string | null;
@@ -14154,6 +15964,7 @@ declare function createBookingIntent(client: FetchClient, body: RequestBody<"/v1
14154
15964
  service_id?: string | null;
14155
15965
  slot_prevalidated: boolean;
14156
15966
  start_at?: string | null;
15967
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
14157
15968
  time_zone?: string | null;
14158
15969
  } | undefined;
14159
15970
  }, `${string}/${string}`>>;
@@ -14245,6 +16056,9 @@ declare function createClient(client: FetchClient, body: RequestBody<"/v1/client
14245
16056
  }, {
14246
16057
  body: {
14247
16058
  email: string;
16059
+ fields?: {
16060
+ [key: string]: unknown;
16061
+ };
14248
16062
  first_name: string;
14249
16063
  last_name: string;
14250
16064
  locale?: string;
@@ -14256,6 +16070,56 @@ declare function createClient(client: FetchClient, body: RequestBody<"/v1/client
14256
16070
  time_zone: string;
14257
16071
  } | undefined;
14258
16072
  }, `${string}/${string}`>>;
16073
+ declare function createClientField(client: FetchClient, body: RequestBody<"/v1/client_fields", "post">): Promise<openapi_fetch.FetchResponse<{
16074
+ parameters: {
16075
+ query?: never;
16076
+ header?: {
16077
+ "X-SavvyCal-Account"?: string;
16078
+ };
16079
+ path?: never;
16080
+ cookie?: never;
16081
+ };
16082
+ requestBody?: {
16083
+ content: {
16084
+ "application/json": components["schemas"]["CreateClientFieldRequest"];
16085
+ };
16086
+ };
16087
+ responses: {
16088
+ 201: {
16089
+ headers: {
16090
+ [name: string]: unknown;
16091
+ };
16092
+ content: {
16093
+ "application/json": components["schemas"]["ClientFieldResponse"];
16094
+ };
16095
+ };
16096
+ 401: {
16097
+ headers: {
16098
+ [name: string]: unknown;
16099
+ };
16100
+ content: {
16101
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16102
+ };
16103
+ };
16104
+ 422: {
16105
+ headers: {
16106
+ [name: string]: unknown;
16107
+ };
16108
+ content: {
16109
+ "application/json": components["schemas"]["JsonErrorResponse"];
16110
+ };
16111
+ };
16112
+ };
16113
+ }, {
16114
+ body: {
16115
+ description?: string | null;
16116
+ key: string;
16117
+ label: string;
16118
+ options?: components["schemas"]["ClientFieldOptions"];
16119
+ sensitive?: boolean;
16120
+ type: "short_text" | "long_text" | "email" | "phone" | "boolean" | "radio" | "select" | "checkbox";
16121
+ } | undefined;
16122
+ }, `${string}/${string}`>>;
14259
16123
  declare function createDashboardSession(client: FetchClient, body: RequestBody<"/v1/dashboard_sessions", "post">): Promise<openapi_fetch.FetchResponse<{
14260
16124
  parameters: {
14261
16125
  query?: never;
@@ -14302,6 +16166,52 @@ declare function createDashboardSession(client: FetchClient, body: RequestBody<"
14302
16166
  user_id: string;
14303
16167
  } | undefined;
14304
16168
  }, `${string}/${string}`>>;
16169
+ declare function createForm(client: FetchClient, body: RequestBody<"/v1/forms", "post">): Promise<openapi_fetch.FetchResponse<{
16170
+ parameters: {
16171
+ query?: never;
16172
+ header?: {
16173
+ "X-SavvyCal-Account"?: string;
16174
+ };
16175
+ path?: never;
16176
+ cookie?: never;
16177
+ };
16178
+ requestBody?: {
16179
+ content: {
16180
+ "application/json": components["schemas"]["CreateFormRequest"];
16181
+ };
16182
+ };
16183
+ responses: {
16184
+ 201: {
16185
+ headers: {
16186
+ [name: string]: unknown;
16187
+ };
16188
+ content: {
16189
+ "application/json": components["schemas"]["FormResponse"];
16190
+ };
16191
+ };
16192
+ 401: {
16193
+ headers: {
16194
+ [name: string]: unknown;
16195
+ };
16196
+ content: {
16197
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16198
+ };
16199
+ };
16200
+ 422: {
16201
+ headers: {
16202
+ [name: string]: unknown;
16203
+ };
16204
+ content: {
16205
+ "application/json": components["schemas"]["JsonErrorResponse"];
16206
+ };
16207
+ };
16208
+ };
16209
+ }, {
16210
+ body: {
16211
+ fields?: components["schemas"]["FormFieldInput"][];
16212
+ internal_name: string;
16213
+ } | undefined;
16214
+ }, `${string}/${string}`>>;
14305
16215
  declare function createProvider(client: FetchClient, body: RequestBody<"/v1/providers", "post">): Promise<openapi_fetch.FetchResponse<{
14306
16216
  parameters: {
14307
16217
  query?: never;
@@ -14502,6 +16412,9 @@ declare function createPublicBookingIntent(client: FetchClient, body: RequestBod
14502
16412
  auto_assign_provider?: boolean | null;
14503
16413
  client_data?: {
14504
16414
  email?: string | null;
16415
+ fields?: {
16416
+ [key: string]: unknown;
16417
+ } | null;
14505
16418
  first_name?: string | null;
14506
16419
  last_name?: string | null;
14507
16420
  locale?: string | null;
@@ -14513,6 +16426,7 @@ declare function createPublicBookingIntent(client: FetchClient, body: RequestBod
14513
16426
  provider_id?: string | null;
14514
16427
  service_id?: string | null;
14515
16428
  start_at?: string | null;
16429
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
14516
16430
  time_zone?: string | null;
14517
16431
  } | undefined;
14518
16432
  }, `${string}/${string}`>>;
@@ -14563,6 +16477,7 @@ declare function createService(client: FetchClient, body: RequestBody<"/v1/servi
14563
16477
  cancellation_policy?: components["schemas"]["CancellationPolicy"];
14564
16478
  change_policy_text?: string;
14565
16479
  duration?: string;
16480
+ form_ids?: string[];
14566
16481
  internal_name?: string | null;
14567
16482
  metadata?: {
14568
16483
  [key: string]: unknown;
@@ -14611,36 +16526,171 @@ declare function createServiceProvider(client: FetchClient, path: PathParams<"/v
14611
16526
  [name: string]: unknown;
14612
16527
  };
14613
16528
  content: {
14614
- "application/json": components["schemas"]["NotFoundResponse"];
16529
+ "application/json": components["schemas"]["NotFoundResponse"];
16530
+ };
16531
+ };
16532
+ 422: {
16533
+ headers: {
16534
+ [name: string]: unknown;
16535
+ };
16536
+ content: {
16537
+ "application/json": components["schemas"]["JsonErrorResponse"];
16538
+ };
16539
+ };
16540
+ };
16541
+ }, {
16542
+ body: {
16543
+ provider_id: string;
16544
+ } | undefined;
16545
+ params: {
16546
+ path: {
16547
+ service_id: string;
16548
+ };
16549
+ };
16550
+ }, `${string}/${string}`>>;
16551
+ declare function deactivateProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16552
+ parameters: {
16553
+ query?: never;
16554
+ header?: {
16555
+ "X-SavvyCal-Account"?: string;
16556
+ };
16557
+ path: {
16558
+ provider_id: string;
16559
+ };
16560
+ cookie?: never;
16561
+ };
16562
+ requestBody?: never;
16563
+ responses: {
16564
+ 204: {
16565
+ headers: {
16566
+ [name: string]: unknown;
16567
+ };
16568
+ content: {
16569
+ "text/plain": string;
16570
+ };
16571
+ };
16572
+ 401: {
16573
+ headers: {
16574
+ [name: string]: unknown;
16575
+ };
16576
+ content: {
16577
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16578
+ };
16579
+ };
16580
+ 404: {
16581
+ headers: {
16582
+ [name: string]: unknown;
16583
+ };
16584
+ content: {
16585
+ "application/json": components["schemas"]["NotFoundResponse"];
16586
+ };
16587
+ };
16588
+ };
16589
+ }, {
16590
+ params: {
16591
+ path: {
16592
+ provider_id: string;
16593
+ };
16594
+ };
16595
+ }, `${string}/${string}`>>;
16596
+ declare function deleteBlock(client: FetchClient, path: PathParams<"/v1/blocks/{block_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16597
+ parameters: {
16598
+ query?: never;
16599
+ header?: {
16600
+ "X-SavvyCal-Account"?: string;
16601
+ };
16602
+ path: {
16603
+ block_id: string;
16604
+ };
16605
+ cookie?: never;
16606
+ };
16607
+ requestBody?: never;
16608
+ responses: {
16609
+ 204: {
16610
+ headers: {
16611
+ [name: string]: unknown;
16612
+ };
16613
+ content: {
16614
+ "text/plain": string;
16615
+ };
16616
+ };
16617
+ 401: {
16618
+ headers: {
16619
+ [name: string]: unknown;
16620
+ };
16621
+ content: {
16622
+ "application/json": components["schemas"]["UnauthorizedResponse"];
16623
+ };
16624
+ };
16625
+ 404: {
16626
+ headers: {
16627
+ [name: string]: unknown;
16628
+ };
16629
+ content: {
16630
+ "application/json": components["schemas"]["NotFoundResponse"];
16631
+ };
16632
+ };
16633
+ };
16634
+ }, {
16635
+ params: {
16636
+ path: {
16637
+ block_id: string;
16638
+ };
16639
+ };
16640
+ }, `${string}/${string}`>>;
16641
+ declare function deleteCancellationReason(client: FetchClient, path: PathParams<"/v1/cancellation_reasons/{cancellation_reason_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16642
+ parameters: {
16643
+ query?: never;
16644
+ header?: {
16645
+ "X-SavvyCal-Account"?: string;
16646
+ };
16647
+ path: {
16648
+ cancellation_reason_id: string;
16649
+ };
16650
+ cookie?: never;
16651
+ };
16652
+ requestBody?: never;
16653
+ responses: {
16654
+ 204: {
16655
+ headers: {
16656
+ [name: string]: unknown;
16657
+ };
16658
+ content: {
16659
+ "text/plain": string;
16660
+ };
16661
+ };
16662
+ 401: {
16663
+ headers: {
16664
+ [name: string]: unknown;
16665
+ };
16666
+ content: {
16667
+ "application/json": components["schemas"]["UnauthorizedResponse"];
14615
16668
  };
14616
16669
  };
14617
- 422: {
16670
+ 404: {
14618
16671
  headers: {
14619
16672
  [name: string]: unknown;
14620
16673
  };
14621
16674
  content: {
14622
- "application/json": components["schemas"]["JsonErrorResponse"];
16675
+ "application/json": components["schemas"]["NotFoundResponse"];
14623
16676
  };
14624
16677
  };
14625
16678
  };
14626
16679
  }, {
14627
- body: {
14628
- provider_id: string;
14629
- } | undefined;
14630
16680
  params: {
14631
16681
  path: {
14632
- service_id: string;
16682
+ cancellation_reason_id: string;
14633
16683
  };
14634
16684
  };
14635
16685
  }, `${string}/${string}`>>;
14636
- declare function deactivateProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16686
+ declare function deleteClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14637
16687
  parameters: {
14638
16688
  query?: never;
14639
16689
  header?: {
14640
16690
  "X-SavvyCal-Account"?: string;
14641
16691
  };
14642
16692
  path: {
14643
- provider_id: string;
16693
+ client_id: string;
14644
16694
  };
14645
16695
  cookie?: never;
14646
16696
  };
@@ -14674,18 +16724,18 @@ declare function deactivateProvider(client: FetchClient, path: PathParams<"/v1/p
14674
16724
  }, {
14675
16725
  params: {
14676
16726
  path: {
14677
- provider_id: string;
16727
+ client_id: string;
14678
16728
  };
14679
16729
  };
14680
16730
  }, `${string}/${string}`>>;
14681
- declare function deleteBlock(client: FetchClient, path: PathParams<"/v1/blocks/{block_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16731
+ declare function deleteClientField(client: FetchClient, path: PathParams<"/v1/client_fields/{client_field_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14682
16732
  parameters: {
14683
16733
  query?: never;
14684
16734
  header?: {
14685
16735
  "X-SavvyCal-Account"?: string;
14686
16736
  };
14687
16737
  path: {
14688
- block_id: string;
16738
+ client_field_id: string;
14689
16739
  };
14690
16740
  cookie?: never;
14691
16741
  };
@@ -14719,18 +16769,18 @@ declare function deleteBlock(client: FetchClient, path: PathParams<"/v1/blocks/{
14719
16769
  }, {
14720
16770
  params: {
14721
16771
  path: {
14722
- block_id: string;
16772
+ client_field_id: string;
14723
16773
  };
14724
16774
  };
14725
16775
  }, `${string}/${string}`>>;
14726
- declare function deleteCancellationReason(client: FetchClient, path: PathParams<"/v1/cancellation_reasons/{cancellation_reason_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16776
+ declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14727
16777
  parameters: {
14728
16778
  query?: never;
14729
16779
  header?: {
14730
16780
  "X-SavvyCal-Account"?: string;
14731
16781
  };
14732
16782
  path: {
14733
- cancellation_reason_id: string;
16783
+ connected_account_id: string;
14734
16784
  };
14735
16785
  cookie?: never;
14736
16786
  };
@@ -14764,18 +16814,18 @@ declare function deleteCancellationReason(client: FetchClient, path: PathParams<
14764
16814
  }, {
14765
16815
  params: {
14766
16816
  path: {
14767
- cancellation_reason_id: string;
16817
+ connected_account_id: string;
14768
16818
  };
14769
16819
  };
14770
16820
  }, `${string}/${string}`>>;
14771
- declare function deleteClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16821
+ declare function deleteForm(client: FetchClient, path: PathParams<"/v1/forms/{form_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14772
16822
  parameters: {
14773
16823
  query?: never;
14774
16824
  header?: {
14775
16825
  "X-SavvyCal-Account"?: string;
14776
16826
  };
14777
16827
  path: {
14778
- client_id: string;
16828
+ form_id: string;
14779
16829
  };
14780
16830
  cookie?: never;
14781
16831
  };
@@ -14809,18 +16859,18 @@ declare function deleteClient(client: FetchClient, path: PathParams<"/v1/clients
14809
16859
  }, {
14810
16860
  params: {
14811
16861
  path: {
14812
- client_id: string;
16862
+ form_id: string;
14813
16863
  };
14814
16864
  };
14815
16865
  }, `${string}/${string}`>>;
14816
- declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16866
+ declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/v1/provider_schedules/{provider_schedule_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14817
16867
  parameters: {
14818
16868
  query?: never;
14819
16869
  header?: {
14820
16870
  "X-SavvyCal-Account"?: string;
14821
16871
  };
14822
16872
  path: {
14823
- connected_account_id: string;
16873
+ provider_schedule_id: string;
14824
16874
  };
14825
16875
  cookie?: never;
14826
16876
  };
@@ -14854,18 +16904,18 @@ declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/
14854
16904
  }, {
14855
16905
  params: {
14856
16906
  path: {
14857
- connected_account_id: string;
16907
+ provider_schedule_id: string;
14858
16908
  };
14859
16909
  };
14860
16910
  }, `${string}/${string}`>>;
14861
- declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/v1/provider_schedules/{provider_schedule_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16911
+ declare function deleteService(client: FetchClient, path: PathParams<"/v1/services/{service_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14862
16912
  parameters: {
14863
16913
  query?: never;
14864
16914
  header?: {
14865
16915
  "X-SavvyCal-Account"?: string;
14866
16916
  };
14867
16917
  path: {
14868
- provider_schedule_id: string;
16918
+ service_id: string;
14869
16919
  };
14870
16920
  cookie?: never;
14871
16921
  };
@@ -14899,18 +16949,18 @@ declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/
14899
16949
  }, {
14900
16950
  params: {
14901
16951
  path: {
14902
- provider_schedule_id: string;
16952
+ service_id: string;
14903
16953
  };
14904
16954
  };
14905
16955
  }, `${string}/${string}`>>;
14906
- declare function deleteService(client: FetchClient, path: PathParams<"/v1/services/{service_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16956
+ declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v1/service_providers/{service_provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14907
16957
  parameters: {
14908
16958
  query?: never;
14909
16959
  header?: {
14910
16960
  "X-SavvyCal-Account"?: string;
14911
16961
  };
14912
16962
  path: {
14913
- service_id: string;
16963
+ service_provider_id: string;
14914
16964
  };
14915
16965
  cookie?: never;
14916
16966
  };
@@ -14944,18 +16994,18 @@ declare function deleteService(client: FetchClient, path: PathParams<"/v1/servic
14944
16994
  }, {
14945
16995
  params: {
14946
16996
  path: {
14947
- service_id: string;
16997
+ service_provider_id: string;
14948
16998
  };
14949
16999
  };
14950
17000
  }, `${string}/${string}`>>;
14951
- declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v1/service_providers/{service_provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
17001
+ declare function detachServiceForm(client: FetchClient, path: PathParams<"/v1/service_forms/{service_form_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14952
17002
  parameters: {
14953
17003
  query?: never;
14954
17004
  header?: {
14955
17005
  "X-SavvyCal-Account"?: string;
14956
17006
  };
14957
17007
  path: {
14958
- service_provider_id: string;
17008
+ service_form_id: string;
14959
17009
  };
14960
17010
  cookie?: never;
14961
17011
  };
@@ -14989,7 +17039,7 @@ declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v
14989
17039
  }, {
14990
17040
  params: {
14991
17041
  path: {
14992
- service_provider_id: string;
17042
+ service_form_id: string;
14993
17043
  };
14994
17044
  };
14995
17045
  }, `${string}/${string}`>>;
@@ -15224,9 +17274,11 @@ declare function getCancellationReason(client: FetchClient, path: PathParams<"/v
15224
17274
  };
15225
17275
  };
15226
17276
  }, `${string}/${string}`>>;
15227
- declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17277
+ declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "get">, query?: QueryParams<"/v1/clients/{client_id}", "get">): Promise<openapi_fetch.FetchResponse<{
15228
17278
  parameters: {
15229
- query?: never;
17279
+ query?: {
17280
+ include_sensitive?: boolean;
17281
+ };
15230
17282
  header?: {
15231
17283
  "X-SavvyCal-Account"?: string;
15232
17284
  };
@@ -15267,6 +17319,54 @@ declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{c
15267
17319
  path: {
15268
17320
  client_id: string;
15269
17321
  };
17322
+ query: {
17323
+ include_sensitive?: boolean;
17324
+ } | undefined;
17325
+ };
17326
+ }, `${string}/${string}`>>;
17327
+ declare function getClientField(client: FetchClient, path: PathParams<"/v1/client_fields/{client_field_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17328
+ parameters: {
17329
+ query?: never;
17330
+ header?: {
17331
+ "X-SavvyCal-Account"?: string;
17332
+ };
17333
+ path: {
17334
+ client_field_id: string;
17335
+ };
17336
+ cookie?: never;
17337
+ };
17338
+ requestBody?: never;
17339
+ responses: {
17340
+ 200: {
17341
+ headers: {
17342
+ [name: string]: unknown;
17343
+ };
17344
+ content: {
17345
+ "application/json": components["schemas"]["ClientFieldResponse"];
17346
+ };
17347
+ };
17348
+ 401: {
17349
+ headers: {
17350
+ [name: string]: unknown;
17351
+ };
17352
+ content: {
17353
+ "application/json": components["schemas"]["UnauthorizedResponse"];
17354
+ };
17355
+ };
17356
+ 404: {
17357
+ headers: {
17358
+ [name: string]: unknown;
17359
+ };
17360
+ content: {
17361
+ "application/json": components["schemas"]["NotFoundResponse"];
17362
+ };
17363
+ };
17364
+ };
17365
+ }, {
17366
+ params: {
17367
+ path: {
17368
+ client_field_id: string;
17369
+ };
15270
17370
  };
15271
17371
  }, `${string}/${string}`>>;
15272
17372
  declare function getConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "get">): Promise<openapi_fetch.FetchResponse<{
@@ -15587,6 +17687,51 @@ declare function getEarliestPublicServiceSlot(client: FetchClient, path: PathPar
15587
17687
  } | undefined;
15588
17688
  };
15589
17689
  }, `${string}/${string}`>>;
17690
+ declare function getForm(client: FetchClient, path: PathParams<"/v1/forms/{form_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17691
+ parameters: {
17692
+ query?: never;
17693
+ header?: {
17694
+ "X-SavvyCal-Account"?: string;
17695
+ };
17696
+ path: {
17697
+ form_id: string;
17698
+ };
17699
+ cookie?: never;
17700
+ };
17701
+ requestBody?: never;
17702
+ responses: {
17703
+ 200: {
17704
+ headers: {
17705
+ [name: string]: unknown;
17706
+ };
17707
+ content: {
17708
+ "application/json": components["schemas"]["FormResponse"];
17709
+ };
17710
+ };
17711
+ 401: {
17712
+ headers: {
17713
+ [name: string]: unknown;
17714
+ };
17715
+ content: {
17716
+ "application/json": components["schemas"]["UnauthorizedResponse"];
17717
+ };
17718
+ };
17719
+ 404: {
17720
+ headers: {
17721
+ [name: string]: unknown;
17722
+ };
17723
+ content: {
17724
+ "application/json": components["schemas"]["NotFoundResponse"];
17725
+ };
17726
+ };
17727
+ };
17728
+ }, {
17729
+ params: {
17730
+ path: {
17731
+ form_id: string;
17732
+ };
17733
+ };
17734
+ }, `${string}/${string}`>>;
15590
17735
  declare function getProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "get">): Promise<openapi_fetch.FetchResponse<{
15591
17736
  parameters: {
15592
17737
  query?: never;
@@ -16172,10 +18317,128 @@ declare function listCancellationReasons(client: FetchClient): Promise<openapi_f
16172
18317
  "application/json": components["schemas"]["JsonErrorResponse"];
16173
18318
  };
16174
18319
  };
16175
- };
16176
- }, openapi_fetch.FetchOptions<{
16177
- parameters: {
16178
- query?: never;
18320
+ };
18321
+ }, openapi_fetch.FetchOptions<{
18322
+ parameters: {
18323
+ query?: never;
18324
+ header?: {
18325
+ "X-SavvyCal-Account"?: string;
18326
+ };
18327
+ path?: never;
18328
+ cookie?: never;
18329
+ };
18330
+ requestBody?: never;
18331
+ responses: {
18332
+ 200: {
18333
+ headers: {
18334
+ [name: string]: unknown;
18335
+ };
18336
+ content: {
18337
+ "application/json": components["schemas"]["CancellationReasonsResponse"];
18338
+ };
18339
+ };
18340
+ 401: {
18341
+ headers: {
18342
+ [name: string]: unknown;
18343
+ };
18344
+ content: {
18345
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18346
+ };
18347
+ };
18348
+ 422: {
18349
+ headers: {
18350
+ [name: string]: unknown;
18351
+ };
18352
+ content: {
18353
+ "application/json": components["schemas"]["JsonErrorResponse"];
18354
+ };
18355
+ };
18356
+ };
18357
+ }> | undefined, `${string}/${string}`>>;
18358
+ declare function listClientFields(client: FetchClient): Promise<openapi_fetch.FetchResponse<{
18359
+ parameters: {
18360
+ query?: never;
18361
+ header?: {
18362
+ "X-SavvyCal-Account"?: string;
18363
+ };
18364
+ path?: never;
18365
+ cookie?: never;
18366
+ };
18367
+ requestBody?: never;
18368
+ responses: {
18369
+ 200: {
18370
+ headers: {
18371
+ [name: string]: unknown;
18372
+ };
18373
+ content: {
18374
+ "application/json": components["schemas"]["ClientFieldsResponse"];
18375
+ };
18376
+ };
18377
+ 401: {
18378
+ headers: {
18379
+ [name: string]: unknown;
18380
+ };
18381
+ content: {
18382
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18383
+ };
18384
+ };
18385
+ 422: {
18386
+ headers: {
18387
+ [name: string]: unknown;
18388
+ };
18389
+ content: {
18390
+ "application/json": components["schemas"]["JsonErrorResponse"];
18391
+ };
18392
+ };
18393
+ };
18394
+ }, openapi_fetch.FetchOptions<{
18395
+ parameters: {
18396
+ query?: never;
18397
+ header?: {
18398
+ "X-SavvyCal-Account"?: string;
18399
+ };
18400
+ path?: never;
18401
+ cookie?: never;
18402
+ };
18403
+ requestBody?: never;
18404
+ responses: {
18405
+ 200: {
18406
+ headers: {
18407
+ [name: string]: unknown;
18408
+ };
18409
+ content: {
18410
+ "application/json": components["schemas"]["ClientFieldsResponse"];
18411
+ };
18412
+ };
18413
+ 401: {
18414
+ headers: {
18415
+ [name: string]: unknown;
18416
+ };
18417
+ content: {
18418
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18419
+ };
18420
+ };
18421
+ 422: {
18422
+ headers: {
18423
+ [name: string]: unknown;
18424
+ };
18425
+ content: {
18426
+ "application/json": components["schemas"]["JsonErrorResponse"];
18427
+ };
18428
+ };
18429
+ };
18430
+ }> | undefined, `${string}/${string}`>>;
18431
+ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clients", "get">): Promise<openapi_fetch.FetchResponse<{
18432
+ parameters: {
18433
+ query?: {
18434
+ page?: number;
18435
+ page_size?: number;
18436
+ search?: string;
18437
+ metadata?: {
18438
+ [key: string]: unknown;
18439
+ };
18440
+ include_sensitive?: boolean;
18441
+ };
16179
18442
  header?: {
16180
18443
  "X-SavvyCal-Account"?: string;
16181
18444
  };
@@ -16189,7 +18452,7 @@ declare function listCancellationReasons(client: FetchClient): Promise<openapi_f
16189
18452
  [name: string]: unknown;
16190
18453
  };
16191
18454
  content: {
16192
- "application/json": components["schemas"]["CancellationReasonsResponse"];
18455
+ "application/json": components["schemas"]["ClientsResponse"];
16193
18456
  };
16194
18457
  };
16195
18458
  401: {
@@ -16209,16 +18472,26 @@ declare function listCancellationReasons(client: FetchClient): Promise<openapi_f
16209
18472
  };
16210
18473
  };
16211
18474
  };
16212
- }> | undefined, `${string}/${string}`>>;
16213
- declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clients", "get">): Promise<openapi_fetch.FetchResponse<{
16214
- parameters: {
16215
- query?: {
18475
+ }, {
18476
+ params: {
18477
+ query: {
16216
18478
  page?: number;
16217
18479
  page_size?: number;
16218
18480
  search?: string;
16219
18481
  metadata?: {
16220
18482
  [key: string]: unknown;
16221
18483
  };
18484
+ include_sensitive?: boolean;
18485
+ } | undefined;
18486
+ };
18487
+ }, `${string}/${string}`>>;
18488
+ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<"/v1/connected_accounts", "get">): Promise<openapi_fetch.FetchResponse<{
18489
+ parameters: {
18490
+ query?: {
18491
+ page?: number;
18492
+ page_size?: number;
18493
+ user_id?: string;
18494
+ provider?: "google" | "microsoft" | "zoom_admin";
16222
18495
  };
16223
18496
  header?: {
16224
18497
  "X-SavvyCal-Account"?: string;
@@ -16233,7 +18506,7 @@ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clien
16233
18506
  [name: string]: unknown;
16234
18507
  };
16235
18508
  content: {
16236
- "application/json": components["schemas"]["ClientsResponse"];
18509
+ "application/json": components["schemas"]["ConnectedAccountsResponse"];
16237
18510
  };
16238
18511
  };
16239
18512
  401: {
@@ -16258,20 +18531,17 @@ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clien
16258
18531
  query: {
16259
18532
  page?: number;
16260
18533
  page_size?: number;
16261
- search?: string;
16262
- metadata?: {
16263
- [key: string]: unknown;
16264
- };
18534
+ user_id?: string;
18535
+ provider?: "google" | "microsoft" | "zoom_admin";
16265
18536
  } | undefined;
16266
18537
  };
16267
18538
  }, `${string}/${string}`>>;
16268
- declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<"/v1/connected_accounts", "get">): Promise<openapi_fetch.FetchResponse<{
18539
+ declare function listForms(client: FetchClient, query?: QueryParams<"/v1/forms", "get">): Promise<openapi_fetch.FetchResponse<{
16269
18540
  parameters: {
16270
18541
  query?: {
16271
18542
  page?: number;
16272
18543
  page_size?: number;
16273
- user_id?: string;
16274
- provider?: "google" | "microsoft" | "zoom_admin";
18544
+ search?: string;
16275
18545
  };
16276
18546
  header?: {
16277
18547
  "X-SavvyCal-Account"?: string;
@@ -16286,7 +18556,7 @@ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<
16286
18556
  [name: string]: unknown;
16287
18557
  };
16288
18558
  content: {
16289
- "application/json": components["schemas"]["ConnectedAccountsResponse"];
18559
+ "application/json": components["schemas"]["FormsResponse"];
16290
18560
  };
16291
18561
  };
16292
18562
  401: {
@@ -16311,8 +18581,7 @@ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<
16311
18581
  query: {
16312
18582
  page?: number;
16313
18583
  page_size?: number;
16314
- user_id?: string;
16315
- provider?: "google" | "microsoft" | "zoom_admin";
18584
+ search?: string;
16316
18585
  } | undefined;
16317
18586
  };
16318
18587
  }, `${string}/${string}`>>;
@@ -16598,6 +18867,51 @@ declare function listRoles(client: FetchClient): Promise<openapi_fetch.FetchResp
16598
18867
  };
16599
18868
  };
16600
18869
  }> | undefined, `${string}/${string}`>>;
18870
+ declare function listServiceForms(client: FetchClient, path: PathParams<"/v1/services/{service_id}/forms", "get">): Promise<openapi_fetch.FetchResponse<{
18871
+ parameters: {
18872
+ query?: never;
18873
+ header?: {
18874
+ "X-SavvyCal-Account"?: string;
18875
+ };
18876
+ path: {
18877
+ service_id: string;
18878
+ };
18879
+ cookie?: never;
18880
+ };
18881
+ requestBody?: never;
18882
+ responses: {
18883
+ 200: {
18884
+ headers: {
18885
+ [name: string]: unknown;
18886
+ };
18887
+ content: {
18888
+ "application/json": components["schemas"]["ServiceFormsResponse"];
18889
+ };
18890
+ };
18891
+ 401: {
18892
+ headers: {
18893
+ [name: string]: unknown;
18894
+ };
18895
+ content: {
18896
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18897
+ };
18898
+ };
18899
+ 404: {
18900
+ headers: {
18901
+ [name: string]: unknown;
18902
+ };
18903
+ content: {
18904
+ "application/json": components["schemas"]["NotFoundResponse"];
18905
+ };
18906
+ };
18907
+ };
18908
+ }, {
18909
+ params: {
18910
+ path: {
18911
+ service_id: string;
18912
+ };
18913
+ };
18914
+ }, `${string}/${string}`>>;
16601
18915
  declare function listServiceProviders(client: FetchClient, path: PathParams<"/v1/services/{service_id}/providers", "get">): Promise<openapi_fetch.FetchResponse<{
16602
18916
  parameters: {
16603
18917
  query?: never;
@@ -16879,6 +19193,66 @@ declare function reschedulePublicAppointment(client: FetchClient, path: PathPara
16879
19193
  };
16880
19194
  };
16881
19195
  }, `${string}/${string}`>>;
19196
+ declare function sortServiceForms(client: FetchClient, path: PathParams<"/v1/services/{service_id}/forms/sort", "post">, body: RequestBody<"/v1/services/{service_id}/forms/sort", "post">): Promise<openapi_fetch.FetchResponse<{
19197
+ parameters: {
19198
+ query?: never;
19199
+ header?: {
19200
+ "X-SavvyCal-Account"?: string;
19201
+ };
19202
+ path: {
19203
+ service_id: string;
19204
+ };
19205
+ cookie?: never;
19206
+ };
19207
+ requestBody?: {
19208
+ content: {
19209
+ "application/json": components["schemas"]["SortServiceFormsRequest"];
19210
+ };
19211
+ };
19212
+ responses: {
19213
+ 200: {
19214
+ headers: {
19215
+ [name: string]: unknown;
19216
+ };
19217
+ content: {
19218
+ "application/json": components["schemas"]["ServiceFormsResponse"];
19219
+ };
19220
+ };
19221
+ 401: {
19222
+ headers: {
19223
+ [name: string]: unknown;
19224
+ };
19225
+ content: {
19226
+ "application/json": components["schemas"]["UnauthorizedResponse"];
19227
+ };
19228
+ };
19229
+ 404: {
19230
+ headers: {
19231
+ [name: string]: unknown;
19232
+ };
19233
+ content: {
19234
+ "application/json": components["schemas"]["NotFoundResponse"];
19235
+ };
19236
+ };
19237
+ 422: {
19238
+ headers: {
19239
+ [name: string]: unknown;
19240
+ };
19241
+ content: {
19242
+ "application/json": components["schemas"]["JsonErrorResponse"];
19243
+ };
19244
+ };
19245
+ };
19246
+ }, {
19247
+ body: {
19248
+ ids: string[];
19249
+ } | undefined;
19250
+ params: {
19251
+ path: {
19252
+ service_id: string;
19253
+ };
19254
+ };
19255
+ }, `${string}/${string}`>>;
16882
19256
  declare function updateAccount(client: FetchClient, path: PathParams<"/v1/accounts/{account_id}", "patch">, body: RequestBody<"/v1/accounts/{account_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
16883
19257
  parameters: {
16884
19258
  query?: never;
@@ -17116,6 +19490,9 @@ declare function updateBookingIntent(client: FetchClient, path: PathParams<"/v1/
17116
19490
  auto_assign_provider?: boolean | null;
17117
19491
  client_data?: {
17118
19492
  email?: string | null;
19493
+ fields?: {
19494
+ [key: string]: unknown;
19495
+ } | null;
17119
19496
  first_name?: string | null;
17120
19497
  last_name?: string | null;
17121
19498
  locale?: string | null;
@@ -17135,6 +19512,7 @@ declare function updateBookingIntent(client: FetchClient, path: PathParams<"/v1/
17135
19512
  service_id?: string | null;
17136
19513
  slot_prevalidated?: boolean | null;
17137
19514
  start_at?: string | null;
19515
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
17138
19516
  time_zone?: string | null;
17139
19517
  } | undefined;
17140
19518
  params: {
@@ -17256,6 +19634,9 @@ declare function updateClient(client: FetchClient, path: PathParams<"/v1/clients
17256
19634
  }, {
17257
19635
  body: {
17258
19636
  email?: string;
19637
+ fields?: {
19638
+ [key: string]: unknown;
19639
+ };
17259
19640
  first_name?: string;
17260
19641
  last_name?: string;
17261
19642
  locale?: string;
@@ -17272,6 +19653,69 @@ declare function updateClient(client: FetchClient, path: PathParams<"/v1/clients
17272
19653
  };
17273
19654
  };
17274
19655
  }, `${string}/${string}`>>;
19656
+ declare function updateClientField(client: FetchClient, path: PathParams<"/v1/client_fields/{client_field_id}", "patch">, body: RequestBody<"/v1/client_fields/{client_field_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
19657
+ parameters: {
19658
+ query?: never;
19659
+ header?: {
19660
+ "X-SavvyCal-Account"?: string;
19661
+ };
19662
+ path: {
19663
+ client_field_id: string;
19664
+ };
19665
+ cookie?: never;
19666
+ };
19667
+ requestBody?: {
19668
+ content: {
19669
+ "application/json": components["schemas"]["UpdateClientFieldRequest"];
19670
+ };
19671
+ };
19672
+ responses: {
19673
+ 200: {
19674
+ headers: {
19675
+ [name: string]: unknown;
19676
+ };
19677
+ content: {
19678
+ "application/json": components["schemas"]["ClientFieldResponse"];
19679
+ };
19680
+ };
19681
+ 401: {
19682
+ headers: {
19683
+ [name: string]: unknown;
19684
+ };
19685
+ content: {
19686
+ "application/json": components["schemas"]["UnauthorizedResponse"];
19687
+ };
19688
+ };
19689
+ 404: {
19690
+ headers: {
19691
+ [name: string]: unknown;
19692
+ };
19693
+ content: {
19694
+ "application/json": components["schemas"]["NotFoundResponse"];
19695
+ };
19696
+ };
19697
+ 422: {
19698
+ headers: {
19699
+ [name: string]: unknown;
19700
+ };
19701
+ content: {
19702
+ "application/json": components["schemas"]["JsonErrorResponse"];
19703
+ };
19704
+ };
19705
+ };
19706
+ }, {
19707
+ body: {
19708
+ description?: string | null;
19709
+ label?: string;
19710
+ options?: components["schemas"]["ClientFieldOptions"];
19711
+ sensitive?: boolean;
19712
+ } | undefined;
19713
+ params: {
19714
+ path: {
19715
+ client_field_id: string;
19716
+ };
19717
+ };
19718
+ }, `${string}/${string}`>>;
17275
19719
  declare function updateConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "patch">, body: RequestBody<"/v1/connected_accounts/{connected_account_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
17276
19720
  parameters: {
17277
19721
  query?: never;
@@ -17332,6 +19776,67 @@ declare function updateConnectedAccount(client: FetchClient, path: PathParams<"/
17332
19776
  };
17333
19777
  };
17334
19778
  }, `${string}/${string}`>>;
19779
+ declare function updateForm(client: FetchClient, path: PathParams<"/v1/forms/{form_id}", "patch">, body: RequestBody<"/v1/forms/{form_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
19780
+ parameters: {
19781
+ query?: never;
19782
+ header?: {
19783
+ "X-SavvyCal-Account"?: string;
19784
+ };
19785
+ path: {
19786
+ form_id: string;
19787
+ };
19788
+ cookie?: never;
19789
+ };
19790
+ requestBody?: {
19791
+ content: {
19792
+ "application/json": components["schemas"]["UpdateFormRequest"];
19793
+ };
19794
+ };
19795
+ responses: {
19796
+ 200: {
19797
+ headers: {
19798
+ [name: string]: unknown;
19799
+ };
19800
+ content: {
19801
+ "application/json": components["schemas"]["FormResponse"];
19802
+ };
19803
+ };
19804
+ 401: {
19805
+ headers: {
19806
+ [name: string]: unknown;
19807
+ };
19808
+ content: {
19809
+ "application/json": components["schemas"]["UnauthorizedResponse"];
19810
+ };
19811
+ };
19812
+ 404: {
19813
+ headers: {
19814
+ [name: string]: unknown;
19815
+ };
19816
+ content: {
19817
+ "application/json": components["schemas"]["NotFoundResponse"];
19818
+ };
19819
+ };
19820
+ 422: {
19821
+ headers: {
19822
+ [name: string]: unknown;
19823
+ };
19824
+ content: {
19825
+ "application/json": components["schemas"]["JsonErrorResponse"];
19826
+ };
19827
+ };
19828
+ };
19829
+ }, {
19830
+ body: {
19831
+ fields?: components["schemas"]["FormFieldInput"][];
19832
+ internal_name?: string;
19833
+ } | undefined;
19834
+ params: {
19835
+ path: {
19836
+ form_id: string;
19837
+ };
19838
+ };
19839
+ }, `${string}/${string}`>>;
17335
19840
  declare function updateProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "patch">, body: RequestBody<"/v1/providers/{provider_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
17336
19841
  parameters: {
17337
19842
  query?: never;
@@ -17495,6 +20000,9 @@ declare function updatePublicBookingIntent(client: FetchClient, path: PathParams
17495
20000
  auto_assign_provider?: boolean | null;
17496
20001
  client_data?: {
17497
20002
  email?: string | null;
20003
+ fields?: {
20004
+ [key: string]: unknown;
20005
+ } | null;
17498
20006
  first_name?: string | null;
17499
20007
  last_name?: string | null;
17500
20008
  locale?: string | null;
@@ -17506,6 +20014,7 @@ declare function updatePublicBookingIntent(client: FetchClient, path: PathParams
17506
20014
  provider_id?: string | null;
17507
20015
  service_id?: string | null;
17508
20016
  start_at?: string | null;
20017
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
17509
20018
  time_zone?: string | null;
17510
20019
  } | undefined;
17511
20020
  params: {
@@ -17587,4 +20096,4 @@ declare function updateService(client: FetchClient, path: PathParams<"/v1/servic
17587
20096
  };
17588
20097
  }, `${string}/${string}`>>;
17589
20098
 
17590
- export { type Account, type AccountEvent, type AccountResponse, type AccountUser, type AccountUserCreatedEventData, type AccountUserDeletedEventData, type AccountUserResponse, type AccountUserUpdatedEventData, type AccountUsersResponse, type AccountsResponse, type AdvanceNoticePolicy, type AggregatedSlot, type Appointment, type AppointmentCanceledEventData, type AppointmentConfirmedEventData, type AppointmentCreatedEventData, type AppointmentDeletedEventData, type AppointmentRescheduledEventData, type AppointmentResponse, type AppointmentsResponse, type Block, type BlockCreatedEventData, type BlockDeletedEventData, type BlockResponse, type BlockUpdatedEventData, type BlocksResponse, type BookingIntent, type BookingIntentAbandonedEventData, type BookingIntentCompletedEventData, type BookingIntentCreatedEventData, type BookingIntentResponse, type BookingIntentUpdatedEventData, type BookingIntentsResponse, type BookingPolicy, type CancelAppointmentRequest, type CancelPublicAppointmentRequest, type CancellationEvent, type CancellationPolicy, type CancellationReason, type CancellationReasonResponse, type CancellationReasonsResponse, type Client, type ClientCreatedEventData, type ClientDeletedEventData, type ClientResponse, type ClientUpdatedEventData, type ClientsResponse, type CompleteBookingIntentRequest, type CompletePublicBookingIntentRequest, type ConfirmAppointmentRequest, type ConfirmationEvent, type ConnectedAccount, type ConnectedAccountCreatedEventData, type ConnectedAccountDeletedEventData, type ConnectedAccountReconnectedEventData, type ConnectedAccountRefreshFailedEventData, type ConnectedAccountResponse, type ConnectedAccountsResponse, type CreateAccountRequest, type CreateAccountUserRequest, type CreateAppointmentRequest, type CreateBlockRequest, type CreateBookingIntentRequest, type CreateCancellationReasonRequest, type CreateClientRequest, type CreateDashboardSessionRequest, type CreateProviderRequest, type CreateProviderScheduleRequest, type CreatePublicAppointmentRequest, type CreatePublicBookingIntentRequest, type CreateServiceProviderRequest, type CreateServiceRequest, type DashboardSession, type DashboardSessionResponse, type FetchClient, type FetchClientOptions, type ForbiddenResponse, type GenericErrorResponse, type HoldPolicy, type JsonErrorResponse, type MaximizeUtilizationPolicy, type NotFoundResponse, type PaginationMeta, type PathParams, type Platform, type PlatformResponse, type Provider, type ProviderCreatedEventData, type ProviderDeactivatedEventData, type ProviderNotificationConfig, type ProviderNotificationType, type ProviderReactivatedEventData, type ProviderResponse, type ProviderSchedule, type ProviderScheduleCreatedEventData, type ProviderScheduleDeletedEventData, type ProviderScheduleResponse, type ProviderScheduleUpdatedEventData, type ProviderSchedulesResponse, type ProviderUpdatedEventData, type ProvidersResponse, type PublicAppointment, type PublicAppointmentResponse, type PublicBookingIntent, type PublicBookingIntentResponse, type PublicCancellationReason, type PublicCancellationReasonsResponse, type PublicServiceEarliestSlotResponse, type PublicServiceSlotsResponse, type QueryParams, type RecurrenceRule, type RequestBody, type RescheduleAppointmentRequest, type RescheduleEvent, type ReschedulePublicAppointmentRequest, type ReschedulingPolicy, type Role, type RolesResponse, type Service, type ServiceCreatedEventData, type ServiceDeletedEventData, type ServiceProvider, type ServiceProviderCreatedEventData, type ServiceProviderDeletedEventData, type ServiceProviderResponse, type ServiceProvidersResponse, type ServiceResponse, type ServiceSlotResponse, type ServiceUpdatedEventData, type ServicesResponse, type Slot, type SlotRule, type UnauthorizedResponse, type UpdateAccountRequest, type UpdateAccountUserRequest, type UpdateBlockRequest, type UpdateBookingIntentRequest, type UpdateCancellationReasonRequest, type UpdateClientRequest, type UpdateConnectedAccountRequest, type UpdateProviderRequest, type UpdateProviderScheduleRequest, type UpdatePublicBookingIntentRequest, type UpdateServiceRequest, type User, type WeeklyRule, type ZonedDateTime, abandonBookingIntent, abandonPublicBookingIntent, cancelAppointment, cancelPublicAppointment, completeBookingIntent, completePublicBookingIntent, confirmAppointment, createAccount, createAccountUser, createAppointment, createBlock, createBookingIntent, createCancellationReason, createClient, createDashboardSession, createFetchClient, createProvider, createProviderSchedule, createPublicAppointment, createPublicBookingIntent, createService, createServiceProvider, deactivateProvider, deleteBlock, deleteCancellationReason, deleteClient, deleteConnectedAccount, deleteProviderSchedule, deleteService, deleteServiceProvider, getAccountById, getAppointment, getBlock, getBookingIntent, getCancellationReason, getClient, getConnectedAccount, getCurrentAccount, getCurrentAccountUser, getCurrentPlatform, getEarliestPublicServiceSlot, getProvider, getProviderSchedule, getPublicAppointment, getPublicBookingIntent, getService, listAccountUsers, listAccounts, listAppointments, listBlocks, listBookingIntents, listCancellationReasons, listClients, listConnectedAccounts, listProviderSchedules, listProviders, listPublicCancellationReasons, listPublicServiceSlots, listRoles, listServiceProviders, listServiceSlots, listServices, type paths, rescheduleAppointment, reschedulePublicAppointment, updateAccount, updateAccountUser, updateBlock, updateBookingIntent, updateCancellationReason, updateClient, updateConnectedAccount, updateProvider, updateProviderSchedule, updatePublicBookingIntent, updateService };
20099
+ export { type Account, type AccountEvent, type AccountResponse, type AccountUser, type AccountUserCreatedEventData, type AccountUserDeletedEventData, type AccountUserResponse, type AccountUserUpdatedEventData, type AccountUsersResponse, type AccountsResponse, type AdvanceNoticePolicy, type AggregatedSlot, type Appointment, type AppointmentCanceledEventData, type AppointmentConfirmedEventData, type AppointmentCreatedEventData, type AppointmentDeletedEventData, type AppointmentRescheduledEventData, type AppointmentResponse, type AppointmentsResponse, type AttachServiceFormRequest, type Block, type BlockCreatedEventData, type BlockDeletedEventData, type BlockResponse, type BlockUpdatedEventData, type BlocksResponse, type BookingIntent, type BookingIntentAbandonedEventData, type BookingIntentCompletedEventData, type BookingIntentCreatedEventData, type BookingIntentResponse, type BookingIntentUpdatedEventData, type BookingIntentsResponse, type BookingPolicy, type CancelAppointmentRequest, type CancelPublicAppointmentRequest, type CancellationEvent, type CancellationPolicy, type CancellationReason, type CancellationReasonResponse, type CancellationReasonsResponse, type Client, type ClientCreatedEventData, type ClientDeletedEventData, type ClientField, type ClientFieldChoice, type ClientFieldOptions, type ClientFieldResponse, type ClientFieldsResponse, type ClientResponse, type ClientUpdatedEventData, type ClientsResponse, type CompleteBookingIntentRequest, type CompletePublicBookingIntentRequest, type ConfirmAppointmentRequest, type ConfirmationEvent, type ConnectedAccount, type ConnectedAccountCreatedEventData, type ConnectedAccountDeletedEventData, type ConnectedAccountReconnectedEventData, type ConnectedAccountRefreshFailedEventData, type ConnectedAccountResponse, type ConnectedAccountsResponse, type CreateAccountRequest, type CreateAccountUserRequest, type CreateAppointmentRequest, type CreateBlockRequest, type CreateBookingIntentRequest, type CreateCancellationReasonRequest, type CreateClientFieldRequest, type CreateClientRequest, type CreateDashboardSessionRequest, type CreateFormRequest, type CreateProviderRequest, type CreateProviderScheduleRequest, type CreatePublicAppointmentRequest, type CreatePublicBookingIntentRequest, type CreateServiceProviderRequest, type CreateServiceRequest, type DashboardSession, type DashboardSessionResponse, type FetchClient, type FetchClientOptions, type FieldChoice, type FieldChoiceInput, type FieldOptions, type FieldOptionsInput, type ForbiddenResponse, type Form, type FormDetail, type FormField, type FormFieldInput, type FormResponse, type FormsResponse, type GenericErrorResponse, type HoldPolicy, type IntentSubmissionInput, type JsonErrorResponse, type MaximizeUtilizationPolicy, type NotFoundResponse, type PaginationMeta, type PathParams, type Platform, type PlatformResponse, type Provider, type ProviderCreatedEventData, type ProviderDeactivatedEventData, type ProviderNotificationConfig, type ProviderNotificationType, type ProviderReactivatedEventData, type ProviderResponse, type ProviderSchedule, type ProviderScheduleCreatedEventData, type ProviderScheduleDeletedEventData, type ProviderScheduleResponse, type ProviderScheduleUpdatedEventData, type ProviderSchedulesResponse, type ProviderUpdatedEventData, type ProvidersResponse, type PublicAppointment, type PublicAppointmentResponse, type PublicBookingIntent, type PublicBookingIntentResponse, type PublicCancellationReason, type PublicCancellationReasonsResponse, type PublicServiceEarliestSlotResponse, type PublicServiceSlotsResponse, type QueryParams, type RecurrenceRule, type RequestBody, type RescheduleAppointmentRequest, type RescheduleEvent, type ReschedulePublicAppointmentRequest, type ReschedulingPolicy, type Role, type RolesResponse, type Service, type ServiceCreatedEventData, type ServiceDeletedEventData, type ServiceForm, type ServiceFormResponse, type ServiceFormsResponse, type ServiceProvider, type ServiceProviderCreatedEventData, type ServiceProviderDeletedEventData, type ServiceProviderResponse, type ServiceProvidersResponse, type ServiceResponse, type ServiceSlotResponse, type ServiceUpdatedEventData, type ServicesResponse, type Slot, type SlotRule, type SortServiceFormsRequest, type UnauthorizedResponse, type UpdateAccountRequest, type UpdateAccountUserRequest, type UpdateBlockRequest, type UpdateBookingIntentRequest, type UpdateCancellationReasonRequest, type UpdateClientFieldRequest, type UpdateClientRequest, type UpdateConnectedAccountRequest, type UpdateFormRequest, type UpdateProviderRequest, type UpdateProviderScheduleRequest, type UpdatePublicBookingIntentRequest, type UpdateServiceRequest, type User, type WeeklyRule, type ZonedDateTime, abandonBookingIntent, abandonPublicBookingIntent, attachServiceForm, cancelAppointment, cancelPublicAppointment, completeBookingIntent, completePublicBookingIntent, confirmAppointment, createAccount, createAccountUser, createAppointment, createBlock, createBookingIntent, createCancellationReason, createClient, createClientField, createDashboardSession, createFetchClient, createForm, createProvider, createProviderSchedule, createPublicAppointment, createPublicBookingIntent, createService, createServiceProvider, deactivateProvider, deleteBlock, deleteCancellationReason, deleteClient, deleteClientField, deleteConnectedAccount, deleteForm, deleteProviderSchedule, deleteService, deleteServiceProvider, detachServiceForm, getAccountById, getAppointment, getBlock, getBookingIntent, getCancellationReason, getClient, getClientField, getConnectedAccount, getCurrentAccount, getCurrentAccountUser, getCurrentPlatform, getEarliestPublicServiceSlot, getForm, getProvider, getProviderSchedule, getPublicAppointment, getPublicBookingIntent, getService, listAccountUsers, listAccounts, listAppointments, listBlocks, listBookingIntents, listCancellationReasons, listClientFields, listClients, listConnectedAccounts, listForms, listProviderSchedules, listProviders, listPublicCancellationReasons, listPublicServiceSlots, listRoles, listServiceForms, listServiceProviders, listServiceSlots, listServices, type paths, rescheduleAppointment, reschedulePublicAppointment, sortServiceForms, updateAccount, updateAccountUser, updateBlock, updateBookingIntent, updateCancellationReason, updateClient, updateClientField, updateConnectedAccount, updateForm, updateProvider, updateProviderSchedule, updatePublicBookingIntent, updateService };