@savvycal/appointments-core 0.13.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.ts 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.
@@ -1435,6 +1634,9 @@ interface components {
1435
1634
  * "id": "clnt_a1b2c3d4e5f6",
1436
1635
  * "last_name": "Smith",
1437
1636
  * "locale": "en-US",
1637
+ * "metadata": {
1638
+ * "external_id": "123"
1639
+ * },
1438
1640
  * "object": "client",
1439
1641
  * "phone": "+15551234567",
1440
1642
  * "reference_id": "ext_12345",
@@ -1450,9 +1652,6 @@ interface components {
1450
1652
  * "reference_id": "ext_12345",
1451
1653
  * "time_zone": "America/Chicago"
1452
1654
  * },
1453
- * "client_locale": "en-US",
1454
- * "client_reference_id": "ext_12345",
1455
- * "client_time_zone": "America/Chicago",
1456
1655
  * "confirmation_events": [
1457
1656
  * {
1458
1657
  * "actor": null,
@@ -1485,12 +1684,6 @@ interface components {
1485
1684
  * "unix_ts": 1736464800,
1486
1685
  * "utc": "2025-03-01T04:00:00Z"
1487
1686
  * },
1488
- * "fields": {
1489
- * "email": "jane.smith@example.com",
1490
- * "first_name": "Jane",
1491
- * "last_name": "Smith",
1492
- * "phone": "+15551234567"
1493
- * },
1494
1687
  * "id": "appt_a1b2c3d4e5f6",
1495
1688
  * "object": "appointment",
1496
1689
  * "provider": {
@@ -1570,8 +1763,22 @@ interface components {
1570
1763
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
1571
1764
  * "created_at": "2025-02-17T17:49:19Z",
1572
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
+ * ],
1573
1777
  * "id": "srv_d025a96ac0c6",
1574
1778
  * "internal_name": null,
1779
+ * "metadata": {
1780
+ * "external_id": "123"
1781
+ * },
1575
1782
  * "name": "Initial Consult",
1576
1783
  * "object": "service",
1577
1784
  * "provider_notifications": {
@@ -1672,6 +1879,69 @@ interface components {
1672
1879
  */
1673
1880
  type: "appointment.rescheduled";
1674
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
+ };
1923
+ /**
1924
+ * ForbiddenResponse
1925
+ * @description Response schema for forbidden requests
1926
+ * @example {
1927
+ * "errors": [
1928
+ * {
1929
+ * "detail": "Forbidden",
1930
+ * "status": "403"
1931
+ * }
1932
+ * ]
1933
+ * }
1934
+ */
1935
+ ForbiddenResponse: {
1936
+ errors: {
1937
+ /** @description Error message */
1938
+ detail: string;
1939
+ /** @description HTTP status code */
1940
+ status?: string;
1941
+ /** @description Error title */
1942
+ title?: string;
1943
+ }[];
1944
+ };
1675
1945
  /**
1676
1946
  * ServiceSlotResponse
1677
1947
  * @description Response schema for service slots
@@ -1802,6 +2072,20 @@ interface components {
1802
2072
  roles: components["schemas"]["Role"][];
1803
2073
  user: components["schemas"]["User"];
1804
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
+ };
1805
2089
  /**
1806
2090
  * UpdateBlockRequest
1807
2091
  * @description Request schema for updating a block.
@@ -1945,8 +2229,22 @@ interface components {
1945
2229
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
1946
2230
  * "created_at": "2025-02-17T17:49:19Z",
1947
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
+ * ],
1948
2243
  * "id": "srv_d025a96ac0c6",
1949
2244
  * "internal_name": null,
2245
+ * "metadata": {
2246
+ * "external_id": "123"
2247
+ * },
1950
2248
  * "name": "Initial Consult",
1951
2249
  * "object": "service",
1952
2250
  * "provider_notifications": {
@@ -1994,6 +2292,7 @@ interface components {
1994
2292
  * "utc": "2026-02-23T15:00:00Z"
1995
2293
  * },
1996
2294
  * "status": "slot_selected",
2295
+ * "submissions": [],
1997
2296
  * "updated_at": "2026-02-22T10:00:00Z"
1998
2297
  * },
1999
2298
  * "type": "booking_intent.completed"
@@ -2007,6 +2306,22 @@ interface components {
2007
2306
  */
2008
2307
  type: "booking_intent.completed";
2009
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
+ };
2010
2325
  /**
2011
2326
  * AccountResponse
2012
2327
  * @description Response schema for a single account
@@ -2023,6 +2338,19 @@ interface components {
2023
2338
  AccountResponse: {
2024
2339
  data?: components["schemas"]["Account"];
2025
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
+ };
2026
2354
  /**
2027
2355
  * UpdateConnectedAccountRequest
2028
2356
  * @description Request schema for updating a connected account
@@ -2066,6 +2394,10 @@ interface components {
2066
2394
  /** @description Progressive client data to collect during the booking flow. */
2067
2395
  client_data?: {
2068
2396
  email?: string | null;
2397
+ /** @description A map of custom field key-value pairs. */
2398
+ fields?: {
2399
+ [key: string]: unknown;
2400
+ } | null;
2069
2401
  first_name?: string | null;
2070
2402
  last_name?: string | null;
2071
2403
  locale?: string | null;
@@ -2084,7 +2416,7 @@ interface components {
2084
2416
  hold_duration?: string | null;
2085
2417
  /** @description Whether to enable slot holding. When omitted, falls back to the service's hold policy. */
2086
2418
  hold_enabled?: boolean | null;
2087
- /** @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. */
2088
2420
  locked_fields?: string[] | null;
2089
2421
  /** @description Custom metadata key-value pairs. */
2090
2422
  metadata?: {
@@ -2104,6 +2436,8 @@ interface components {
2104
2436
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
2105
2437
  */
2106
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;
2107
2441
  /** @description The local time zone for the slot (IANA format). */
2108
2442
  time_zone?: string | null;
2109
2443
  };
@@ -2187,8 +2521,22 @@ interface components {
2187
2521
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2188
2522
  * "created_at": "2025-02-17T17:49:19Z",
2189
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
+ * ],
2190
2535
  * "id": "srv_d025a96ac0c6",
2191
2536
  * "internal_name": null,
2537
+ * "metadata": {
2538
+ * "external_id": "123"
2539
+ * },
2192
2540
  * "name": "Initial Consult",
2193
2541
  * "object": "service",
2194
2542
  * "provider_notifications": {
@@ -2236,6 +2584,7 @@ interface components {
2236
2584
  * "utc": "2026-02-23T15:00:00Z"
2237
2585
  * },
2238
2586
  * "status": "slot_selected",
2587
+ * "submissions": [],
2239
2588
  * "updated_at": "2026-02-22T10:00:00Z"
2240
2589
  * },
2241
2590
  * "type": "booking_intent.abandoned"
@@ -2379,6 +2728,46 @@ interface components {
2379
2728
  /** @description List of role IDs to assign to the user (if `add_user` is true). */
2380
2729
  role_ids?: string[];
2381
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
+ };
2382
2771
  /**
2383
2772
  * ServiceProvider
2384
2773
  * @description A service provider
@@ -2444,6 +2833,17 @@ interface components {
2444
2833
  /** @description Total number of pages */
2445
2834
  total_pages: number;
2446
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
+ };
2447
2847
  /**
2448
2848
  * ServiceResponse
2449
2849
  * @description Response schema for a service
@@ -2476,8 +2876,22 @@ interface components {
2476
2876
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2477
2877
  * "created_at": "2025-02-17T17:49:19Z",
2478
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
+ * ],
2479
2890
  * "id": "srv_d025a96ac0c6",
2480
2891
  * "internal_name": null,
2892
+ * "metadata": {
2893
+ * "external_id": "123"
2894
+ * },
2481
2895
  * "name": "Initial Consult",
2482
2896
  * "object": "service",
2483
2897
  * "provider_notifications": {
@@ -2522,6 +2936,19 @@ interface components {
2522
2936
  ServiceResponse: {
2523
2937
  data: components["schemas"]["Service"];
2524
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
+ };
2525
2952
  /**
2526
2953
  * BookingIntentUpdatedEventData
2527
2954
  * @description This is an object representing data for the booking intent updated event.
@@ -2602,8 +3029,22 @@ interface components {
2602
3029
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2603
3030
  * "created_at": "2025-02-17T17:49:19Z",
2604
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
+ * ],
2605
3043
  * "id": "srv_d025a96ac0c6",
2606
3044
  * "internal_name": null,
3045
+ * "metadata": {
3046
+ * "external_id": "123"
3047
+ * },
2607
3048
  * "name": "Initial Consult",
2608
3049
  * "object": "service",
2609
3050
  * "provider_notifications": {
@@ -2651,6 +3092,7 @@ interface components {
2651
3092
  * "utc": "2026-02-23T15:00:00Z"
2652
3093
  * },
2653
3094
  * "status": "slot_selected",
3095
+ * "submissions": [],
2654
3096
  * "updated_at": "2026-02-22T10:00:00Z"
2655
3097
  * },
2656
3098
  * "type": "booking_intent.updated"
@@ -2732,6 +3174,25 @@ interface components {
2732
3174
  /** @enum {string} */
2733
3175
  source: "client_ui" | "dashboard" | "api";
2734
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
+ };
2735
3196
  /**
2736
3197
  * CreateAccountUserRequest
2737
3198
  * @description Request schema for creating a user in an account
@@ -2831,6 +3292,10 @@ interface components {
2831
3292
  /** @description Progressive client data. Provided fields are merged with existing values. */
2832
3293
  client_data?: {
2833
3294
  email?: string | null;
3295
+ /** @description A map of custom field key-value pairs. */
3296
+ fields?: {
3297
+ [key: string]: unknown;
3298
+ } | null;
2834
3299
  first_name?: string | null;
2835
3300
  last_name?: string | null;
2836
3301
  locale?: string | null;
@@ -2858,29 +3323,69 @@ interface components {
2858
3323
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
2859
3324
  */
2860
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;
2861
3328
  /** @description The local time zone for the slot (IANA format). */
2862
3329
  time_zone?: string | null;
2863
3330
  };
2864
3331
  /**
2865
- * BookingIntentsResponse
2866
- * @description Response schema for multiple booking intents
3332
+ * Form
3333
+ * @description A form represents an intake form with typed fields.
2867
3334
  * @example {
2868
- * "data": [
2869
- * {
2870
- * "abandoned_at": null,
2871
- * "appointment": null,
2872
- * "client": null,
2873
- * "client_data": {
2874
- * "email": "jane@example.com",
2875
- * "first_name": "Jane",
2876
- * "last_name": "Doe",
2877
- * "locale": "en",
2878
- * "phone": "+15551234567",
2879
- * "reference_id": "ext_123",
2880
- * "time_zone": "America/New_York"
2881
- * },
2882
- * "completed_at": null,
2883
- * "created_at": "2026-02-22T10:00:00Z",
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
+ };
3369
+ /**
3370
+ * BookingIntentsResponse
3371
+ * @description Response schema for multiple booking intents
3372
+ * @example {
3373
+ * "data": [
3374
+ * {
3375
+ * "abandoned_at": null,
3376
+ * "appointment": null,
3377
+ * "client": null,
3378
+ * "client_data": {
3379
+ * "email": "jane@example.com",
3380
+ * "first_name": "Jane",
3381
+ * "last_name": "Doe",
3382
+ * "locale": "en",
3383
+ * "phone": "+15551234567",
3384
+ * "reference_id": "ext_123",
3385
+ * "time_zone": "America/New_York"
3386
+ * },
3387
+ * "completed_at": null,
3388
+ * "created_at": "2026-02-22T10:00:00Z",
2884
3389
  * "end_at": {
2885
3390
  * "local": "2026-02-23T10:30:00-05:00",
2886
3391
  * "object": "zoned_date_time",
@@ -2942,8 +3447,22 @@ interface components {
2942
3447
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2943
3448
  * "created_at": "2025-02-17T17:49:19Z",
2944
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
+ * ],
2945
3461
  * "id": "srv_d025a96ac0c6",
2946
3462
  * "internal_name": null,
3463
+ * "metadata": {
3464
+ * "external_id": "123"
3465
+ * },
2947
3466
  * "name": "Initial Consult",
2948
3467
  * "object": "service",
2949
3468
  * "provider_notifications": {
@@ -2991,6 +3510,7 @@ interface components {
2991
3510
  * "utc": "2026-02-23T15:00:00Z"
2992
3511
  * },
2993
3512
  * "status": "slot_selected",
3513
+ * "submissions": [],
2994
3514
  * "updated_at": "2026-02-22T10:00:00Z"
2995
3515
  * }
2996
3516
  * ],
@@ -3007,6 +3527,33 @@ interface components {
3007
3527
  data: components["schemas"]["BookingIntent"][];
3008
3528
  meta: components["schemas"]["PaginationMeta"];
3009
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
+ };
3010
3557
  /**
3011
3558
  * RolesResponse
3012
3559
  * @description Response schema for multiple roles
@@ -3102,6 +3649,9 @@ interface components {
3102
3649
  * "id": "clnt_a1b2c3d4e5f6",
3103
3650
  * "last_name": "Smith",
3104
3651
  * "locale": "en-US",
3652
+ * "metadata": {
3653
+ * "external_id": "123"
3654
+ * },
3105
3655
  * "object": "client",
3106
3656
  * "phone": "+15551234567",
3107
3657
  * "reference_id": "ext_12345",
@@ -3232,8 +3782,22 @@ interface components {
3232
3782
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3233
3783
  * "created_at": "2025-02-17T17:49:19Z",
3234
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
+ * ],
3235
3796
  * "id": "srv_d025a96ac0c6",
3236
3797
  * "internal_name": null,
3798
+ * "metadata": {
3799
+ * "external_id": "123"
3800
+ * },
3237
3801
  * "name": "Initial Consult",
3238
3802
  * "object": "service",
3239
3803
  * "provider_notifications": {
@@ -3281,6 +3845,7 @@ interface components {
3281
3845
  * "utc": "2026-02-23T15:00:00Z"
3282
3846
  * },
3283
3847
  * "status": "slot_selected",
3848
+ * "submissions": [],
3284
3849
  * "updated_at": "2026-02-22T10:00:00Z"
3285
3850
  * },
3286
3851
  * "type": "booking_intent.created"
@@ -3326,6 +3891,30 @@ interface components {
3326
3891
  */
3327
3892
  updated_at: string;
3328
3893
  };
3894
+ /**
3895
+ * IntentSubmissionInput
3896
+ * @description A form submission entry containing a form ID and response data.
3897
+ * @example {
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
+ };
3329
3918
  /**
3330
3919
  * PublicServiceEarliestSlotResponse
3331
3920
  * @description Response schema for the earliest available service slot via the public API
@@ -3552,6 +4141,9 @@ interface components {
3552
4141
  * "id": "clnt_a1b2c3d4e5f6",
3553
4142
  * "last_name": "Smith",
3554
4143
  * "locale": "en-US",
4144
+ * "metadata": {
4145
+ * "external_id": "123"
4146
+ * },
3555
4147
  * "object": "client",
3556
4148
  * "phone": "+15551234567",
3557
4149
  * "reference_id": "ext_12345",
@@ -3570,6 +4162,10 @@ interface components {
3570
4162
  * @description The client's email address. This field will be `null` unless `include_sensitive` is `true`.
3571
4163
  */
3572
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;
3573
4169
  /** @description The client's first name. This field will be `null` unless `include_sensitive` is `true`. */
3574
4170
  first_name?: string | null;
3575
4171
  /** @description Unique identifier for the object. */
@@ -3581,6 +4177,10 @@ interface components {
3581
4177
  * @example en-US
3582
4178
  */
3583
4179
  locale: string;
4180
+ /** @description Set of key-value pairs attached to this client. Maximum size is 16 KB. */
4181
+ metadata?: {
4182
+ [key: string]: unknown;
4183
+ };
3584
4184
  /**
3585
4185
  * @description String representing the object's type.
3586
4186
  * @enum {string}
@@ -3633,6 +4233,20 @@ interface components {
3633
4233
  */
3634
4234
  updated_at: string;
3635
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
+ };
3636
4250
  /**
3637
4251
  * ConnectedAccountResponse
3638
4252
  * @description Response schema for a single connected account
@@ -3688,8 +4302,22 @@ interface components {
3688
4302
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3689
4303
  * "created_at": "2025-02-17T17:49:19Z",
3690
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
+ * ],
3691
4316
  * "id": "srv_d025a96ac0c6",
3692
4317
  * "internal_name": null,
4318
+ * "metadata": {
4319
+ * "external_id": "123"
4320
+ * },
3693
4321
  * "name": "Initial Consult",
3694
4322
  * "object": "service",
3695
4323
  * "provider_notifications": {
@@ -3740,6 +4368,26 @@ interface components {
3740
4368
  */
3741
4369
  type: "service.deleted";
3742
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
+ };
3743
4391
  /**
3744
4392
  * PublicServiceSlotsResponse
3745
4393
  * @description Response schema for service slots via the public API
@@ -3849,6 +4497,9 @@ interface components {
3849
4497
  * "id": "clnt_a1b2c3d4e5f6",
3850
4498
  * "last_name": "Smith",
3851
4499
  * "locale": "en-US",
4500
+ * "metadata": {
4501
+ * "external_id": "123"
4502
+ * },
3852
4503
  * "object": "client",
3853
4504
  * "phone": "+15551234567",
3854
4505
  * "reference_id": "ext_12345",
@@ -3864,9 +4515,6 @@ interface components {
3864
4515
  * "reference_id": "ext_12345",
3865
4516
  * "time_zone": "America/Chicago"
3866
4517
  * },
3867
- * "client_locale": "en-US",
3868
- * "client_reference_id": "ext_12345",
3869
- * "client_time_zone": "America/Chicago",
3870
4518
  * "confirmation_events": [
3871
4519
  * {
3872
4520
  * "actor": null,
@@ -3899,12 +4547,6 @@ interface components {
3899
4547
  * "unix_ts": 1736464800,
3900
4548
  * "utc": "2025-03-01T04:00:00Z"
3901
4549
  * },
3902
- * "fields": {
3903
- * "email": "jane.smith@example.com",
3904
- * "first_name": "Jane",
3905
- * "last_name": "Smith",
3906
- * "phone": "+15551234567"
3907
- * },
3908
4550
  * "id": "appt_a1b2c3d4e5f6",
3909
4551
  * "object": "appointment",
3910
4552
  * "provider": {
@@ -3984,8 +4626,22 @@ interface components {
3984
4626
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3985
4627
  * "created_at": "2025-02-17T17:49:19Z",
3986
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
+ * ],
3987
4640
  * "id": "srv_d025a96ac0c6",
3988
4641
  * "internal_name": null,
4642
+ * "metadata": {
4643
+ * "external_id": "123"
4644
+ * },
3989
4645
  * "name": "Initial Consult",
3990
4646
  * "object": "service",
3991
4647
  * "provider_notifications": {
@@ -4066,6 +4722,57 @@ interface components {
4066
4722
  */
4067
4723
  type: "appointment.confirmed";
4068
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
+ };
4069
4776
  /**
4070
4777
  * CancellationReasonResponse
4071
4778
  * @description Response schema for a single cancellation reason
@@ -4094,6 +4801,9 @@ interface components {
4094
4801
  * "id": "clnt_a1b2c3d4e5f6",
4095
4802
  * "last_name": "Smith",
4096
4803
  * "locale": "en-US",
4804
+ * "metadata": {
4805
+ * "external_id": "123"
4806
+ * },
4097
4807
  * "object": "client",
4098
4808
  * "phone": "+15551234567",
4099
4809
  * "reference_id": "ext_12345",
@@ -4203,6 +4913,9 @@ interface components {
4203
4913
  * "id": "clnt_a1b2c3d4e5f6",
4204
4914
  * "last_name": "Smith",
4205
4915
  * "locale": "en-US",
4916
+ * "metadata": {
4917
+ * "external_id": "123"
4918
+ * },
4206
4919
  * "object": "client",
4207
4920
  * "phone": "+15551234567",
4208
4921
  * "reference_id": "ext_12345",
@@ -4218,9 +4931,6 @@ interface components {
4218
4931
  * "reference_id": "ext_12345",
4219
4932
  * "time_zone": "America/Chicago"
4220
4933
  * },
4221
- * "client_locale": "en-US",
4222
- * "client_reference_id": "ext_12345",
4223
- * "client_time_zone": "America/Chicago",
4224
4934
  * "confirmation_events": [
4225
4935
  * {
4226
4936
  * "actor": null,
@@ -4253,12 +4963,6 @@ interface components {
4253
4963
  * "unix_ts": 1736464800,
4254
4964
  * "utc": "2025-03-01T04:00:00Z"
4255
4965
  * },
4256
- * "fields": {
4257
- * "email": "jane.smith@example.com",
4258
- * "first_name": "Jane",
4259
- * "last_name": "Smith",
4260
- * "phone": "+15551234567"
4261
- * },
4262
4966
  * "id": "appt_a1b2c3d4e5f6",
4263
4967
  * "object": "appointment",
4264
4968
  * "provider": {
@@ -4338,8 +5042,22 @@ interface components {
4338
5042
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4339
5043
  * "created_at": "2025-02-17T17:49:19Z",
4340
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
+ * ],
4341
5056
  * "id": "srv_d025a96ac0c6",
4342
5057
  * "internal_name": null,
5058
+ * "metadata": {
5059
+ * "external_id": "123"
5060
+ * },
4343
5061
  * "name": "Initial Consult",
4344
5062
  * "object": "service",
4345
5063
  * "provider_notifications": {
@@ -4481,6 +5199,10 @@ interface components {
4481
5199
  /** @description Progressive client data. Provided fields are merged with existing values. */
4482
5200
  client_data?: {
4483
5201
  email?: string | null;
5202
+ /** @description A map of custom field key-value pairs. */
5203
+ fields?: {
5204
+ [key: string]: unknown;
5205
+ } | null;
4484
5206
  first_name?: string | null;
4485
5207
  last_name?: string | null;
4486
5208
  locale?: string | null;
@@ -4499,7 +5221,7 @@ interface components {
4499
5221
  hold_duration?: string | null;
4500
5222
  /** @description Whether to enable slot holding. When omitted, falls back to the service's hold policy if service is changing. */
4501
5223
  hold_enabled?: boolean | null;
4502
- /** @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. */
4503
5225
  locked_fields?: string[] | null;
4504
5226
  /** @description Custom metadata key-value pairs. Replaces existing metadata entirely. */
4505
5227
  metadata?: {
@@ -4516,6 +5238,8 @@ interface components {
4516
5238
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
4517
5239
  */
4518
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;
4519
5243
  /** @description The local time zone for the slot (IANA format). */
4520
5244
  time_zone?: string | null;
4521
5245
  };
@@ -4585,6 +5309,9 @@ interface components {
4585
5309
  * "id": "clnt_a1b2c3d4e5f6",
4586
5310
  * "last_name": "Smith",
4587
5311
  * "locale": "en-US",
5312
+ * "metadata": {
5313
+ * "external_id": "123"
5314
+ * },
4588
5315
  * "object": "client",
4589
5316
  * "phone": "+15551234567",
4590
5317
  * "reference_id": "ext_12345",
@@ -4600,9 +5327,6 @@ interface components {
4600
5327
  * "reference_id": "ext_12345",
4601
5328
  * "time_zone": "America/Chicago"
4602
5329
  * },
4603
- * "client_locale": "en-US",
4604
- * "client_reference_id": "ext_12345",
4605
- * "client_time_zone": "America/Chicago",
4606
5330
  * "confirmation_events": [
4607
5331
  * {
4608
5332
  * "actor": null,
@@ -4635,12 +5359,6 @@ interface components {
4635
5359
  * "unix_ts": 1736464800,
4636
5360
  * "utc": "2025-03-01T04:00:00Z"
4637
5361
  * },
4638
- * "fields": {
4639
- * "email": "jane.smith@example.com",
4640
- * "first_name": "Jane",
4641
- * "last_name": "Smith",
4642
- * "phone": "+15551234567"
4643
- * },
4644
5362
  * "id": "appt_a1b2c3d4e5f6",
4645
5363
  * "object": "appointment",
4646
5364
  * "provider": {
@@ -4720,8 +5438,22 @@ interface components {
4720
5438
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4721
5439
  * "created_at": "2025-02-17T17:49:19Z",
4722
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
+ * ],
4723
5452
  * "id": "srv_d025a96ac0c6",
4724
5453
  * "internal_name": null,
5454
+ * "metadata": {
5455
+ * "external_id": "123"
5456
+ * },
4725
5457
  * "name": "Initial Consult",
4726
5458
  * "object": "service",
4727
5459
  * "provider_notifications": {
@@ -4836,6 +5568,9 @@ interface components {
4836
5568
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
4837
5569
  * "duration": "PT1H30M",
4838
5570
  * "internal_name": "IC - New Patient",
5571
+ * "metadata": {
5572
+ * "external_id": "123"
5573
+ * },
4839
5574
  * "name": "Initial Consultation",
4840
5575
  * "provider_notifications": {
4841
5576
  * "additional_recipients": [
@@ -4894,6 +5629,10 @@ interface components {
4894
5629
  duration?: string;
4895
5630
  /** @description An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name. */
4896
5631
  internal_name?: string | null;
5632
+ /** @description Set of key-value pairs to attach to this service. Maximum size is 16 KB. */
5633
+ metadata?: {
5634
+ [key: string]: unknown;
5635
+ };
4897
5636
  /** @description The service name. */
4898
5637
  name?: string;
4899
5638
  provider_notifications?: components["schemas"]["ProviderNotificationConfig"];
@@ -4909,6 +5648,9 @@ interface components {
4909
5648
  * "first_name": "John",
4910
5649
  * "last_name": "Smith",
4911
5650
  * "locale": "en",
5651
+ * "metadata": {
5652
+ * "external_id": "123"
5653
+ * },
4912
5654
  * "phone": "+15551234567",
4913
5655
  * "reference_id": "your-reference-id",
4914
5656
  * "time_zone": "America/New_York"
@@ -4917,12 +5659,20 @@ interface components {
4917
5659
  UpdateClientRequest: {
4918
5660
  /** @description The client's email address. */
4919
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
+ };
4920
5666
  /** @description The client's first name. */
4921
5667
  first_name?: string;
4922
5668
  /** @description The client's last name. */
4923
5669
  last_name?: string;
4924
5670
  /** @description The client's locale. */
4925
5671
  locale?: string;
5672
+ /** @description Set of key-value pairs to attach to this client. Maximum size is 16 KB. */
5673
+ metadata?: {
5674
+ [key: string]: unknown;
5675
+ };
4926
5676
  /** @description The client's phone number (E.164 format). */
4927
5677
  phone?: string;
4928
5678
  /** @description The client's external reference identifier. */
@@ -5074,6 +5824,9 @@ interface components {
5074
5824
  * "id": "clnt_a1b2c3d4e5f6",
5075
5825
  * "last_name": "Smith",
5076
5826
  * "locale": "en-US",
5827
+ * "metadata": {
5828
+ * "external_id": "123"
5829
+ * },
5077
5830
  * "object": "client",
5078
5831
  * "phone": "+15551234567",
5079
5832
  * "reference_id": "ext_12345",
@@ -5089,9 +5842,6 @@ interface components {
5089
5842
  * "reference_id": "ext_12345",
5090
5843
  * "time_zone": "America/Chicago"
5091
5844
  * },
5092
- * "client_locale": "en-US",
5093
- * "client_reference_id": "ext_12345",
5094
- * "client_time_zone": "America/Chicago",
5095
5845
  * "confirmation_events": [
5096
5846
  * {
5097
5847
  * "actor": null,
@@ -5124,12 +5874,6 @@ interface components {
5124
5874
  * "unix_ts": 1736464800,
5125
5875
  * "utc": "2025-03-01T04:00:00Z"
5126
5876
  * },
5127
- * "fields": {
5128
- * "email": "jane.smith@example.com",
5129
- * "first_name": "Jane",
5130
- * "last_name": "Smith",
5131
- * "phone": "+15551234567"
5132
- * },
5133
5877
  * "id": "appt_a1b2c3d4e5f6",
5134
5878
  * "object": "appointment",
5135
5879
  * "provider": {
@@ -5209,8 +5953,22 @@ interface components {
5209
5953
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5210
5954
  * "created_at": "2025-02-17T17:49:19Z",
5211
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
+ * ],
5212
5967
  * "id": "srv_d025a96ac0c6",
5213
5968
  * "internal_name": null,
5969
+ * "metadata": {
5970
+ * "external_id": "123"
5971
+ * },
5214
5972
  * "name": "Initial Consult",
5215
5973
  * "object": "service",
5216
5974
  * "provider_notifications": {
@@ -5296,6 +6054,9 @@ interface components {
5296
6054
  * "id": "clnt_a1b2c3d4e5f6",
5297
6055
  * "last_name": "Smith",
5298
6056
  * "locale": "en-US",
6057
+ * "metadata": {
6058
+ * "external_id": "123"
6059
+ * },
5299
6060
  * "object": "client",
5300
6061
  * "phone": "+15551234567",
5301
6062
  * "reference_id": "ext_12345",
@@ -5363,6 +6124,9 @@ interface components {
5363
6124
  * "id": "clnt_a1b2c3d4e5f6",
5364
6125
  * "last_name": "Smith",
5365
6126
  * "locale": "en-US",
6127
+ * "metadata": {
6128
+ * "external_id": "123"
6129
+ * },
5366
6130
  * "object": "client",
5367
6131
  * "phone": "+15551234567",
5368
6132
  * "reference_id": "ext_12345",
@@ -5483,6 +6247,20 @@ interface components {
5483
6247
  hold: components["schemas"]["HoldPolicy"];
5484
6248
  maximize_utilization: components["schemas"]["MaximizeUtilizationPolicy"];
5485
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
+ };
5486
6264
  /**
5487
6265
  * Service
5488
6266
  * @description A service represents a type of appointment.
@@ -5514,8 +6292,22 @@ interface components {
5514
6292
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5515
6293
  * "created_at": "2025-02-17T17:49:19Z",
5516
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
+ * ],
5517
6306
  * "id": "srv_d025a96ac0c6",
5518
6307
  * "internal_name": null,
6308
+ * "metadata": {
6309
+ * "external_id": "123"
6310
+ * },
5519
6311
  * "name": "Initial Consult",
5520
6312
  * "object": "service",
5521
6313
  * "provider_notifications": {
@@ -5579,10 +6371,16 @@ interface components {
5579
6371
  * @example `PT30M`
5580
6372
  */
5581
6373
  duration: string;
6374
+ /** @description Forms attached to this service. */
6375
+ forms?: components["schemas"]["ServiceForm"][] | null;
5582
6376
  /** @description Unique identifier for the object. */
5583
6377
  id: string;
5584
6378
  /** @description An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name. */
5585
6379
  internal_name?: string | null;
6380
+ /** @description Set of key-value pairs attached to this service. Maximum size is 16 KB. */
6381
+ metadata: {
6382
+ [key: string]: unknown;
6383
+ };
5586
6384
  /** @description The name of the service. */
5587
6385
  name: string;
5588
6386
  /**
@@ -5600,6 +6398,25 @@ interface components {
5600
6398
  */
5601
6399
  updated_at: string;
5602
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
+ };
5603
6420
  /**
5604
6421
  * ProviderReactivatedEventData
5605
6422
  * @description This is an object representing data for the provider reactivated event.
@@ -5680,6 +6497,10 @@ interface components {
5680
6497
  /** @description Progressive client data. Provided fields are merged with existing values. */
5681
6498
  client_data?: {
5682
6499
  email?: string | null;
6500
+ /** @description A map of custom field key-value pairs. */
6501
+ fields?: {
6502
+ [key: string]: unknown;
6503
+ } | null;
5683
6504
  first_name?: string | null;
5684
6505
  last_name?: string | null;
5685
6506
  locale?: string | null;
@@ -5701,6 +6522,8 @@ interface components {
5701
6522
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
5702
6523
  */
5703
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;
5704
6527
  /** @description The local time zone for the slot (IANA format). */
5705
6528
  time_zone?: string | null;
5706
6529
  };
@@ -5863,8 +6686,22 @@ interface components {
5863
6686
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
5864
6687
  * "created_at": "2025-02-17T17:49:19Z",
5865
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
+ * ],
5866
6700
  * "id": "srv_d025a96ac0c6",
5867
6701
  * "internal_name": null,
6702
+ * "metadata": {
6703
+ * "external_id": "123"
6704
+ * },
5868
6705
  * "name": "Initial Consult",
5869
6706
  * "object": "service",
5870
6707
  * "provider_notifications": {
@@ -6156,8 +6993,22 @@ interface components {
6156
6993
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
6157
6994
  * "created_at": "2025-02-17T17:49:19Z",
6158
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
+ * ],
6159
7007
  * "id": "srv_d025a96ac0c6",
6160
7008
  * "internal_name": null,
7009
+ * "metadata": {
7010
+ * "external_id": "123"
7011
+ * },
6161
7012
  * "name": "Initial Consult",
6162
7013
  * "object": "service",
6163
7014
  * "provider_notifications": {
@@ -6336,10 +7187,48 @@ interface components {
6336
7187
  status: "pending" | "slot_selected" | "completed" | "abandoned";
6337
7188
  };
6338
7189
  /**
6339
- * UpdateAccountUserRequest
6340
- * @description Request schema for updating a user in an account
7190
+ * ServiceForm
7191
+ * @description A service form represents the attachment of a form to a service.
6341
7192
  * @example {
6342
- * "email": "john.doe@example.com",
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
+ };
7227
+ /**
7228
+ * UpdateAccountUserRequest
7229
+ * @description Request schema for updating a user in an account
7230
+ * @example {
7231
+ * "email": "john.doe@example.com",
6343
7232
  * "first_name": "John",
6344
7233
  * "last_name": "Doe",
6345
7234
  * "passive": true,
@@ -6409,6 +7298,9 @@ interface components {
6409
7298
  * "id": "clnt_a1b2c3d4e5f6",
6410
7299
  * "last_name": "Smith",
6411
7300
  * "locale": "en-US",
7301
+ * "metadata": {
7302
+ * "external_id": "123"
7303
+ * },
6412
7304
  * "object": "client",
6413
7305
  * "phone": "+15551234567",
6414
7306
  * "reference_id": "ext_12345",
@@ -6424,9 +7316,6 @@ interface components {
6424
7316
  * "reference_id": "ext_12345",
6425
7317
  * "time_zone": "America/Chicago"
6426
7318
  * },
6427
- * "client_locale": "en-US",
6428
- * "client_reference_id": "ext_12345",
6429
- * "client_time_zone": "America/Chicago",
6430
7319
  * "confirmation_events": [
6431
7320
  * {
6432
7321
  * "actor": null,
@@ -6459,12 +7348,6 @@ interface components {
6459
7348
  * "unix_ts": 1736464800,
6460
7349
  * "utc": "2025-03-01T04:00:00Z"
6461
7350
  * },
6462
- * "fields": {
6463
- * "email": "jane.smith@example.com",
6464
- * "first_name": "Jane",
6465
- * "last_name": "Smith",
6466
- * "phone": "+15551234567"
6467
- * },
6468
7351
  * "id": "appt_a1b2c3d4e5f6",
6469
7352
  * "object": "appointment",
6470
7353
  * "provider": {
@@ -6544,8 +7427,22 @@ interface components {
6544
7427
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
6545
7428
  * "created_at": "2025-02-17T17:49:19Z",
6546
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
+ * ],
6547
7441
  * "id": "srv_d025a96ac0c6",
6548
7442
  * "internal_name": null,
7443
+ * "metadata": {
7444
+ * "external_id": "123"
7445
+ * },
6549
7446
  * "name": "Initial Consult",
6550
7447
  * "object": "service",
6551
7448
  * "provider_notifications": {
@@ -6626,6 +7523,24 @@ interface components {
6626
7523
  */
6627
7524
  type: "appointment.canceled";
6628
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
+ };
6629
7544
  /**
6630
7545
  * UpdatePublicBookingIntentRequest
6631
7546
  * @description Request schema for updating a booking intent via a public interface.
@@ -6646,6 +7561,10 @@ interface components {
6646
7561
  /** @description Progressive client data. Provided fields are merged with existing values. */
6647
7562
  client_data?: {
6648
7563
  email?: string | null;
7564
+ /** @description A map of custom field key-value pairs. */
7565
+ fields?: {
7566
+ [key: string]: unknown;
7567
+ } | null;
6649
7568
  first_name?: string | null;
6650
7569
  last_name?: string | null;
6651
7570
  locale?: string | null;
@@ -6667,6 +7586,8 @@ interface components {
6667
7586
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
6668
7587
  */
6669
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;
6670
7591
  /** @description The local time zone for the slot (IANA format). */
6671
7592
  time_zone?: string | null;
6672
7593
  };
@@ -6720,6 +7641,31 @@ interface components {
6720
7641
  */
6721
7642
  type: "provider_schedule.updated";
6722
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
+ };
6723
7669
  /**
6724
7670
  * PublicBookingIntentResponse
6725
7671
  * @description Response schema for a single booking intent via a public interface.
@@ -7137,6 +8083,10 @@ interface components {
7137
8083
  * @description The client's email address. Required if no existing client is provided.
7138
8084
  */
7139
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;
7140
8090
  /** @description The client's first name. Required if no existing client is provided. */
7141
8091
  first_name?: string | null;
7142
8092
  /**
@@ -7274,6 +8224,10 @@ interface components {
7274
8224
  /** @description Progressive client data to collect during the booking flow. */
7275
8225
  client_data?: {
7276
8226
  email?: string | null;
8227
+ /** @description A map of custom field key-value pairs. */
8228
+ fields?: {
8229
+ [key: string]: unknown;
8230
+ } | null;
7277
8231
  first_name?: string | null;
7278
8232
  last_name?: string | null;
7279
8233
  locale?: string | null;
@@ -7295,6 +8249,8 @@ interface components {
7295
8249
  * @description The start time of the slot as an ISO-8601 datetime string with a timezone offset.
7296
8250
  */
7297
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;
7298
8254
  /** @description The local time zone for the slot (IANA format). */
7299
8255
  time_zone?: string | null;
7300
8256
  };
@@ -7378,8 +8334,22 @@ interface components {
7378
8334
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
7379
8335
  * "created_at": "2025-02-17T17:49:19Z",
7380
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
+ * ],
7381
8348
  * "id": "srv_d025a96ac0c6",
7382
8349
  * "internal_name": null,
8350
+ * "metadata": {
8351
+ * "external_id": "123"
8352
+ * },
7383
8353
  * "name": "Initial Consult",
7384
8354
  * "object": "service",
7385
8355
  * "provider_notifications": {
@@ -7427,6 +8397,7 @@ interface components {
7427
8397
  * "utc": "2026-02-23T15:00:00Z"
7428
8398
  * },
7429
8399
  * "status": "slot_selected",
8400
+ * "submissions": [],
7430
8401
  * "updated_at": "2026-02-22T10:00:00Z"
7431
8402
  * }
7432
8403
  * }
@@ -7489,6 +8460,9 @@ interface components {
7489
8460
  * "id": "clnt_a1b2c3d4e5f6",
7490
8461
  * "last_name": "Smith",
7491
8462
  * "locale": "en-US",
8463
+ * "metadata": {
8464
+ * "external_id": "123"
8465
+ * },
7492
8466
  * "object": "client",
7493
8467
  * "phone": "+15551234567",
7494
8468
  * "reference_id": "ext_12345",
@@ -7504,9 +8478,6 @@ interface components {
7504
8478
  * "reference_id": "ext_12345",
7505
8479
  * "time_zone": "America/Chicago"
7506
8480
  * },
7507
- * "client_locale": "en-US",
7508
- * "client_reference_id": "ext_12345",
7509
- * "client_time_zone": "America/Chicago",
7510
8481
  * "confirmation_events": [
7511
8482
  * {
7512
8483
  * "actor": null,
@@ -7539,12 +8510,6 @@ interface components {
7539
8510
  * "unix_ts": 1736464800,
7540
8511
  * "utc": "2025-03-01T04:00:00Z"
7541
8512
  * },
7542
- * "fields": {
7543
- * "email": "jane.smith@example.com",
7544
- * "first_name": "Jane",
7545
- * "last_name": "Smith",
7546
- * "phone": "+15551234567"
7547
- * },
7548
8513
  * "id": "appt_a1b2c3d4e5f6",
7549
8514
  * "object": "appointment",
7550
8515
  * "provider": {
@@ -7624,8 +8589,22 @@ interface components {
7624
8589
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
7625
8590
  * "created_at": "2025-02-17T17:49:19Z",
7626
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
+ * ],
7627
8603
  * "id": "srv_d025a96ac0c6",
7628
8604
  * "internal_name": null,
8605
+ * "metadata": {
8606
+ * "external_id": "123"
8607
+ * },
7629
8608
  * "name": "Initial Consult",
7630
8609
  * "object": "service",
7631
8610
  * "provider_notifications": {
@@ -7717,6 +8696,9 @@ interface components {
7717
8696
  * "id": "clnt_a1b2c3d4e5f6",
7718
8697
  * "last_name": "Smith",
7719
8698
  * "locale": "en-US",
8699
+ * "metadata": {
8700
+ * "external_id": "123"
8701
+ * },
7720
8702
  * "object": "client",
7721
8703
  * "phone": "+15551234567",
7722
8704
  * "reference_id": "ext_12345",
@@ -7836,6 +8818,59 @@ interface components {
7836
8818
  */
7837
8819
  time_zone: string;
7838
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
+ };
7839
8874
  /**
7840
8875
  * UpdateCancellationReasonRequest
7841
8876
  * @description Request schema for updating a cancellation reason
@@ -7847,6 +8882,49 @@ interface components {
7847
8882
  /** @description The cancellation reason's name. */
7848
8883
  name?: string;
7849
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
+ };
7850
8928
  /**
7851
8929
  * BlockResponse
7852
8930
  * @description Response schema for a block
@@ -7934,6 +9012,9 @@ interface components {
7934
9012
  * "id": "clnt_a1b2c3d4e5f6",
7935
9013
  * "last_name": "Smith",
7936
9014
  * "locale": "en-US",
9015
+ * "metadata": {
9016
+ * "external_id": "123"
9017
+ * },
7937
9018
  * "object": "client",
7938
9019
  * "phone": "+15551234567",
7939
9020
  * "reference_id": "ext_12345",
@@ -7949,9 +9030,6 @@ interface components {
7949
9030
  * "reference_id": "ext_12345",
7950
9031
  * "time_zone": "America/Chicago"
7951
9032
  * },
7952
- * "client_locale": "en-US",
7953
- * "client_reference_id": "ext_12345",
7954
- * "client_time_zone": "America/Chicago",
7955
9033
  * "confirmation_events": [
7956
9034
  * {
7957
9035
  * "actor": null,
@@ -7984,12 +9062,6 @@ interface components {
7984
9062
  * "unix_ts": 1736464800,
7985
9063
  * "utc": "2025-03-01T04:00:00Z"
7986
9064
  * },
7987
- * "fields": {
7988
- * "email": "jane.smith@example.com",
7989
- * "first_name": "Jane",
7990
- * "last_name": "Smith",
7991
- * "phone": "+15551234567"
7992
- * },
7993
9065
  * "id": "appt_a1b2c3d4e5f6",
7994
9066
  * "object": "appointment",
7995
9067
  * "provider": {
@@ -8069,8 +9141,22 @@ interface components {
8069
9141
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8070
9142
  * "created_at": "2025-02-17T17:49:19Z",
8071
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
+ * ],
8072
9155
  * "id": "srv_d025a96ac0c6",
8073
9156
  * "internal_name": null,
9157
+ * "metadata": {
9158
+ * "external_id": "123"
9159
+ * },
8074
9160
  * "name": "Initial Consult",
8075
9161
  * "object": "service",
8076
9162
  * "provider_notifications": {
@@ -8175,23 +9261,6 @@ interface components {
8175
9261
  */
8176
9262
  time_zone: string;
8177
9263
  };
8178
- /**
8179
- * @deprecated
8180
- * @description Use `client_data.locale` instead.
8181
- * @example en-US
8182
- */
8183
- client_locale?: string | null;
8184
- /**
8185
- * @deprecated
8186
- * @description Use `client_data.reference_id` instead.
8187
- */
8188
- client_reference_id?: string | null;
8189
- /**
8190
- * @deprecated
8191
- * @description Use `client_data.time_zone` instead.
8192
- * @example America/Chicago
8193
- */
8194
- client_time_zone?: string;
8195
9264
  confirmation_events: components["schemas"]["ConfirmationEvent"][];
8196
9265
  /**
8197
9266
  * Format: date-time
@@ -8204,23 +9273,6 @@ interface components {
8204
9273
  */
8205
9274
  created_at: string;
8206
9275
  end_at: components["schemas"]["ZonedDateTime"];
8207
- /**
8208
- * @deprecated
8209
- * @description Use `client_data` instead.
8210
- */
8211
- fields: {
8212
- /**
8213
- * Format: email
8214
- * @description The client's email address. This field will be `null` unless `include_sensitive` is `true`.
8215
- */
8216
- email?: string | null;
8217
- /** @description The client's first name. This field will be `null` unless `include_sensitive` is `true`. */
8218
- first_name?: string | null;
8219
- /** @description The client's last name. This field will be `null` unless `include_sensitive` is `true`. */
8220
- last_name?: string | null;
8221
- /** @description The client's phone number (E.164 format). This field will be `null` unless `include_sensitive` is `true`. */
8222
- phone?: string | null;
8223
- };
8224
9276
  /** @description Unique identifier for the object. */
8225
9277
  id: string;
8226
9278
  /**
@@ -8287,6 +9339,28 @@ interface components {
8287
9339
  */
8288
9340
  type: "provider.deactivated";
8289
9341
  };
9342
+ /**
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
+ };
8290
9364
  /**
8291
9365
  * PublicAppointmentResponse
8292
9366
  * @description Response schema for a single appointment created via a public interface.
@@ -8471,8 +9545,22 @@ interface components {
8471
9545
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8472
9546
  * "created_at": "2025-02-17T17:49:19Z",
8473
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
+ * ],
8474
9559
  * "id": "srv_d025a96ac0c6",
8475
9560
  * "internal_name": null,
9561
+ * "metadata": {
9562
+ * "external_id": "123"
9563
+ * },
8476
9564
  * "name": "Initial Consult",
8477
9565
  * "object": "service",
8478
9566
  * "provider_notifications": {
@@ -8585,6 +9673,29 @@ interface components {
8585
9673
  /** @description The ID of the user who owns this connected account. */
8586
9674
  user_id: string | null;
8587
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
+ };
8588
9699
  /**
8589
9700
  * BookingIntent
8590
9701
  * @description A booking intent that tracks the lifecycle of a booking attempt.
@@ -8664,8 +9775,22 @@ interface components {
8664
9775
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8665
9776
  * "created_at": "2025-02-17T17:49:19Z",
8666
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
+ * ],
8667
9789
  * "id": "srv_d025a96ac0c6",
8668
9790
  * "internal_name": null,
9791
+ * "metadata": {
9792
+ * "external_id": "123"
9793
+ * },
8669
9794
  * "name": "Initial Consult",
8670
9795
  * "object": "service",
8671
9796
  * "provider_notifications": {
@@ -8713,6 +9838,7 @@ interface components {
8713
9838
  * "utc": "2026-02-23T15:00:00Z"
8714
9839
  * },
8715
9840
  * "status": "slot_selected",
9841
+ * "submissions": [],
8716
9842
  * "updated_at": "2026-02-22T10:00:00Z"
8717
9843
  * }
8718
9844
  */
@@ -8759,7 +9885,7 @@ interface components {
8759
9885
  hold_until?: string | null;
8760
9886
  /** @description The booking intent ID */
8761
9887
  id: string;
8762
- /** @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. */
8763
9889
  locked_fields?: string[];
8764
9890
  /** @description Custom metadata key-value pairs */
8765
9891
  metadata?: {
@@ -8783,6 +9909,8 @@ interface components {
8783
9909
  * @enum {string}
8784
9910
  */
8785
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"][];
8786
9914
  /**
8787
9915
  * Format: date-time
8788
9916
  * @description When the intent was last updated
@@ -8820,6 +9948,9 @@ interface components {
8820
9948
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
8821
9949
  * "duration": "PT1H30M",
8822
9950
  * "internal_name": "IC - New Patient",
9951
+ * "metadata": {
9952
+ * "external_id": "123"
9953
+ * },
8823
9954
  * "name": "Initial Consult",
8824
9955
  * "provider_notifications": {
8825
9956
  * "additional_recipients": [
@@ -8876,8 +10007,14 @@ interface components {
8876
10007
  * @example PT1H30M
8877
10008
  */
8878
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[];
8879
10012
  /** @description An optional internal label for admin use. When set, this is displayed in the admin UI instead of the public name. */
8880
10013
  internal_name?: string | null;
10014
+ /** @description Set of key-value pairs to attach to this service. Maximum size is 16 KB. */
10015
+ metadata?: {
10016
+ [key: string]: unknown;
10017
+ };
8881
10018
  /** @description The service name. */
8882
10019
  name: string;
8883
10020
  provider_notifications?: components["schemas"]["ProviderNotificationConfig"];
@@ -8914,6 +10051,9 @@ interface components {
8914
10051
  * "id": "clnt_a1b2c3d4e5f6",
8915
10052
  * "last_name": "Smith",
8916
10053
  * "locale": "en-US",
10054
+ * "metadata": {
10055
+ * "external_id": "123"
10056
+ * },
8917
10057
  * "object": "client",
8918
10058
  * "phone": "+15551234567",
8919
10059
  * "reference_id": "ext_12345",
@@ -8929,9 +10069,6 @@ interface components {
8929
10069
  * "reference_id": "ext_12345",
8930
10070
  * "time_zone": "America/Chicago"
8931
10071
  * },
8932
- * "client_locale": "en-US",
8933
- * "client_reference_id": "ext_12345",
8934
- * "client_time_zone": "America/Chicago",
8935
10072
  * "confirmation_events": [
8936
10073
  * {
8937
10074
  * "actor": null,
@@ -8964,12 +10101,6 @@ interface components {
8964
10101
  * "unix_ts": 1736464800,
8965
10102
  * "utc": "2025-03-01T04:00:00Z"
8966
10103
  * },
8967
- * "fields": {
8968
- * "email": "jane.smith@example.com",
8969
- * "first_name": "Jane",
8970
- * "last_name": "Smith",
8971
- * "phone": "+15551234567"
8972
- * },
8973
10104
  * "id": "appt_a1b2c3d4e5f6",
8974
10105
  * "object": "appointment",
8975
10106
  * "provider": {
@@ -9049,8 +10180,22 @@ interface components {
9049
10180
  * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
9050
10181
  * "created_at": "2025-02-17T17:49:19Z",
9051
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
+ * ],
9052
10194
  * "id": "srv_d025a96ac0c6",
9053
10195
  * "internal_name": null,
10196
+ * "metadata": {
10197
+ * "external_id": "123"
10198
+ * },
9054
10199
  * "name": "Initial Consult",
9055
10200
  * "object": "service",
9056
10201
  * "provider_notifications": {
@@ -9177,6 +10322,9 @@ interface components {
9177
10322
  * "first_name": "John",
9178
10323
  * "last_name": "Smith",
9179
10324
  * "locale": "en",
10325
+ * "metadata": {
10326
+ * "external_id": "123"
10327
+ * },
9180
10328
  * "phone": "+15551234567",
9181
10329
  * "reference_id": "your-reference-id",
9182
10330
  * "time_zone": "America/New_York"
@@ -9185,12 +10333,20 @@ interface components {
9185
10333
  CreateClientRequest: {
9186
10334
  /** @description The client's email address. */
9187
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
+ };
9188
10340
  /** @description The client's first name. */
9189
10341
  first_name: string;
9190
10342
  /** @description The client's last name. */
9191
10343
  last_name: string;
9192
10344
  /** @description The client's locale. */
9193
10345
  locale?: string;
10346
+ /** @description Set of key-value pairs to attach to this client. Maximum size is 16 KB. */
10347
+ metadata?: {
10348
+ [key: string]: unknown;
10349
+ };
9194
10350
  /** @description The client's phone number (E.164 format). */
9195
10351
  phone?: string;
9196
10352
  /** @description The client's external reference identifier. */
@@ -9246,12 +10402,9 @@ interface components {
9246
10402
  pathItems: never;
9247
10403
  }
9248
10404
  interface operations {
9249
- getAppointment: {
10405
+ listClientFields: {
9250
10406
  parameters: {
9251
- query?: {
9252
- /** @description Whether to include sensitive fields (such as client name, email, and phone) */
9253
- include_sensitive?: boolean;
9254
- };
10407
+ query?: never;
9255
10408
  header?: {
9256
10409
  /**
9257
10410
  * @description When authenticating with a platform token, specifies the account ID for the request
@@ -9259,10 +10412,7 @@ interface operations {
9259
10412
  */
9260
10413
  "X-SavvyCal-Account"?: string;
9261
10414
  };
9262
- path: {
9263
- /** @description Appointment ID */
9264
- appointment_id: string;
9265
- };
10415
+ path?: never;
9266
10416
  cookie?: never;
9267
10417
  };
9268
10418
  requestBody?: never;
@@ -9273,7 +10423,7 @@ interface operations {
9273
10423
  [name: string]: unknown;
9274
10424
  };
9275
10425
  content: {
9276
- "application/json": components["schemas"]["AppointmentResponse"];
10426
+ "application/json": components["schemas"]["ClientFieldsResponse"];
9277
10427
  };
9278
10428
  };
9279
10429
  /** @description Unauthorized */
@@ -9286,7 +10436,7 @@ interface operations {
9286
10436
  };
9287
10437
  };
9288
10438
  /** @description Unprocessable Entity */
9289
- 404: {
10439
+ 422: {
9290
10440
  headers: {
9291
10441
  [name: string]: unknown;
9292
10442
  };
@@ -9296,12 +10446,9 @@ interface operations {
9296
10446
  };
9297
10447
  };
9298
10448
  };
9299
- getBookingIntent: {
10449
+ createClientField: {
9300
10450
  parameters: {
9301
- query?: {
9302
- /** @description Whether to include sensitive fields (such as client name, email, and phone) */
9303
- include_sensitive?: boolean;
9304
- };
10451
+ query?: never;
9305
10452
  header?: {
9306
10453
  /**
9307
10454
  * @description When authenticating with a platform token, specifies the account ID for the request
@@ -9309,21 +10456,23 @@ interface operations {
9309
10456
  */
9310
10457
  "X-SavvyCal-Account"?: string;
9311
10458
  };
9312
- path: {
9313
- /** @description Booking Intent ID */
9314
- booking_intent_id: string;
9315
- };
10459
+ path?: never;
9316
10460
  cookie?: never;
9317
10461
  };
9318
- requestBody?: never;
10462
+ /** @description Client field params */
10463
+ requestBody?: {
10464
+ content: {
10465
+ "application/json": components["schemas"]["CreateClientFieldRequest"];
10466
+ };
10467
+ };
9319
10468
  responses: {
9320
10469
  /** @description Success */
9321
- 200: {
10470
+ 201: {
9322
10471
  headers: {
9323
10472
  [name: string]: unknown;
9324
10473
  };
9325
10474
  content: {
9326
- "application/json": components["schemas"]["BookingIntentResponse"];
10475
+ "application/json": components["schemas"]["ClientFieldResponse"];
9327
10476
  };
9328
10477
  };
9329
10478
  /** @description Unauthorized */
@@ -9335,18 +10484,118 @@ interface operations {
9335
10484
  "application/json": components["schemas"]["UnauthorizedResponse"];
9336
10485
  };
9337
10486
  };
9338
- /** @description Not Found */
9339
- 404: {
10487
+ /** @description Unprocessable Entity */
10488
+ 422: {
9340
10489
  headers: {
9341
10490
  [name: string]: unknown;
9342
10491
  };
9343
10492
  content: {
9344
- "application/json": components["schemas"]["NotFoundResponse"];
10493
+ "application/json": components["schemas"]["JsonErrorResponse"];
9345
10494
  };
9346
10495
  };
9347
10496
  };
9348
10497
  };
9349
- updateBookingIntent: {
10498
+ getAppointment: {
10499
+ parameters: {
10500
+ query?: {
10501
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
10502
+ include_sensitive?: boolean;
10503
+ };
10504
+ header?: {
10505
+ /**
10506
+ * @description When authenticating with a platform token, specifies the account ID for the request
10507
+ * @example acct_1234567890
10508
+ */
10509
+ "X-SavvyCal-Account"?: string;
10510
+ };
10511
+ path: {
10512
+ /** @description Appointment ID */
10513
+ appointment_id: string;
10514
+ };
10515
+ cookie?: never;
10516
+ };
10517
+ requestBody?: never;
10518
+ responses: {
10519
+ /** @description Success */
10520
+ 200: {
10521
+ headers: {
10522
+ [name: string]: unknown;
10523
+ };
10524
+ content: {
10525
+ "application/json": components["schemas"]["AppointmentResponse"];
10526
+ };
10527
+ };
10528
+ /** @description Unauthorized */
10529
+ 401: {
10530
+ headers: {
10531
+ [name: string]: unknown;
10532
+ };
10533
+ content: {
10534
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10535
+ };
10536
+ };
10537
+ /** @description Unprocessable Entity */
10538
+ 404: {
10539
+ headers: {
10540
+ [name: string]: unknown;
10541
+ };
10542
+ content: {
10543
+ "application/json": components["schemas"]["JsonErrorResponse"];
10544
+ };
10545
+ };
10546
+ };
10547
+ };
10548
+ getBookingIntent: {
10549
+ parameters: {
10550
+ query?: {
10551
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
10552
+ include_sensitive?: boolean;
10553
+ };
10554
+ header?: {
10555
+ /**
10556
+ * @description When authenticating with a platform token, specifies the account ID for the request
10557
+ * @example acct_1234567890
10558
+ */
10559
+ "X-SavvyCal-Account"?: string;
10560
+ };
10561
+ path: {
10562
+ /** @description Booking Intent ID */
10563
+ booking_intent_id: string;
10564
+ };
10565
+ cookie?: never;
10566
+ };
10567
+ requestBody?: never;
10568
+ responses: {
10569
+ /** @description Success */
10570
+ 200: {
10571
+ headers: {
10572
+ [name: string]: unknown;
10573
+ };
10574
+ content: {
10575
+ "application/json": components["schemas"]["BookingIntentResponse"];
10576
+ };
10577
+ };
10578
+ /** @description Unauthorized */
10579
+ 401: {
10580
+ headers: {
10581
+ [name: string]: unknown;
10582
+ };
10583
+ content: {
10584
+ "application/json": components["schemas"]["UnauthorizedResponse"];
10585
+ };
10586
+ };
10587
+ /** @description Not Found */
10588
+ 404: {
10589
+ headers: {
10590
+ [name: string]: unknown;
10591
+ };
10592
+ content: {
10593
+ "application/json": components["schemas"]["NotFoundResponse"];
10594
+ };
10595
+ };
10596
+ };
10597
+ };
10598
+ updateBookingIntent: {
9350
10599
  parameters: {
9351
10600
  query?: never;
9352
10601
  header?: {
@@ -9560,6 +10809,114 @@ interface operations {
9560
10809
  };
9561
10810
  };
9562
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
+ };
9563
10920
  completeBookingIntent: {
9564
10921
  parameters: {
9565
10922
  query?: never;
@@ -9864,7 +11221,10 @@ interface operations {
9864
11221
  };
9865
11222
  getClient: {
9866
11223
  parameters: {
9867
- query?: never;
11224
+ query?: {
11225
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
11226
+ include_sensitive?: boolean;
11227
+ };
9868
11228
  header?: {
9869
11229
  /**
9870
11230
  * @description When authenticating with a platform token, specifies the account ID for the request
@@ -10390,6 +11750,53 @@ interface operations {
10390
11750
  };
10391
11751
  };
10392
11752
  };
11753
+ detachServiceForm: {
11754
+ parameters: {
11755
+ query?: 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
+ };
11763
+ path: {
11764
+ /** @description Service Form ID */
11765
+ service_form_id: string;
11766
+ };
11767
+ cookie?: never;
11768
+ };
11769
+ requestBody?: never;
11770
+ responses: {
11771
+ /** @description No Content */
11772
+ 204: {
11773
+ headers: {
11774
+ [name: string]: unknown;
11775
+ };
11776
+ content: {
11777
+ "text/plain": string;
11778
+ };
11779
+ };
11780
+ /** @description Unauthorized */
11781
+ 401: {
11782
+ headers: {
11783
+ [name: string]: unknown;
11784
+ };
11785
+ content: {
11786
+ "application/json": components["schemas"]["UnauthorizedResponse"];
11787
+ };
11788
+ };
11789
+ /** @description Not Found */
11790
+ 404: {
11791
+ headers: {
11792
+ [name: string]: unknown;
11793
+ };
11794
+ content: {
11795
+ "application/json": components["schemas"]["NotFoundResponse"];
11796
+ };
11797
+ };
11798
+ };
11799
+ };
10393
11800
  getAccountById: {
10394
11801
  parameters: {
10395
11802
  query?: never;
@@ -10601,6 +12008,10 @@ interface operations {
10601
12008
  page?: number;
10602
12009
  /** @description Number of items per page */
10603
12010
  page_size?: number;
12011
+ /** @description Filter services by metadata using bracket notation. See [Metadata Filtering](https://developers.savvycal.app/metadata-filtering) for more details. */
12012
+ metadata?: {
12013
+ [key: string]: unknown;
12014
+ };
10604
12015
  };
10605
12016
  header?: {
10606
12017
  /**
@@ -10692,7 +12103,162 @@ interface operations {
10692
12103
  };
10693
12104
  };
10694
12105
  };
10695
- deleteServiceProvider: {
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
+ };
12261
+ deleteServiceProvider: {
10696
12262
  parameters: {
10697
12263
  query?: never;
10698
12264
  header?: {
@@ -10970,6 +12536,106 @@ interface operations {
10970
12536
  };
10971
12537
  };
10972
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: {
12612
+ headers: {
12613
+ [name: string]: unknown;
12614
+ };
12615
+ content: {
12616
+ "application/json": components["schemas"]["FormResponse"];
12617
+ };
12618
+ };
12619
+ /** @description Unauthorized */
12620
+ 401: {
12621
+ headers: {
12622
+ [name: string]: unknown;
12623
+ };
12624
+ content: {
12625
+ "application/json": components["schemas"]["UnauthorizedResponse"];
12626
+ };
12627
+ };
12628
+ /** @description Unprocessable Entity */
12629
+ 422: {
12630
+ headers: {
12631
+ [name: string]: unknown;
12632
+ };
12633
+ content: {
12634
+ "application/json": components["schemas"]["JsonErrorResponse"];
12635
+ };
12636
+ };
12637
+ };
12638
+ };
10973
12639
  confirmAppointment: {
10974
12640
  parameters: {
10975
12641
  query?: never;
@@ -11418,6 +13084,12 @@ interface operations {
11418
13084
  page_size?: number;
11419
13085
  /** @description Only return clients that match the search query (name or email). */
11420
13086
  search?: string;
13087
+ /** @description Filter clients by metadata using bracket notation. See [Metadata Filtering](https://developers.savvycal.app/metadata-filtering) for more details. */
13088
+ metadata?: {
13089
+ [key: string]: unknown;
13090
+ };
13091
+ /** @description Whether to include sensitive fields (such as client name, email, and phone) */
13092
+ include_sensitive?: boolean;
11421
13093
  };
11422
13094
  header?: {
11423
13095
  /**
@@ -12052,7 +13724,7 @@ interface operations {
12052
13724
  };
12053
13725
  };
12054
13726
  };
12055
- getCurrentAccount: {
13727
+ sortServiceForms: {
12056
13728
  parameters: {
12057
13729
  query?: never;
12058
13730
  header?: {
@@ -12062,10 +13734,18 @@ interface operations {
12062
13734
  */
12063
13735
  "X-SavvyCal-Account"?: string;
12064
13736
  };
12065
- path?: never;
13737
+ path: {
13738
+ /** @description Service ID */
13739
+ service_id: string;
13740
+ };
12066
13741
  cookie?: never;
12067
13742
  };
12068
- requestBody?: never;
13743
+ /** @description Sort params */
13744
+ requestBody?: {
13745
+ content: {
13746
+ "application/json": components["schemas"]["SortServiceFormsRequest"];
13747
+ };
13748
+ };
12069
13749
  responses: {
12070
13750
  /** @description Success */
12071
13751
  200: {
@@ -12073,12 +13753,65 @@ interface operations {
12073
13753
  [name: string]: unknown;
12074
13754
  };
12075
13755
  content: {
12076
- "application/json": components["schemas"]["AccountResponse"];
13756
+ "application/json": components["schemas"]["ServiceFormsResponse"];
12077
13757
  };
12078
13758
  };
12079
- /** @description GenericError */
12080
- 400: {
12081
- headers: {
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
+ };
13788
+ getCurrentAccount: {
13789
+ parameters: {
13790
+ query?: never;
13791
+ header?: {
13792
+ /**
13793
+ * @description When authenticating with a platform token, specifies the account ID for the request
13794
+ * @example acct_1234567890
13795
+ */
13796
+ "X-SavvyCal-Account"?: string;
13797
+ };
13798
+ path?: never;
13799
+ cookie?: never;
13800
+ };
13801
+ requestBody?: never;
13802
+ responses: {
13803
+ /** @description Success */
13804
+ 200: {
13805
+ headers: {
13806
+ [name: string]: unknown;
13807
+ };
13808
+ content: {
13809
+ "application/json": components["schemas"]["AccountResponse"];
13810
+ };
13811
+ };
13812
+ /** @description GenericError */
13813
+ 400: {
13814
+ headers: {
12082
13815
  [name: string]: unknown;
12083
13816
  };
12084
13817
  content: {
@@ -12361,6 +14094,15 @@ interface operations {
12361
14094
  "application/json": components["schemas"]["UnauthorizedResponse"];
12362
14095
  };
12363
14096
  };
14097
+ /** @description Forbidden */
14098
+ 403: {
14099
+ headers: {
14100
+ [name: string]: unknown;
14101
+ };
14102
+ content: {
14103
+ "application/json": components["schemas"]["ForbiddenResponse"];
14104
+ };
14105
+ };
12364
14106
  /** @description Unprocessable Entity */
12365
14107
  422: {
12366
14108
  headers: {
@@ -12689,6 +14431,161 @@ interface operations {
12689
14431
  };
12690
14432
  };
12691
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
+ };
12692
14589
  listServiceSlots: {
12693
14590
  parameters: {
12694
14591
  query?: {
@@ -13082,6 +14979,7 @@ type AppointmentDeletedEventData = Schemas["AppointmentDeletedEventData"];
13082
14979
  type AppointmentRescheduledEventData = Schemas["AppointmentRescheduledEventData"];
13083
14980
  type AppointmentResponse = Schemas["AppointmentResponse"];
13084
14981
  type AppointmentsResponse = Schemas["AppointmentsResponse"];
14982
+ type AttachServiceFormRequest = Schemas["AttachServiceFormRequest"];
13085
14983
  type Block = Schemas["Block"];
13086
14984
  type BlockCreatedEventData = Schemas["BlockCreatedEventData"];
13087
14985
  type BlockDeletedEventData = Schemas["BlockDeletedEventData"];
@@ -13106,6 +15004,11 @@ type CancelPublicAppointmentRequest = Schemas["CancelPublicAppointmentRequest"];
13106
15004
  type Client = Schemas["Client"];
13107
15005
  type ClientCreatedEventData = Schemas["ClientCreatedEventData"];
13108
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"];
13109
15012
  type ClientResponse = Schemas["ClientResponse"];
13110
15013
  type ClientsResponse = Schemas["ClientsResponse"];
13111
15014
  type ClientUpdatedEventData = Schemas["ClientUpdatedEventData"];
@@ -13126,8 +15029,10 @@ type CreateAppointmentRequest = Schemas["CreateAppointmentRequest"];
13126
15029
  type CreateBlockRequest = Schemas["CreateBlockRequest"];
13127
15030
  type CreateBookingIntentRequest = Schemas["CreateBookingIntentRequest"];
13128
15031
  type CreateCancellationReasonRequest = Schemas["CreateCancellationReasonRequest"];
15032
+ type CreateClientFieldRequest = Schemas["CreateClientFieldRequest"];
13129
15033
  type CreateClientRequest = Schemas["CreateClientRequest"];
13130
15034
  type CreateDashboardSessionRequest = Schemas["CreateDashboardSessionRequest"];
15035
+ type CreateFormRequest = Schemas["CreateFormRequest"];
13131
15036
  type CreateProviderRequest = Schemas["CreateProviderRequest"];
13132
15037
  type CreateProviderScheduleRequest = Schemas["CreateProviderScheduleRequest"];
13133
15038
  type CreatePublicAppointmentRequest = Schemas["CreatePublicAppointmentRequest"];
@@ -13136,8 +15041,20 @@ type CreateServiceProviderRequest = Schemas["CreateServiceProviderRequest"];
13136
15041
  type CreateServiceRequest = Schemas["CreateServiceRequest"];
13137
15042
  type DashboardSession = Schemas["DashboardSession"];
13138
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"];
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"];
13139
15055
  type GenericErrorResponse = Schemas["GenericErrorResponse"];
13140
15056
  type HoldPolicy = Schemas["HoldPolicy"];
15057
+ type IntentSubmissionInput = Schemas["IntentSubmissionInput"];
13141
15058
  type JsonErrorResponse = Schemas["JsonErrorResponse"];
13142
15059
  type MaximizeUtilizationPolicy = Schemas["MaximizeUtilizationPolicy"];
13143
15060
  type NotFoundResponse = Schemas["NotFoundResponse"];
@@ -13177,6 +15094,9 @@ type RolesResponse = Schemas["RolesResponse"];
13177
15094
  type Service = Schemas["Service"];
13178
15095
  type ServiceCreatedEventData = Schemas["ServiceCreatedEventData"];
13179
15096
  type ServiceDeletedEventData = Schemas["ServiceDeletedEventData"];
15097
+ type ServiceForm = Schemas["ServiceForm"];
15098
+ type ServiceFormResponse = Schemas["ServiceFormResponse"];
15099
+ type ServiceFormsResponse = Schemas["ServiceFormsResponse"];
13180
15100
  type ServiceProvider = Schemas["ServiceProvider"];
13181
15101
  type ServiceProviderCreatedEventData = Schemas["ServiceProviderCreatedEventData"];
13182
15102
  type ServiceProviderDeletedEventData = Schemas["ServiceProviderDeletedEventData"];
@@ -13188,14 +15108,17 @@ type ServicesResponse = Schemas["ServicesResponse"];
13188
15108
  type ServiceUpdatedEventData = Schemas["ServiceUpdatedEventData"];
13189
15109
  type Slot = Schemas["Slot"];
13190
15110
  type SlotRule = Schemas["SlotRule"];
15111
+ type SortServiceFormsRequest = Schemas["SortServiceFormsRequest"];
13191
15112
  type UnauthorizedResponse = Schemas["UnauthorizedResponse"];
13192
15113
  type UpdateAccountRequest = Schemas["UpdateAccountRequest"];
13193
15114
  type UpdateAccountUserRequest = Schemas["UpdateAccountUserRequest"];
13194
15115
  type UpdateBlockRequest = Schemas["UpdateBlockRequest"];
13195
15116
  type UpdateBookingIntentRequest = Schemas["UpdateBookingIntentRequest"];
13196
15117
  type UpdateCancellationReasonRequest = Schemas["UpdateCancellationReasonRequest"];
15118
+ type UpdateClientFieldRequest = Schemas["UpdateClientFieldRequest"];
13197
15119
  type UpdateClientRequest = Schemas["UpdateClientRequest"];
13198
15120
  type UpdateConnectedAccountRequest = Schemas["UpdateConnectedAccountRequest"];
15121
+ type UpdateFormRequest = Schemas["UpdateFormRequest"];
13199
15122
  type UpdateProviderRequest = Schemas["UpdateProviderRequest"];
13200
15123
  type UpdateProviderScheduleRequest = Schemas["UpdateProviderScheduleRequest"];
13201
15124
  type UpdatePublicBookingIntentRequest = Schemas["UpdatePublicBookingIntentRequest"];
@@ -13367,29 +15290,29 @@ declare function abandonPublicBookingIntent(client: FetchClient, path: PathParam
13367
15290
  };
13368
15291
  };
13369
15292
  }, `${string}/${string}`>>;
13370
- declare function cancelAppointment(client: FetchClient, path: PathParams<"/v1/appointments/{appointment_id}/cancel", "post">, body: RequestBody<"/v1/appointments/{appointment_id}/cancel", "post">): Promise<openapi_fetch.FetchResponse<{
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<{
13371
15294
  parameters: {
13372
15295
  query?: never;
13373
15296
  header?: {
13374
15297
  "X-SavvyCal-Account"?: string;
13375
15298
  };
13376
15299
  path: {
13377
- appointment_id: string;
15300
+ service_id: string;
13378
15301
  };
13379
15302
  cookie?: never;
13380
15303
  };
13381
15304
  requestBody?: {
13382
15305
  content: {
13383
- "application/json": components["schemas"]["CancelAppointmentRequest"];
15306
+ "application/json": components["schemas"]["AttachServiceFormRequest"];
13384
15307
  };
13385
15308
  };
13386
15309
  responses: {
13387
- 200: {
15310
+ 201: {
13388
15311
  headers: {
13389
15312
  [name: string]: unknown;
13390
15313
  };
13391
15314
  content: {
13392
- "application/json": components["schemas"]["AppointmentResponse"];
15315
+ "application/json": components["schemas"]["ServiceFormResponse"];
13393
15316
  };
13394
15317
  };
13395
15318
  401: {
@@ -13401,6 +15324,14 @@ declare function cancelAppointment(client: FetchClient, path: PathParams<"/v1/ap
13401
15324
  };
13402
15325
  };
13403
15326
  404: {
15327
+ headers: {
15328
+ [name: string]: unknown;
15329
+ };
15330
+ content: {
15331
+ "application/json": components["schemas"]["NotFoundResponse"];
15332
+ };
15333
+ };
15334
+ 422: {
13404
15335
  headers: {
13405
15336
  [name: string]: unknown;
13406
15337
  };
@@ -13411,20 +15342,20 @@ declare function cancelAppointment(client: FetchClient, path: PathParams<"/v1/ap
13411
15342
  };
13412
15343
  }, {
13413
15344
  body: {
13414
- cancellation_reason_id?: string;
13415
- custom_reason_text?: string;
13416
- initiated_by: "user" | "client";
15345
+ form_id: string;
13417
15346
  } | undefined;
13418
15347
  params: {
13419
15348
  path: {
13420
- appointment_id: string;
15349
+ service_id: string;
13421
15350
  };
13422
15351
  };
13423
15352
  }, `${string}/${string}`>>;
13424
- declare function cancelPublicAppointment(client: FetchClient, path: PathParams<"/v1/public/appointments/{appointment_id}/cancel", "post">, body: RequestBody<"/v1/public/appointments/{appointment_id}/cancel", "post">): Promise<openapi_fetch.FetchResponse<{
15353
+ declare function cancelAppointment(client: FetchClient, path: PathParams<"/v1/appointments/{appointment_id}/cancel", "post">, body: RequestBody<"/v1/appointments/{appointment_id}/cancel", "post">): Promise<openapi_fetch.FetchResponse<{
13425
15354
  parameters: {
13426
15355
  query?: never;
13427
- header?: never;
15356
+ header?: {
15357
+ "X-SavvyCal-Account"?: string;
15358
+ };
13428
15359
  path: {
13429
15360
  appointment_id: string;
13430
15361
  };
@@ -13432,7 +15363,7 @@ declare function cancelPublicAppointment(client: FetchClient, path: PathParams<"
13432
15363
  };
13433
15364
  requestBody?: {
13434
15365
  content: {
13435
- "application/json": components["schemas"]["CancelPublicAppointmentRequest"];
15366
+ "application/json": components["schemas"]["CancelAppointmentRequest"];
13436
15367
  };
13437
15368
  };
13438
15369
  responses: {
@@ -13441,15 +15372,15 @@ declare function cancelPublicAppointment(client: FetchClient, path: PathParams<"
13441
15372
  [name: string]: unknown;
13442
15373
  };
13443
15374
  content: {
13444
- "application/json": components["schemas"]["PublicAppointmentResponse"];
15375
+ "application/json": components["schemas"]["AppointmentResponse"];
13445
15376
  };
13446
15377
  };
13447
- 403: {
15378
+ 401: {
13448
15379
  headers: {
13449
15380
  [name: string]: unknown;
13450
15381
  };
13451
15382
  content: {
13452
- "application/json": components["schemas"]["JsonErrorResponse"];
15383
+ "application/json": components["schemas"]["UnauthorizedResponse"];
13453
15384
  };
13454
15385
  };
13455
15386
  404: {
@@ -13460,19 +15391,12 @@ declare function cancelPublicAppointment(client: FetchClient, path: PathParams<"
13460
15391
  "application/json": components["schemas"]["JsonErrorResponse"];
13461
15392
  };
13462
15393
  };
13463
- 422: {
13464
- headers: {
13465
- [name: string]: unknown;
13466
- };
13467
- content: {
13468
- "application/json": components["schemas"]["JsonErrorResponse"];
13469
- };
13470
- };
13471
15394
  };
13472
15395
  }, {
13473
15396
  body: {
13474
15397
  cancellation_reason_id?: string;
13475
15398
  custom_reason_text?: string;
15399
+ initiated_by: "user" | "client";
13476
15400
  } | undefined;
13477
15401
  params: {
13478
15402
  path: {
@@ -13480,14 +15404,73 @@ declare function cancelPublicAppointment(client: FetchClient, path: PathParams<"
13480
15404
  };
13481
15405
  };
13482
15406
  }, `${string}/${string}`>>;
13483
- declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v1/booking_intents/{booking_intent_id}/complete", "post">, body: RequestBody<"/v1/booking_intents/{booking_intent_id}/complete", "post">): Promise<openapi_fetch.FetchResponse<{
15407
+ declare function cancelPublicAppointment(client: FetchClient, path: PathParams<"/v1/public/appointments/{appointment_id}/cancel", "post">, body: RequestBody<"/v1/public/appointments/{appointment_id}/cancel", "post">): Promise<openapi_fetch.FetchResponse<{
13484
15408
  parameters: {
13485
15409
  query?: never;
13486
- header?: {
13487
- "X-SavvyCal-Account"?: string;
13488
- };
15410
+ header?: never;
13489
15411
  path: {
13490
- booking_intent_id: string;
15412
+ appointment_id: string;
15413
+ };
15414
+ cookie?: never;
15415
+ };
15416
+ requestBody?: {
15417
+ content: {
15418
+ "application/json": components["schemas"]["CancelPublicAppointmentRequest"];
15419
+ };
15420
+ };
15421
+ responses: {
15422
+ 200: {
15423
+ headers: {
15424
+ [name: string]: unknown;
15425
+ };
15426
+ content: {
15427
+ "application/json": components["schemas"]["PublicAppointmentResponse"];
15428
+ };
15429
+ };
15430
+ 403: {
15431
+ headers: {
15432
+ [name: string]: unknown;
15433
+ };
15434
+ content: {
15435
+ "application/json": components["schemas"]["JsonErrorResponse"];
15436
+ };
15437
+ };
15438
+ 404: {
15439
+ headers: {
15440
+ [name: string]: unknown;
15441
+ };
15442
+ content: {
15443
+ "application/json": components["schemas"]["JsonErrorResponse"];
15444
+ };
15445
+ };
15446
+ 422: {
15447
+ headers: {
15448
+ [name: string]: unknown;
15449
+ };
15450
+ content: {
15451
+ "application/json": components["schemas"]["JsonErrorResponse"];
15452
+ };
15453
+ };
15454
+ };
15455
+ }, {
15456
+ body: {
15457
+ cancellation_reason_id?: string;
15458
+ custom_reason_text?: string;
15459
+ } | undefined;
15460
+ params: {
15461
+ path: {
15462
+ appointment_id: string;
15463
+ };
15464
+ };
15465
+ }, `${string}/${string}`>>;
15466
+ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v1/booking_intents/{booking_intent_id}/complete", "post">, body: RequestBody<"/v1/booking_intents/{booking_intent_id}/complete", "post">): Promise<openapi_fetch.FetchResponse<{
15467
+ parameters: {
15468
+ query?: never;
15469
+ header?: {
15470
+ "X-SavvyCal-Account"?: string;
15471
+ };
15472
+ path: {
15473
+ booking_intent_id: string;
13491
15474
  };
13492
15475
  cookie?: never;
13493
15476
  };
@@ -13535,6 +15518,9 @@ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v
13535
15518
  auto_assign_provider?: boolean | null;
13536
15519
  client_data?: {
13537
15520
  email?: string | null;
15521
+ fields?: {
15522
+ [key: string]: unknown;
15523
+ } | null;
13538
15524
  first_name?: string | null;
13539
15525
  last_name?: string | null;
13540
15526
  locale?: string | null;
@@ -13550,6 +15536,7 @@ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v
13550
15536
  provider_id?: string | null;
13551
15537
  service_id?: string | null;
13552
15538
  start_at?: string | null;
15539
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
13553
15540
  time_zone?: string | null;
13554
15541
  } | undefined;
13555
15542
  params: {
@@ -13603,6 +15590,9 @@ declare function completePublicBookingIntent(client: FetchClient, path: PathPara
13603
15590
  auto_assign_provider?: boolean | null;
13604
15591
  client_data?: {
13605
15592
  email?: string | null;
15593
+ fields?: {
15594
+ [key: string]: unknown;
15595
+ } | null;
13606
15596
  first_name?: string | null;
13607
15597
  last_name?: string | null;
13608
15598
  locale?: string | null;
@@ -13614,6 +15604,7 @@ declare function completePublicBookingIntent(client: FetchClient, path: PathPara
13614
15604
  provider_id?: string | null;
13615
15605
  service_id?: string | null;
13616
15606
  start_at?: string | null;
15607
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
13617
15608
  time_zone?: string | null;
13618
15609
  } | undefined;
13619
15610
  params: {
@@ -13823,6 +15814,9 @@ declare function createAppointment(client: FetchClient, body: RequestBody<"/v1/a
13823
15814
  body: {
13824
15815
  client_data: {
13825
15816
  email?: string | null;
15817
+ fields?: {
15818
+ [key: string]: unknown;
15819
+ } | null;
13826
15820
  first_name?: string | null;
13827
15821
  id?: string | null;
13828
15822
  last_name?: string | null;
@@ -13948,6 +15942,9 @@ declare function createBookingIntent(client: FetchClient, body: RequestBody<"/v1
13948
15942
  auto_assign_provider?: boolean | null;
13949
15943
  client_data?: {
13950
15944
  email?: string | null;
15945
+ fields?: {
15946
+ [key: string]: unknown;
15947
+ } | null;
13951
15948
  first_name?: string | null;
13952
15949
  last_name?: string | null;
13953
15950
  locale?: string | null;
@@ -13967,6 +15964,7 @@ declare function createBookingIntent(client: FetchClient, body: RequestBody<"/v1
13967
15964
  service_id?: string | null;
13968
15965
  slot_prevalidated: boolean;
13969
15966
  start_at?: string | null;
15967
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
13970
15968
  time_zone?: string | null;
13971
15969
  } | undefined;
13972
15970
  }, `${string}/${string}`>>;
@@ -14058,14 +16056,70 @@ declare function createClient(client: FetchClient, body: RequestBody<"/v1/client
14058
16056
  }, {
14059
16057
  body: {
14060
16058
  email: string;
16059
+ fields?: {
16060
+ [key: string]: unknown;
16061
+ };
14061
16062
  first_name: string;
14062
16063
  last_name: string;
14063
16064
  locale?: string;
16065
+ metadata?: {
16066
+ [key: string]: unknown;
16067
+ };
14064
16068
  phone?: string;
14065
16069
  reference_id?: string;
14066
16070
  time_zone: string;
14067
16071
  } | undefined;
14068
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}`>>;
14069
16123
  declare function createDashboardSession(client: FetchClient, body: RequestBody<"/v1/dashboard_sessions", "post">): Promise<openapi_fetch.FetchResponse<{
14070
16124
  parameters: {
14071
16125
  query?: never;
@@ -14112,6 +16166,52 @@ declare function createDashboardSession(client: FetchClient, body: RequestBody<"
14112
16166
  user_id: string;
14113
16167
  } | undefined;
14114
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}`>>;
14115
16215
  declare function createProvider(client: FetchClient, body: RequestBody<"/v1/providers", "post">): Promise<openapi_fetch.FetchResponse<{
14116
16216
  parameters: {
14117
16217
  query?: never;
@@ -14312,6 +16412,9 @@ declare function createPublicBookingIntent(client: FetchClient, body: RequestBod
14312
16412
  auto_assign_provider?: boolean | null;
14313
16413
  client_data?: {
14314
16414
  email?: string | null;
16415
+ fields?: {
16416
+ [key: string]: unknown;
16417
+ } | null;
14315
16418
  first_name?: string | null;
14316
16419
  last_name?: string | null;
14317
16420
  locale?: string | null;
@@ -14323,6 +16426,7 @@ declare function createPublicBookingIntent(client: FetchClient, body: RequestBod
14323
16426
  provider_id?: string | null;
14324
16427
  service_id?: string | null;
14325
16428
  start_at?: string | null;
16429
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
14326
16430
  time_zone?: string | null;
14327
16431
  } | undefined;
14328
16432
  }, `${string}/${string}`>>;
@@ -14373,7 +16477,11 @@ declare function createService(client: FetchClient, body: RequestBody<"/v1/servi
14373
16477
  cancellation_policy?: components["schemas"]["CancellationPolicy"];
14374
16478
  change_policy_text?: string;
14375
16479
  duration?: string;
16480
+ form_ids?: string[];
14376
16481
  internal_name?: string | null;
16482
+ metadata?: {
16483
+ [key: string]: unknown;
16484
+ };
14377
16485
  name: string;
14378
16486
  provider_notifications?: components["schemas"]["ProviderNotificationConfig"];
14379
16487
  rescheduling_policy?: components["schemas"]["ReschedulingPolicy"];
@@ -14620,14 +16728,14 @@ declare function deleteClient(client: FetchClient, path: PathParams<"/v1/clients
14620
16728
  };
14621
16729
  };
14622
16730
  }, `${string}/${string}`>>;
14623
- declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_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<{
14624
16732
  parameters: {
14625
16733
  query?: never;
14626
16734
  header?: {
14627
16735
  "X-SavvyCal-Account"?: string;
14628
16736
  };
14629
16737
  path: {
14630
- connected_account_id: string;
16738
+ client_field_id: string;
14631
16739
  };
14632
16740
  cookie?: never;
14633
16741
  };
@@ -14661,18 +16769,18 @@ declare function deleteConnectedAccount(client: FetchClient, path: PathParams<"/
14661
16769
  }, {
14662
16770
  params: {
14663
16771
  path: {
14664
- connected_account_id: string;
16772
+ client_field_id: string;
14665
16773
  };
14666
16774
  };
14667
16775
  }, `${string}/${string}`>>;
14668
- declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/v1/provider_schedules/{provider_schedule_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<{
14669
16777
  parameters: {
14670
16778
  query?: never;
14671
16779
  header?: {
14672
16780
  "X-SavvyCal-Account"?: string;
14673
16781
  };
14674
16782
  path: {
14675
- provider_schedule_id: string;
16783
+ connected_account_id: string;
14676
16784
  };
14677
16785
  cookie?: never;
14678
16786
  };
@@ -14706,18 +16814,18 @@ declare function deleteProviderSchedule(client: FetchClient, path: PathParams<"/
14706
16814
  }, {
14707
16815
  params: {
14708
16816
  path: {
14709
- provider_schedule_id: string;
16817
+ connected_account_id: string;
14710
16818
  };
14711
16819
  };
14712
16820
  }, `${string}/${string}`>>;
14713
- declare function deleteService(client: FetchClient, path: PathParams<"/v1/services/{service_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
16821
+ declare function deleteForm(client: FetchClient, path: PathParams<"/v1/forms/{form_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14714
16822
  parameters: {
14715
16823
  query?: never;
14716
16824
  header?: {
14717
16825
  "X-SavvyCal-Account"?: string;
14718
16826
  };
14719
16827
  path: {
14720
- service_id: string;
16828
+ form_id: string;
14721
16829
  };
14722
16830
  cookie?: never;
14723
16831
  };
@@ -14751,18 +16859,18 @@ declare function deleteService(client: FetchClient, path: PathParams<"/v1/servic
14751
16859
  }, {
14752
16860
  params: {
14753
16861
  path: {
14754
- service_id: string;
16862
+ form_id: string;
14755
16863
  };
14756
16864
  };
14757
16865
  }, `${string}/${string}`>>;
14758
- declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v1/service_providers/{service_provider_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<{
14759
16867
  parameters: {
14760
16868
  query?: never;
14761
16869
  header?: {
14762
16870
  "X-SavvyCal-Account"?: string;
14763
16871
  };
14764
16872
  path: {
14765
- service_provider_id: string;
16873
+ provider_schedule_id: string;
14766
16874
  };
14767
16875
  cookie?: never;
14768
16876
  };
@@ -14796,27 +16904,29 @@ declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v
14796
16904
  }, {
14797
16905
  params: {
14798
16906
  path: {
14799
- service_provider_id: string;
16907
+ provider_schedule_id: string;
14800
16908
  };
14801
16909
  };
14802
16910
  }, `${string}/${string}`>>;
14803
- declare function getAccountById(client: FetchClient, path: PathParams<"/v1/accounts/{account_id}", "get">): Promise<openapi_fetch.FetchResponse<{
16911
+ declare function deleteService(client: FetchClient, path: PathParams<"/v1/services/{service_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14804
16912
  parameters: {
14805
16913
  query?: never;
14806
- header?: never;
16914
+ header?: {
16915
+ "X-SavvyCal-Account"?: string;
16916
+ };
14807
16917
  path: {
14808
- account_id: string;
16918
+ service_id: string;
14809
16919
  };
14810
16920
  cookie?: never;
14811
16921
  };
14812
16922
  requestBody?: never;
14813
16923
  responses: {
14814
- 200: {
16924
+ 204: {
14815
16925
  headers: {
14816
16926
  [name: string]: unknown;
14817
16927
  };
14818
16928
  content: {
14819
- "application/json": components["schemas"]["AccountResponse"];
16929
+ "text/plain": string;
14820
16930
  };
14821
16931
  };
14822
16932
  401: {
@@ -14839,31 +16949,29 @@ declare function getAccountById(client: FetchClient, path: PathParams<"/v1/accou
14839
16949
  }, {
14840
16950
  params: {
14841
16951
  path: {
14842
- account_id: string;
16952
+ service_id: string;
14843
16953
  };
14844
16954
  };
14845
16955
  }, `${string}/${string}`>>;
14846
- declare function getAppointment(client: FetchClient, path: PathParams<"/v1/appointments/{appointment_id}", "get">, query?: QueryParams<"/v1/appointments/{appointment_id}", "get">): Promise<openapi_fetch.FetchResponse<{
16956
+ declare function deleteServiceProvider(client: FetchClient, path: PathParams<"/v1/service_providers/{service_provider_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14847
16957
  parameters: {
14848
- query?: {
14849
- include_sensitive?: boolean;
14850
- };
16958
+ query?: never;
14851
16959
  header?: {
14852
16960
  "X-SavvyCal-Account"?: string;
14853
16961
  };
14854
16962
  path: {
14855
- appointment_id: string;
16963
+ service_provider_id: string;
14856
16964
  };
14857
16965
  cookie?: never;
14858
16966
  };
14859
16967
  requestBody?: never;
14860
16968
  responses: {
14861
- 200: {
16969
+ 204: {
14862
16970
  headers: {
14863
16971
  [name: string]: unknown;
14864
16972
  };
14865
16973
  content: {
14866
- "application/json": components["schemas"]["AppointmentResponse"];
16974
+ "text/plain": string;
14867
16975
  };
14868
16976
  };
14869
16977
  401: {
@@ -14879,37 +16987,36 @@ declare function getAppointment(client: FetchClient, path: PathParams<"/v1/appoi
14879
16987
  [name: string]: unknown;
14880
16988
  };
14881
16989
  content: {
14882
- "application/json": components["schemas"]["JsonErrorResponse"];
16990
+ "application/json": components["schemas"]["NotFoundResponse"];
14883
16991
  };
14884
16992
  };
14885
16993
  };
14886
16994
  }, {
14887
16995
  params: {
14888
16996
  path: {
14889
- appointment_id: string;
16997
+ service_provider_id: string;
14890
16998
  };
14891
- query: {
14892
- include_sensitive?: boolean;
14893
- } | undefined;
14894
16999
  };
14895
17000
  }, `${string}/${string}`>>;
14896
- declare function getBlock(client: FetchClient, path: PathParams<"/v1/blocks/{block_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17001
+ declare function detachServiceForm(client: FetchClient, path: PathParams<"/v1/service_forms/{service_form_id}", "delete">): Promise<openapi_fetch.FetchResponse<{
14897
17002
  parameters: {
14898
17003
  query?: never;
14899
- header?: never;
17004
+ header?: {
17005
+ "X-SavvyCal-Account"?: string;
17006
+ };
14900
17007
  path: {
14901
- block_id: string;
17008
+ service_form_id: string;
14902
17009
  };
14903
17010
  cookie?: never;
14904
17011
  };
14905
17012
  requestBody?: never;
14906
17013
  responses: {
14907
- 200: {
17014
+ 204: {
14908
17015
  headers: {
14909
17016
  [name: string]: unknown;
14910
17017
  };
14911
17018
  content: {
14912
- "application/json": components["schemas"]["BlockResponse"];
17019
+ "text/plain": string;
14913
17020
  };
14914
17021
  };
14915
17022
  401: {
@@ -14932,20 +17039,16 @@ declare function getBlock(client: FetchClient, path: PathParams<"/v1/blocks/{blo
14932
17039
  }, {
14933
17040
  params: {
14934
17041
  path: {
14935
- block_id: string;
17042
+ service_form_id: string;
14936
17043
  };
14937
17044
  };
14938
17045
  }, `${string}/${string}`>>;
14939
- declare function getBookingIntent(client: FetchClient, path: PathParams<"/v1/booking_intents/{booking_intent_id}", "get">, query?: QueryParams<"/v1/booking_intents/{booking_intent_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17046
+ declare function getAccountById(client: FetchClient, path: PathParams<"/v1/accounts/{account_id}", "get">): Promise<openapi_fetch.FetchResponse<{
14940
17047
  parameters: {
14941
- query?: {
14942
- include_sensitive?: boolean;
14943
- };
14944
- header?: {
14945
- "X-SavvyCal-Account"?: string;
14946
- };
17048
+ query?: never;
17049
+ header?: never;
14947
17050
  path: {
14948
- booking_intent_id: string;
17051
+ account_id: string;
14949
17052
  };
14950
17053
  cookie?: never;
14951
17054
  };
@@ -14956,7 +17059,7 @@ declare function getBookingIntent(client: FetchClient, path: PathParams<"/v1/boo
14956
17059
  [name: string]: unknown;
14957
17060
  };
14958
17061
  content: {
14959
- "application/json": components["schemas"]["BookingIntentResponse"];
17062
+ "application/json": components["schemas"]["AccountResponse"];
14960
17063
  };
14961
17064
  };
14962
17065
  401: {
@@ -14979,21 +17082,20 @@ declare function getBookingIntent(client: FetchClient, path: PathParams<"/v1/boo
14979
17082
  }, {
14980
17083
  params: {
14981
17084
  path: {
14982
- booking_intent_id: string;
17085
+ account_id: string;
14983
17086
  };
14984
- query: {
14985
- include_sensitive?: boolean;
14986
- } | undefined;
14987
17087
  };
14988
17088
  }, `${string}/${string}`>>;
14989
- declare function getCancellationReason(client: FetchClient, path: PathParams<"/v1/cancellation_reasons/{cancellation_reason_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17089
+ declare function getAppointment(client: FetchClient, path: PathParams<"/v1/appointments/{appointment_id}", "get">, query?: QueryParams<"/v1/appointments/{appointment_id}", "get">): Promise<openapi_fetch.FetchResponse<{
14990
17090
  parameters: {
14991
- query?: never;
17091
+ query?: {
17092
+ include_sensitive?: boolean;
17093
+ };
14992
17094
  header?: {
14993
17095
  "X-SavvyCal-Account"?: string;
14994
17096
  };
14995
17097
  path: {
14996
- cancellation_reason_id: string;
17098
+ appointment_id: string;
14997
17099
  };
14998
17100
  cookie?: never;
14999
17101
  };
@@ -15004,7 +17106,7 @@ declare function getCancellationReason(client: FetchClient, path: PathParams<"/v
15004
17106
  [name: string]: unknown;
15005
17107
  };
15006
17108
  content: {
15007
- "application/json": components["schemas"]["CancellationReasonResponse"];
17109
+ "application/json": components["schemas"]["AppointmentResponse"];
15008
17110
  };
15009
17111
  };
15010
17112
  401: {
@@ -15020,20 +17122,163 @@ declare function getCancellationReason(client: FetchClient, path: PathParams<"/v
15020
17122
  [name: string]: unknown;
15021
17123
  };
15022
17124
  content: {
15023
- "application/json": components["schemas"]["NotFoundResponse"];
17125
+ "application/json": components["schemas"]["JsonErrorResponse"];
15024
17126
  };
15025
17127
  };
15026
17128
  };
15027
17129
  }, {
15028
17130
  params: {
15029
17131
  path: {
15030
- cancellation_reason_id: string;
17132
+ appointment_id: string;
15031
17133
  };
17134
+ query: {
17135
+ include_sensitive?: boolean;
17136
+ } | undefined;
15032
17137
  };
15033
17138
  }, `${string}/${string}`>>;
15034
- declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17139
+ declare function getBlock(client: FetchClient, path: PathParams<"/v1/blocks/{block_id}", "get">): Promise<openapi_fetch.FetchResponse<{
15035
17140
  parameters: {
15036
17141
  query?: never;
17142
+ header?: never;
17143
+ path: {
17144
+ block_id: string;
17145
+ };
17146
+ cookie?: never;
17147
+ };
17148
+ requestBody?: never;
17149
+ responses: {
17150
+ 200: {
17151
+ headers: {
17152
+ [name: string]: unknown;
17153
+ };
17154
+ content: {
17155
+ "application/json": components["schemas"]["BlockResponse"];
17156
+ };
17157
+ };
17158
+ 401: {
17159
+ headers: {
17160
+ [name: string]: unknown;
17161
+ };
17162
+ content: {
17163
+ "application/json": components["schemas"]["UnauthorizedResponse"];
17164
+ };
17165
+ };
17166
+ 404: {
17167
+ headers: {
17168
+ [name: string]: unknown;
17169
+ };
17170
+ content: {
17171
+ "application/json": components["schemas"]["NotFoundResponse"];
17172
+ };
17173
+ };
17174
+ };
17175
+ }, {
17176
+ params: {
17177
+ path: {
17178
+ block_id: string;
17179
+ };
17180
+ };
17181
+ }, `${string}/${string}`>>;
17182
+ declare function getBookingIntent(client: FetchClient, path: PathParams<"/v1/booking_intents/{booking_intent_id}", "get">, query?: QueryParams<"/v1/booking_intents/{booking_intent_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17183
+ parameters: {
17184
+ query?: {
17185
+ include_sensitive?: boolean;
17186
+ };
17187
+ header?: {
17188
+ "X-SavvyCal-Account"?: string;
17189
+ };
17190
+ path: {
17191
+ booking_intent_id: string;
17192
+ };
17193
+ cookie?: never;
17194
+ };
17195
+ requestBody?: never;
17196
+ responses: {
17197
+ 200: {
17198
+ headers: {
17199
+ [name: string]: unknown;
17200
+ };
17201
+ content: {
17202
+ "application/json": components["schemas"]["BookingIntentResponse"];
17203
+ };
17204
+ };
17205
+ 401: {
17206
+ headers: {
17207
+ [name: string]: unknown;
17208
+ };
17209
+ content: {
17210
+ "application/json": components["schemas"]["UnauthorizedResponse"];
17211
+ };
17212
+ };
17213
+ 404: {
17214
+ headers: {
17215
+ [name: string]: unknown;
17216
+ };
17217
+ content: {
17218
+ "application/json": components["schemas"]["NotFoundResponse"];
17219
+ };
17220
+ };
17221
+ };
17222
+ }, {
17223
+ params: {
17224
+ path: {
17225
+ booking_intent_id: string;
17226
+ };
17227
+ query: {
17228
+ include_sensitive?: boolean;
17229
+ } | undefined;
17230
+ };
17231
+ }, `${string}/${string}`>>;
17232
+ declare function getCancellationReason(client: FetchClient, path: PathParams<"/v1/cancellation_reasons/{cancellation_reason_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17233
+ parameters: {
17234
+ query?: never;
17235
+ header?: {
17236
+ "X-SavvyCal-Account"?: string;
17237
+ };
17238
+ path: {
17239
+ cancellation_reason_id: string;
17240
+ };
17241
+ cookie?: never;
17242
+ };
17243
+ requestBody?: never;
17244
+ responses: {
17245
+ 200: {
17246
+ headers: {
17247
+ [name: string]: unknown;
17248
+ };
17249
+ content: {
17250
+ "application/json": components["schemas"]["CancellationReasonResponse"];
17251
+ };
17252
+ };
17253
+ 401: {
17254
+ headers: {
17255
+ [name: string]: unknown;
17256
+ };
17257
+ content: {
17258
+ "application/json": components["schemas"]["UnauthorizedResponse"];
17259
+ };
17260
+ };
17261
+ 404: {
17262
+ headers: {
17263
+ [name: string]: unknown;
17264
+ };
17265
+ content: {
17266
+ "application/json": components["schemas"]["NotFoundResponse"];
17267
+ };
17268
+ };
17269
+ };
17270
+ }, {
17271
+ params: {
17272
+ path: {
17273
+ cancellation_reason_id: string;
17274
+ };
17275
+ };
17276
+ }, `${string}/${string}`>>;
17277
+ declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{client_id}", "get">, query?: QueryParams<"/v1/clients/{client_id}", "get">): Promise<openapi_fetch.FetchResponse<{
17278
+ parameters: {
17279
+ query?: {
17280
+ include_sensitive?: boolean;
17281
+ };
15037
17282
  header?: {
15038
17283
  "X-SavvyCal-Account"?: string;
15039
17284
  };
@@ -15074,6 +17319,54 @@ declare function getClient(client: FetchClient, path: PathParams<"/v1/clients/{c
15074
17319
  path: {
15075
17320
  client_id: string;
15076
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
+ };
15077
17370
  };
15078
17371
  }, `${string}/${string}`>>;
15079
17372
  declare function getConnectedAccount(client: FetchClient, path: PathParams<"/v1/connected_accounts/{connected_account_id}", "get">): Promise<openapi_fetch.FetchResponse<{
@@ -15394,6 +17687,51 @@ declare function getEarliestPublicServiceSlot(client: FetchClient, path: PathPar
15394
17687
  } | undefined;
15395
17688
  };
15396
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}`>>;
15397
17735
  declare function getProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "get">): Promise<openapi_fetch.FetchResponse<{
15398
17736
  parameters: {
15399
17737
  query?: never;
@@ -15769,6 +18107,14 @@ declare function listAppointments(client: FetchClient, query?: QueryParams<"/v1/
15769
18107
  "application/json": components["schemas"]["UnauthorizedResponse"];
15770
18108
  };
15771
18109
  };
18110
+ 403: {
18111
+ headers: {
18112
+ [name: string]: unknown;
18113
+ };
18114
+ content: {
18115
+ "application/json": components["schemas"]["ForbiddenResponse"];
18116
+ };
18117
+ };
15772
18118
  422: {
15773
18119
  headers: {
15774
18120
  [name: string]: unknown;
@@ -16006,15 +18352,146 @@ declare function listCancellationReasons(client: FetchClient): Promise<openapi_f
16006
18352
  content: {
16007
18353
  "application/json": components["schemas"]["JsonErrorResponse"];
16008
18354
  };
16009
- };
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
+ };
18442
+ header?: {
18443
+ "X-SavvyCal-Account"?: string;
18444
+ };
18445
+ path?: never;
18446
+ cookie?: never;
18447
+ };
18448
+ requestBody?: never;
18449
+ responses: {
18450
+ 200: {
18451
+ headers: {
18452
+ [name: string]: unknown;
18453
+ };
18454
+ content: {
18455
+ "application/json": components["schemas"]["ClientsResponse"];
18456
+ };
18457
+ };
18458
+ 401: {
18459
+ headers: {
18460
+ [name: string]: unknown;
18461
+ };
18462
+ content: {
18463
+ "application/json": components["schemas"]["UnauthorizedResponse"];
18464
+ };
18465
+ };
18466
+ 422: {
18467
+ headers: {
18468
+ [name: string]: unknown;
18469
+ };
18470
+ content: {
18471
+ "application/json": components["schemas"]["JsonErrorResponse"];
18472
+ };
18473
+ };
18474
+ };
18475
+ }, {
18476
+ params: {
18477
+ query: {
18478
+ page?: number;
18479
+ page_size?: number;
18480
+ search?: string;
18481
+ metadata?: {
18482
+ [key: string]: unknown;
18483
+ };
18484
+ include_sensitive?: boolean;
18485
+ } | undefined;
16010
18486
  };
16011
- }> | undefined, `${string}/${string}`>>;
16012
- declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clients", "get">): Promise<openapi_fetch.FetchResponse<{
18487
+ }, `${string}/${string}`>>;
18488
+ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<"/v1/connected_accounts", "get">): Promise<openapi_fetch.FetchResponse<{
16013
18489
  parameters: {
16014
18490
  query?: {
16015
18491
  page?: number;
16016
18492
  page_size?: number;
16017
- search?: string;
18493
+ user_id?: string;
18494
+ provider?: "google" | "microsoft" | "zoom_admin";
16018
18495
  };
16019
18496
  header?: {
16020
18497
  "X-SavvyCal-Account"?: string;
@@ -16029,7 +18506,7 @@ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clien
16029
18506
  [name: string]: unknown;
16030
18507
  };
16031
18508
  content: {
16032
- "application/json": components["schemas"]["ClientsResponse"];
18509
+ "application/json": components["schemas"]["ConnectedAccountsResponse"];
16033
18510
  };
16034
18511
  };
16035
18512
  401: {
@@ -16054,17 +18531,17 @@ declare function listClients(client: FetchClient, query?: QueryParams<"/v1/clien
16054
18531
  query: {
16055
18532
  page?: number;
16056
18533
  page_size?: number;
16057
- search?: string;
18534
+ user_id?: string;
18535
+ provider?: "google" | "microsoft" | "zoom_admin";
16058
18536
  } | undefined;
16059
18537
  };
16060
18538
  }, `${string}/${string}`>>;
16061
- 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<{
16062
18540
  parameters: {
16063
18541
  query?: {
16064
18542
  page?: number;
16065
18543
  page_size?: number;
16066
- user_id?: string;
16067
- provider?: "google" | "microsoft" | "zoom_admin";
18544
+ search?: string;
16068
18545
  };
16069
18546
  header?: {
16070
18547
  "X-SavvyCal-Account"?: string;
@@ -16079,7 +18556,7 @@ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<
16079
18556
  [name: string]: unknown;
16080
18557
  };
16081
18558
  content: {
16082
- "application/json": components["schemas"]["ConnectedAccountsResponse"];
18559
+ "application/json": components["schemas"]["FormsResponse"];
16083
18560
  };
16084
18561
  };
16085
18562
  401: {
@@ -16104,8 +18581,7 @@ declare function listConnectedAccounts(client: FetchClient, query?: QueryParams<
16104
18581
  query: {
16105
18582
  page?: number;
16106
18583
  page_size?: number;
16107
- user_id?: string;
16108
- provider?: "google" | "microsoft" | "zoom_admin";
18584
+ search?: string;
16109
18585
  } | undefined;
16110
18586
  };
16111
18587
  }, `${string}/${string}`>>;
@@ -16391,6 +18867,51 @@ declare function listRoles(client: FetchClient): Promise<openapi_fetch.FetchResp
16391
18867
  };
16392
18868
  };
16393
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}`>>;
16394
18915
  declare function listServiceProviders(client: FetchClient, path: PathParams<"/v1/services/{service_id}/providers", "get">): Promise<openapi_fetch.FetchResponse<{
16395
18916
  parameters: {
16396
18917
  query?: never;
@@ -16441,6 +18962,9 @@ declare function listServices(client: FetchClient, query?: QueryParams<"/v1/serv
16441
18962
  query?: {
16442
18963
  page?: number;
16443
18964
  page_size?: number;
18965
+ metadata?: {
18966
+ [key: string]: unknown;
18967
+ };
16444
18968
  };
16445
18969
  header?: {
16446
18970
  "X-SavvyCal-Account"?: string;
@@ -16480,6 +19004,9 @@ declare function listServices(client: FetchClient, query?: QueryParams<"/v1/serv
16480
19004
  query: {
16481
19005
  page?: number;
16482
19006
  page_size?: number;
19007
+ metadata?: {
19008
+ [key: string]: unknown;
19009
+ };
16483
19010
  } | undefined;
16484
19011
  };
16485
19012
  }, `${string}/${string}`>>;
@@ -16666,6 +19193,66 @@ declare function reschedulePublicAppointment(client: FetchClient, path: PathPara
16666
19193
  };
16667
19194
  };
16668
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}`>>;
16669
19256
  declare function updateAccount(client: FetchClient, path: PathParams<"/v1/accounts/{account_id}", "patch">, body: RequestBody<"/v1/accounts/{account_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
16670
19257
  parameters: {
16671
19258
  query?: never;
@@ -16903,6 +19490,9 @@ declare function updateBookingIntent(client: FetchClient, path: PathParams<"/v1/
16903
19490
  auto_assign_provider?: boolean | null;
16904
19491
  client_data?: {
16905
19492
  email?: string | null;
19493
+ fields?: {
19494
+ [key: string]: unknown;
19495
+ } | null;
16906
19496
  first_name?: string | null;
16907
19497
  last_name?: string | null;
16908
19498
  locale?: string | null;
@@ -16922,6 +19512,7 @@ declare function updateBookingIntent(client: FetchClient, path: PathParams<"/v1/
16922
19512
  service_id?: string | null;
16923
19513
  slot_prevalidated?: boolean | null;
16924
19514
  start_at?: string | null;
19515
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
16925
19516
  time_zone?: string | null;
16926
19517
  } | undefined;
16927
19518
  params: {
@@ -17043,9 +19634,15 @@ declare function updateClient(client: FetchClient, path: PathParams<"/v1/clients
17043
19634
  }, {
17044
19635
  body: {
17045
19636
  email?: string;
19637
+ fields?: {
19638
+ [key: string]: unknown;
19639
+ };
17046
19640
  first_name?: string;
17047
19641
  last_name?: string;
17048
19642
  locale?: string;
19643
+ metadata?: {
19644
+ [key: string]: unknown;
19645
+ };
17049
19646
  phone?: string;
17050
19647
  reference_id?: string;
17051
19648
  time_zone?: string;
@@ -17056,6 +19653,69 @@ declare function updateClient(client: FetchClient, path: PathParams<"/v1/clients
17056
19653
  };
17057
19654
  };
17058
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}`>>;
17059
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<{
17060
19720
  parameters: {
17061
19721
  query?: never;
@@ -17116,6 +19776,67 @@ declare function updateConnectedAccount(client: FetchClient, path: PathParams<"/
17116
19776
  };
17117
19777
  };
17118
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}`>>;
17119
19840
  declare function updateProvider(client: FetchClient, path: PathParams<"/v1/providers/{provider_id}", "patch">, body: RequestBody<"/v1/providers/{provider_id}", "patch">): Promise<openapi_fetch.FetchResponse<{
17120
19841
  parameters: {
17121
19842
  query?: never;
@@ -17279,6 +20000,9 @@ declare function updatePublicBookingIntent(client: FetchClient, path: PathParams
17279
20000
  auto_assign_provider?: boolean | null;
17280
20001
  client_data?: {
17281
20002
  email?: string | null;
20003
+ fields?: {
20004
+ [key: string]: unknown;
20005
+ } | null;
17282
20006
  first_name?: string | null;
17283
20007
  last_name?: string | null;
17284
20008
  locale?: string | null;
@@ -17290,6 +20014,7 @@ declare function updatePublicBookingIntent(client: FetchClient, path: PathParams
17290
20014
  provider_id?: string | null;
17291
20015
  service_id?: string | null;
17292
20016
  start_at?: string | null;
20017
+ submissions?: components["schemas"]["IntentSubmissionInput"][] | null;
17293
20018
  time_zone?: string | null;
17294
20019
  } | undefined;
17295
20020
  params: {
@@ -17356,6 +20081,9 @@ declare function updateService(client: FetchClient, path: PathParams<"/v1/servic
17356
20081
  change_policy_text?: string;
17357
20082
  duration?: string;
17358
20083
  internal_name?: string | null;
20084
+ metadata?: {
20085
+ [key: string]: unknown;
20086
+ };
17359
20087
  name?: string;
17360
20088
  provider_notifications?: components["schemas"]["ProviderNotificationConfig"];
17361
20089
  rescheduling_policy?: components["schemas"]["ReschedulingPolicy"];
@@ -17368,4 +20096,4 @@ declare function updateService(client: FetchClient, path: PathParams<"/v1/servic
17368
20096
  };
17369
20097
  }, `${string}/${string}`>>;
17370
20098
 
17371
- 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 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 };