@savvycal/appointments-core 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -2234,6 +2234,136 @@ interface components {
2234
2234
  /** @description The title of the block. */
2235
2235
  title?: string;
2236
2236
  };
2237
+ /**
2238
+ * BookingIntentCompletedEventData
2239
+ * @description This is an object representing data for the booking intent completed event.
2240
+ * @example {
2241
+ * "object": {
2242
+ * "abandoned_at": null,
2243
+ * "appointment": null,
2244
+ * "client": null,
2245
+ * "client_data": {
2246
+ * "email": "jane@example.com",
2247
+ * "first_name": "Jane",
2248
+ * "last_name": "Doe",
2249
+ * "locale": "en",
2250
+ * "phone": "+15551234567",
2251
+ * "reference_id": "ext_123",
2252
+ * "time_zone": "America/New_York"
2253
+ * },
2254
+ * "completed_at": null,
2255
+ * "created_at": "2026-02-22T10:00:00Z",
2256
+ * "end_at": {
2257
+ * "local": "2026-02-23T10:30:00-05:00",
2258
+ * "object": "zoned_date_time",
2259
+ * "time_zone": "America/New_York",
2260
+ * "unix_ts": 1771947000,
2261
+ * "utc": "2026-02-23T15:30:00Z"
2262
+ * },
2263
+ * "hold_duration": "PT10M",
2264
+ * "hold_enabled": true,
2265
+ * "hold_until": "2026-02-22T10:10:00Z",
2266
+ * "id": "bi_abc123def456abc123def456",
2267
+ * "locked_fields": [
2268
+ * "provider_id",
2269
+ * "start_at",
2270
+ * "end_at",
2271
+ * "time_zone"
2272
+ * ],
2273
+ * "metadata": {
2274
+ * "source": "web"
2275
+ * },
2276
+ * "object": "booking_intent",
2277
+ * "provider": {
2278
+ * "created_at": "2017-09-12T12:34:55Z",
2279
+ * "display_name": "John Smith",
2280
+ * "first_name": "John",
2281
+ * "id": "prov_d025a96ac0c6",
2282
+ * "last_name": "Smith",
2283
+ * "metadata": {
2284
+ * "external_id": "123"
2285
+ * },
2286
+ * "object": "provider",
2287
+ * "updated_at": "2017-09-13T10:11:12Z"
2288
+ * },
2289
+ * "service": {
2290
+ * "appointment_type": "in_person",
2291
+ * "booking_policy": {
2292
+ * "advance_notice": {
2293
+ * "enabled": true,
2294
+ * "minimum_duration": "PT1H"
2295
+ * },
2296
+ * "allow_booking": true,
2297
+ * "disabled_message": "Booking is disabled for this service.",
2298
+ * "hold": {
2299
+ * "duration": "PT10M",
2300
+ * "enabled": true
2301
+ * },
2302
+ * "maximize_utilization": {
2303
+ * "enabled": true
2304
+ * }
2305
+ * },
2306
+ * "cancellation_policy": {
2307
+ * "advance_notice": {
2308
+ * "enabled": true,
2309
+ * "minimum_duration": "PT1H"
2310
+ * },
2311
+ * "allow_cancellation": true,
2312
+ * "disabled_message": "Cancellation is disabled for this service."
2313
+ * },
2314
+ * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2315
+ * "created_at": "2025-02-17T17:49:19Z",
2316
+ * "duration": "PT1H30M",
2317
+ * "id": "srv_d025a96ac0c6",
2318
+ * "name": "Initial Consult",
2319
+ * "object": "service",
2320
+ * "rescheduling_policy": {
2321
+ * "advance_notice": {
2322
+ * "enabled": true,
2323
+ * "minimum_duration": "PT1H"
2324
+ * },
2325
+ * "allow_rescheduling": true,
2326
+ * "disabled_message": "Rescheduling is disabled for this service."
2327
+ * },
2328
+ * "slot_rules": [
2329
+ * {
2330
+ * "recurrence_rule": {
2331
+ * "byday": [
2332
+ * "mo",
2333
+ * "we",
2334
+ * "fr"
2335
+ * ],
2336
+ * "freq": "weekly"
2337
+ * },
2338
+ * "start_times": [
2339
+ * "09:00",
2340
+ * "10:00"
2341
+ * ]
2342
+ * }
2343
+ * ],
2344
+ * "updated_at": "2025-02-17T17:49:19Z"
2345
+ * },
2346
+ * "start_at": {
2347
+ * "local": "2026-02-23T10:00:00-05:00",
2348
+ * "object": "zoned_date_time",
2349
+ * "time_zone": "America/New_York",
2350
+ * "unix_ts": 1771945200,
2351
+ * "utc": "2026-02-23T15:00:00Z"
2352
+ * },
2353
+ * "status": "slot_selected",
2354
+ * "updated_at": "2026-02-22T10:00:00Z"
2355
+ * },
2356
+ * "type": "booking_intent.completed"
2357
+ * }
2358
+ */
2359
+ BookingIntentCompletedEventData: {
2360
+ object: components["schemas"]["BookingIntent"];
2361
+ /**
2362
+ * @description The event type. (enum property replaced by openapi-typescript)
2363
+ * @enum {string}
2364
+ */
2365
+ type: "booking_intent.completed";
2366
+ };
2237
2367
  /**
2238
2368
  * AccountResponse
2239
2369
  * @description Response schema for a single account
@@ -2288,6 +2418,8 @@ interface components {
2288
2418
  * }
2289
2419
  */
2290
2420
  CreateBookingIntentRequest: {
2421
+ /** @description When true, automatically assigns an available provider for the selected time slot if no provider_id is specified. */
2422
+ auto_assign_provider?: boolean | null;
2291
2423
  /** @description Progressive client data to collect during the booking flow. */
2292
2424
  client_data?: {
2293
2425
  email?: string | null;
@@ -2332,6 +2464,136 @@ interface components {
2332
2464
  /** @description The local time zone for the slot (IANA format). */
2333
2465
  time_zone?: string | null;
2334
2466
  };
2467
+ /**
2468
+ * BookingIntentAbandonedEventData
2469
+ * @description This is an object representing data for the booking intent abandoned event.
2470
+ * @example {
2471
+ * "object": {
2472
+ * "abandoned_at": null,
2473
+ * "appointment": null,
2474
+ * "client": null,
2475
+ * "client_data": {
2476
+ * "email": "jane@example.com",
2477
+ * "first_name": "Jane",
2478
+ * "last_name": "Doe",
2479
+ * "locale": "en",
2480
+ * "phone": "+15551234567",
2481
+ * "reference_id": "ext_123",
2482
+ * "time_zone": "America/New_York"
2483
+ * },
2484
+ * "completed_at": null,
2485
+ * "created_at": "2026-02-22T10:00:00Z",
2486
+ * "end_at": {
2487
+ * "local": "2026-02-23T10:30:00-05:00",
2488
+ * "object": "zoned_date_time",
2489
+ * "time_zone": "America/New_York",
2490
+ * "unix_ts": 1771947000,
2491
+ * "utc": "2026-02-23T15:30:00Z"
2492
+ * },
2493
+ * "hold_duration": "PT10M",
2494
+ * "hold_enabled": true,
2495
+ * "hold_until": "2026-02-22T10:10:00Z",
2496
+ * "id": "bi_abc123def456abc123def456",
2497
+ * "locked_fields": [
2498
+ * "provider_id",
2499
+ * "start_at",
2500
+ * "end_at",
2501
+ * "time_zone"
2502
+ * ],
2503
+ * "metadata": {
2504
+ * "source": "web"
2505
+ * },
2506
+ * "object": "booking_intent",
2507
+ * "provider": {
2508
+ * "created_at": "2017-09-12T12:34:55Z",
2509
+ * "display_name": "John Smith",
2510
+ * "first_name": "John",
2511
+ * "id": "prov_d025a96ac0c6",
2512
+ * "last_name": "Smith",
2513
+ * "metadata": {
2514
+ * "external_id": "123"
2515
+ * },
2516
+ * "object": "provider",
2517
+ * "updated_at": "2017-09-13T10:11:12Z"
2518
+ * },
2519
+ * "service": {
2520
+ * "appointment_type": "in_person",
2521
+ * "booking_policy": {
2522
+ * "advance_notice": {
2523
+ * "enabled": true,
2524
+ * "minimum_duration": "PT1H"
2525
+ * },
2526
+ * "allow_booking": true,
2527
+ * "disabled_message": "Booking is disabled for this service.",
2528
+ * "hold": {
2529
+ * "duration": "PT10M",
2530
+ * "enabled": true
2531
+ * },
2532
+ * "maximize_utilization": {
2533
+ * "enabled": true
2534
+ * }
2535
+ * },
2536
+ * "cancellation_policy": {
2537
+ * "advance_notice": {
2538
+ * "enabled": true,
2539
+ * "minimum_duration": "PT1H"
2540
+ * },
2541
+ * "allow_cancellation": true,
2542
+ * "disabled_message": "Cancellation is disabled for this service."
2543
+ * },
2544
+ * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2545
+ * "created_at": "2025-02-17T17:49:19Z",
2546
+ * "duration": "PT1H30M",
2547
+ * "id": "srv_d025a96ac0c6",
2548
+ * "name": "Initial Consult",
2549
+ * "object": "service",
2550
+ * "rescheduling_policy": {
2551
+ * "advance_notice": {
2552
+ * "enabled": true,
2553
+ * "minimum_duration": "PT1H"
2554
+ * },
2555
+ * "allow_rescheduling": true,
2556
+ * "disabled_message": "Rescheduling is disabled for this service."
2557
+ * },
2558
+ * "slot_rules": [
2559
+ * {
2560
+ * "recurrence_rule": {
2561
+ * "byday": [
2562
+ * "mo",
2563
+ * "we",
2564
+ * "fr"
2565
+ * ],
2566
+ * "freq": "weekly"
2567
+ * },
2568
+ * "start_times": [
2569
+ * "09:00",
2570
+ * "10:00"
2571
+ * ]
2572
+ * }
2573
+ * ],
2574
+ * "updated_at": "2025-02-17T17:49:19Z"
2575
+ * },
2576
+ * "start_at": {
2577
+ * "local": "2026-02-23T10:00:00-05:00",
2578
+ * "object": "zoned_date_time",
2579
+ * "time_zone": "America/New_York",
2580
+ * "unix_ts": 1771945200,
2581
+ * "utc": "2026-02-23T15:00:00Z"
2582
+ * },
2583
+ * "status": "slot_selected",
2584
+ * "updated_at": "2026-02-22T10:00:00Z"
2585
+ * },
2586
+ * "type": "booking_intent.abandoned"
2587
+ * }
2588
+ */
2589
+ BookingIntentAbandonedEventData: {
2590
+ object: components["schemas"]["BookingIntent"];
2591
+ /**
2592
+ * @description The event type. (enum property replaced by openapi-typescript)
2593
+ * @enum {string}
2594
+ */
2595
+ type: "booking_intent.abandoned";
2596
+ };
2335
2597
  /**
2336
2598
  * GenericErrorResponse
2337
2599
  * @description Response schema for generic error messages
@@ -2347,6 +2609,8 @@ interface components {
2347
2609
  */
2348
2610
  GenericErrorResponse: {
2349
2611
  errors: {
2612
+ /** @description Machine-readable error code (e.g. slot_unavailable, no_available_provider) */
2613
+ code?: string | null;
2350
2614
  /** @description Error message */
2351
2615
  detail: string;
2352
2616
  /** @description HTTP status code */
@@ -2536,60 +2800,190 @@ interface components {
2536
2800
  * "enabled": true,
2537
2801
  * "minimum_duration": "PT1H"
2538
2802
  * },
2539
- * "allow_booking": true,
2540
- * "disabled_message": "Booking is disabled for this service.",
2541
- * "hold": {
2542
- * "duration": "PT10M",
2543
- * "enabled": true
2803
+ * "allow_booking": true,
2804
+ * "disabled_message": "Booking is disabled for this service.",
2805
+ * "hold": {
2806
+ * "duration": "PT10M",
2807
+ * "enabled": true
2808
+ * },
2809
+ * "maximize_utilization": {
2810
+ * "enabled": true
2811
+ * }
2812
+ * },
2813
+ * "cancellation_policy": {
2814
+ * "advance_notice": {
2815
+ * "enabled": true,
2816
+ * "minimum_duration": "PT1H"
2817
+ * },
2818
+ * "allow_cancellation": true,
2819
+ * "disabled_message": "Cancellation is disabled for this service."
2820
+ * },
2821
+ * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2822
+ * "created_at": "2025-02-17T17:49:19Z",
2823
+ * "duration": "PT1H30M",
2824
+ * "id": "srv_d025a96ac0c6",
2825
+ * "name": "Initial Consult",
2826
+ * "object": "service",
2827
+ * "rescheduling_policy": {
2828
+ * "advance_notice": {
2829
+ * "enabled": true,
2830
+ * "minimum_duration": "PT1H"
2831
+ * },
2832
+ * "allow_rescheduling": true,
2833
+ * "disabled_message": "Rescheduling is disabled for this service."
2834
+ * },
2835
+ * "slot_rules": [
2836
+ * {
2837
+ * "recurrence_rule": {
2838
+ * "byday": [
2839
+ * "mo",
2840
+ * "we",
2841
+ * "fr"
2842
+ * ],
2843
+ * "freq": "weekly"
2844
+ * },
2845
+ * "start_times": [
2846
+ * "09:00",
2847
+ * "10:00"
2848
+ * ]
2849
+ * }
2850
+ * ],
2851
+ * "updated_at": "2025-02-17T17:49:19Z"
2852
+ * }
2853
+ * }
2854
+ */
2855
+ ServiceResponse: {
2856
+ data: components["schemas"]["Service"];
2857
+ };
2858
+ /**
2859
+ * BookingIntentUpdatedEventData
2860
+ * @description This is an object representing data for the booking intent updated event.
2861
+ * @example {
2862
+ * "object": {
2863
+ * "abandoned_at": null,
2864
+ * "appointment": null,
2865
+ * "client": null,
2866
+ * "client_data": {
2867
+ * "email": "jane@example.com",
2868
+ * "first_name": "Jane",
2869
+ * "last_name": "Doe",
2870
+ * "locale": "en",
2871
+ * "phone": "+15551234567",
2872
+ * "reference_id": "ext_123",
2873
+ * "time_zone": "America/New_York"
2874
+ * },
2875
+ * "completed_at": null,
2876
+ * "created_at": "2026-02-22T10:00:00Z",
2877
+ * "end_at": {
2878
+ * "local": "2026-02-23T10:30:00-05:00",
2879
+ * "object": "zoned_date_time",
2880
+ * "time_zone": "America/New_York",
2881
+ * "unix_ts": 1771947000,
2882
+ * "utc": "2026-02-23T15:30:00Z"
2883
+ * },
2884
+ * "hold_duration": "PT10M",
2885
+ * "hold_enabled": true,
2886
+ * "hold_until": "2026-02-22T10:10:00Z",
2887
+ * "id": "bi_abc123def456abc123def456",
2888
+ * "locked_fields": [
2889
+ * "provider_id",
2890
+ * "start_at",
2891
+ * "end_at",
2892
+ * "time_zone"
2893
+ * ],
2894
+ * "metadata": {
2895
+ * "source": "web"
2896
+ * },
2897
+ * "object": "booking_intent",
2898
+ * "provider": {
2899
+ * "created_at": "2017-09-12T12:34:55Z",
2900
+ * "display_name": "John Smith",
2901
+ * "first_name": "John",
2902
+ * "id": "prov_d025a96ac0c6",
2903
+ * "last_name": "Smith",
2904
+ * "metadata": {
2905
+ * "external_id": "123"
2906
+ * },
2907
+ * "object": "provider",
2908
+ * "updated_at": "2017-09-13T10:11:12Z"
2909
+ * },
2910
+ * "service": {
2911
+ * "appointment_type": "in_person",
2912
+ * "booking_policy": {
2913
+ * "advance_notice": {
2914
+ * "enabled": true,
2915
+ * "minimum_duration": "PT1H"
2916
+ * },
2917
+ * "allow_booking": true,
2918
+ * "disabled_message": "Booking is disabled for this service.",
2919
+ * "hold": {
2920
+ * "duration": "PT10M",
2921
+ * "enabled": true
2922
+ * },
2923
+ * "maximize_utilization": {
2924
+ * "enabled": true
2925
+ * }
2926
+ * },
2927
+ * "cancellation_policy": {
2928
+ * "advance_notice": {
2929
+ * "enabled": true,
2930
+ * "minimum_duration": "PT1H"
2931
+ * },
2932
+ * "allow_cancellation": true,
2933
+ * "disabled_message": "Cancellation is disabled for this service."
2544
2934
  * },
2545
- * "maximize_utilization": {
2546
- * "enabled": true
2547
- * }
2548
- * },
2549
- * "cancellation_policy": {
2550
- * "advance_notice": {
2551
- * "enabled": true,
2552
- * "minimum_duration": "PT1H"
2935
+ * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2936
+ * "created_at": "2025-02-17T17:49:19Z",
2937
+ * "duration": "PT1H30M",
2938
+ * "id": "srv_d025a96ac0c6",
2939
+ * "name": "Initial Consult",
2940
+ * "object": "service",
2941
+ * "rescheduling_policy": {
2942
+ * "advance_notice": {
2943
+ * "enabled": true,
2944
+ * "minimum_duration": "PT1H"
2945
+ * },
2946
+ * "allow_rescheduling": true,
2947
+ * "disabled_message": "Rescheduling is disabled for this service."
2553
2948
  * },
2554
- * "allow_cancellation": true,
2555
- * "disabled_message": "Cancellation is disabled for this service."
2949
+ * "slot_rules": [
2950
+ * {
2951
+ * "recurrence_rule": {
2952
+ * "byday": [
2953
+ * "mo",
2954
+ * "we",
2955
+ * "fr"
2956
+ * ],
2957
+ * "freq": "weekly"
2958
+ * },
2959
+ * "start_times": [
2960
+ * "09:00",
2961
+ * "10:00"
2962
+ * ]
2963
+ * }
2964
+ * ],
2965
+ * "updated_at": "2025-02-17T17:49:19Z"
2556
2966
  * },
2557
- * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
2558
- * "created_at": "2025-02-17T17:49:19Z",
2559
- * "duration": "PT1H30M",
2560
- * "id": "srv_d025a96ac0c6",
2561
- * "name": "Initial Consult",
2562
- * "object": "service",
2563
- * "rescheduling_policy": {
2564
- * "advance_notice": {
2565
- * "enabled": true,
2566
- * "minimum_duration": "PT1H"
2567
- * },
2568
- * "allow_rescheduling": true,
2569
- * "disabled_message": "Rescheduling is disabled for this service."
2967
+ * "start_at": {
2968
+ * "local": "2026-02-23T10:00:00-05:00",
2969
+ * "object": "zoned_date_time",
2970
+ * "time_zone": "America/New_York",
2971
+ * "unix_ts": 1771945200,
2972
+ * "utc": "2026-02-23T15:00:00Z"
2570
2973
  * },
2571
- * "slot_rules": [
2572
- * {
2573
- * "recurrence_rule": {
2574
- * "byday": [
2575
- * "mo",
2576
- * "we",
2577
- * "fr"
2578
- * ],
2579
- * "freq": "weekly"
2580
- * },
2581
- * "start_times": [
2582
- * "09:00",
2583
- * "10:00"
2584
- * ]
2585
- * }
2586
- * ],
2587
- * "updated_at": "2025-02-17T17:49:19Z"
2588
- * }
2974
+ * "status": "slot_selected",
2975
+ * "updated_at": "2026-02-22T10:00:00Z"
2976
+ * },
2977
+ * "type": "booking_intent.updated"
2589
2978
  * }
2590
2979
  */
2591
- ServiceResponse: {
2592
- data: components["schemas"]["Service"];
2980
+ BookingIntentUpdatedEventData: {
2981
+ object: components["schemas"]["BookingIntent"];
2982
+ /**
2983
+ * @description The event type. (enum property replaced by openapi-typescript)
2984
+ * @enum {string}
2985
+ */
2986
+ type: "booking_intent.updated";
2593
2987
  };
2594
2988
  /**
2595
2989
  * CreateCancellationReasonRequest
@@ -2970,6 +3364,8 @@ interface components {
2970
3364
  * }
2971
3365
  */
2972
3366
  CompleteBookingIntentRequest: {
3367
+ /** @description When true, automatically assigns an available provider for the selected time slot if no provider_id is specified. */
3368
+ auto_assign_provider?: boolean | null;
2973
3369
  /** @description Progressive client data. Provided fields are merged with existing values. */
2974
3370
  client_data?: {
2975
3371
  email?: string | null;
@@ -3461,6 +3857,136 @@ interface components {
3461
3857
  */
3462
3858
  type: "provider_schedule.deleted";
3463
3859
  };
3860
+ /**
3861
+ * BookingIntentCreatedEventData
3862
+ * @description This is an object representing data for the booking intent created event.
3863
+ * @example {
3864
+ * "object": {
3865
+ * "abandoned_at": null,
3866
+ * "appointment": null,
3867
+ * "client": null,
3868
+ * "client_data": {
3869
+ * "email": "jane@example.com",
3870
+ * "first_name": "Jane",
3871
+ * "last_name": "Doe",
3872
+ * "locale": "en",
3873
+ * "phone": "+15551234567",
3874
+ * "reference_id": "ext_123",
3875
+ * "time_zone": "America/New_York"
3876
+ * },
3877
+ * "completed_at": null,
3878
+ * "created_at": "2026-02-22T10:00:00Z",
3879
+ * "end_at": {
3880
+ * "local": "2026-02-23T10:30:00-05:00",
3881
+ * "object": "zoned_date_time",
3882
+ * "time_zone": "America/New_York",
3883
+ * "unix_ts": 1771947000,
3884
+ * "utc": "2026-02-23T15:30:00Z"
3885
+ * },
3886
+ * "hold_duration": "PT10M",
3887
+ * "hold_enabled": true,
3888
+ * "hold_until": "2026-02-22T10:10:00Z",
3889
+ * "id": "bi_abc123def456abc123def456",
3890
+ * "locked_fields": [
3891
+ * "provider_id",
3892
+ * "start_at",
3893
+ * "end_at",
3894
+ * "time_zone"
3895
+ * ],
3896
+ * "metadata": {
3897
+ * "source": "web"
3898
+ * },
3899
+ * "object": "booking_intent",
3900
+ * "provider": {
3901
+ * "created_at": "2017-09-12T12:34:55Z",
3902
+ * "display_name": "John Smith",
3903
+ * "first_name": "John",
3904
+ * "id": "prov_d025a96ac0c6",
3905
+ * "last_name": "Smith",
3906
+ * "metadata": {
3907
+ * "external_id": "123"
3908
+ * },
3909
+ * "object": "provider",
3910
+ * "updated_at": "2017-09-13T10:11:12Z"
3911
+ * },
3912
+ * "service": {
3913
+ * "appointment_type": "in_person",
3914
+ * "booking_policy": {
3915
+ * "advance_notice": {
3916
+ * "enabled": true,
3917
+ * "minimum_duration": "PT1H"
3918
+ * },
3919
+ * "allow_booking": true,
3920
+ * "disabled_message": "Booking is disabled for this service.",
3921
+ * "hold": {
3922
+ * "duration": "PT10M",
3923
+ * "enabled": true
3924
+ * },
3925
+ * "maximize_utilization": {
3926
+ * "enabled": true
3927
+ * }
3928
+ * },
3929
+ * "cancellation_policy": {
3930
+ * "advance_notice": {
3931
+ * "enabled": true,
3932
+ * "minimum_duration": "PT1H"
3933
+ * },
3934
+ * "allow_cancellation": true,
3935
+ * "disabled_message": "Cancellation is disabled for this service."
3936
+ * },
3937
+ * "change_policy_text": "Appointments within 48 hours cannot be canceled or rescheduled online. Please call our office.",
3938
+ * "created_at": "2025-02-17T17:49:19Z",
3939
+ * "duration": "PT1H30M",
3940
+ * "id": "srv_d025a96ac0c6",
3941
+ * "name": "Initial Consult",
3942
+ * "object": "service",
3943
+ * "rescheduling_policy": {
3944
+ * "advance_notice": {
3945
+ * "enabled": true,
3946
+ * "minimum_duration": "PT1H"
3947
+ * },
3948
+ * "allow_rescheduling": true,
3949
+ * "disabled_message": "Rescheduling is disabled for this service."
3950
+ * },
3951
+ * "slot_rules": [
3952
+ * {
3953
+ * "recurrence_rule": {
3954
+ * "byday": [
3955
+ * "mo",
3956
+ * "we",
3957
+ * "fr"
3958
+ * ],
3959
+ * "freq": "weekly"
3960
+ * },
3961
+ * "start_times": [
3962
+ * "09:00",
3963
+ * "10:00"
3964
+ * ]
3965
+ * }
3966
+ * ],
3967
+ * "updated_at": "2025-02-17T17:49:19Z"
3968
+ * },
3969
+ * "start_at": {
3970
+ * "local": "2026-02-23T10:00:00-05:00",
3971
+ * "object": "zoned_date_time",
3972
+ * "time_zone": "America/New_York",
3973
+ * "unix_ts": 1771945200,
3974
+ * "utc": "2026-02-23T15:00:00Z"
3975
+ * },
3976
+ * "status": "slot_selected",
3977
+ * "updated_at": "2026-02-22T10:00:00Z"
3978
+ * },
3979
+ * "type": "booking_intent.created"
3980
+ * }
3981
+ */
3982
+ BookingIntentCreatedEventData: {
3983
+ object: components["schemas"]["BookingIntent"];
3984
+ /**
3985
+ * @description The event type. (enum property replaced by openapi-typescript)
3986
+ * @enum {string}
3987
+ */
3988
+ type: "booking_intent.created";
3989
+ };
3464
3990
  /**
3465
3991
  * Account
3466
3992
  * @description This is an object representing an account in the app.
@@ -5653,6 +6179,34 @@ interface components {
5653
6179
  * @enum {string}
5654
6180
  */
5655
6181
  type: "block.deleted";
6182
+ } | {
6183
+ object: components["schemas"]["BookingIntent"];
6184
+ /**
6185
+ * @description The event type.
6186
+ * @enum {string}
6187
+ */
6188
+ type: "booking_intent.abandoned";
6189
+ } | {
6190
+ object: components["schemas"]["BookingIntent"];
6191
+ /**
6192
+ * @description The event type.
6193
+ * @enum {string}
6194
+ */
6195
+ type: "booking_intent.completed";
6196
+ } | {
6197
+ object: components["schemas"]["BookingIntent"];
6198
+ /**
6199
+ * @description The event type.
6200
+ * @enum {string}
6201
+ */
6202
+ type: "booking_intent.created";
6203
+ } | {
6204
+ object: components["schemas"]["BookingIntent"];
6205
+ /**
6206
+ * @description The event type.
6207
+ * @enum {string}
6208
+ */
6209
+ type: "booking_intent.updated";
5656
6210
  } | {
5657
6211
  /**
5658
6212
  * Client
@@ -7594,6 +8148,8 @@ interface components {
7594
8148
  * }
7595
8149
  */
7596
8150
  UpdateBookingIntentRequest: {
8151
+ /** @description When true, automatically assigns an available provider for the selected time slot if no provider_id is specified. */
8152
+ auto_assign_provider?: boolean | null;
7597
8153
  /** @description Progressive client data. Provided fields are merged with existing values. */
7598
8154
  client_data?: {
7599
8155
  email?: string | null;
@@ -9411,6 +9967,8 @@ interface components {
9411
9967
  * }
9412
9968
  */
9413
9969
  CompletePublicBookingIntentRequest: {
9970
+ /** @description When true, automatically assigns an available provider for the selected time slot if no provider_id is specified. */
9971
+ auto_assign_provider?: boolean | null;
9414
9972
  /** @description Progressive client data. Provided fields are merged with existing values. */
9415
9973
  client_data?: {
9416
9974
  email?: string | null;
@@ -10893,6 +11451,8 @@ interface components {
10893
11451
  * }
10894
11452
  */
10895
11453
  UpdatePublicBookingIntentRequest: {
11454
+ /** @description When true, automatically assigns an available provider for the selected time slot if no provider_id is specified. */
11455
+ auto_assign_provider?: boolean | null;
10896
11456
  /** @description Progressive client data. Provided fields are merged with existing values. */
10897
11457
  client_data?: {
10898
11458
  email?: string | null;
@@ -11721,6 +12281,8 @@ interface components {
11721
12281
  CreatePublicBookingIntentRequest: {
11722
12282
  /** @description The account ID. */
11723
12283
  account_id: string;
12284
+ /** @description When true, automatically assigns an available provider for the selected time slot if no provider_id is specified. */
12285
+ auto_assign_provider?: boolean | null;
11724
12286
  /** @description Progressive client data to collect during the booking flow. */
11725
12287
  client_data?: {
11726
12288
  email?: string | null;
@@ -12369,13 +12931,21 @@ interface components {
12369
12931
  BlockResponse: {
12370
12932
  data: components["schemas"]["Block"];
12371
12933
  };
12372
- /** JsonErrorResponse */
12934
+ /**
12935
+ * JsonErrorResponse
12936
+ * @description Response schema for validation errors
12937
+ */
12373
12938
  JsonErrorResponse: {
12374
12939
  errors: {
12375
- /** @example null value where string expected */
12940
+ /**
12941
+ * @description Machine-readable error code (e.g. slot_unavailable, no_available_provider, time_range_conflict)
12942
+ * @example slot_unavailable
12943
+ */
12944
+ code?: string | null;
12945
+ /** @example is not available */
12376
12946
  detail: string;
12377
12947
  source: {
12378
- /** @example /data/attributes/petName */
12948
+ /** @example /start_at */
12379
12949
  pointer: string;
12380
12950
  };
12381
12951
  /** @example Invalid value */
@@ -18465,8 +19035,12 @@ type BlockResponse = Schemas["BlockResponse"];
18465
19035
  type BlocksResponse = Schemas["BlocksResponse"];
18466
19036
  type BlockUpdatedEventData = Schemas["BlockUpdatedEventData"];
18467
19037
  type BookingIntent = Schemas["BookingIntent"];
19038
+ type BookingIntentAbandonedEventData = Schemas["BookingIntentAbandonedEventData"];
19039
+ type BookingIntentCompletedEventData = Schemas["BookingIntentCompletedEventData"];
19040
+ type BookingIntentCreatedEventData = Schemas["BookingIntentCreatedEventData"];
18468
19041
  type BookingIntentResponse = Schemas["BookingIntentResponse"];
18469
19042
  type BookingIntentsResponse = Schemas["BookingIntentsResponse"];
19043
+ type BookingIntentUpdatedEventData = Schemas["BookingIntentUpdatedEventData"];
18470
19044
  type BookingPolicy = Schemas["BookingPolicy"];
18471
19045
  type CancelAppointmentRequest = Schemas["CancelAppointmentRequest"];
18472
19046
  type CancellationEvent = Schemas["CancellationEvent"];
@@ -18902,6 +19476,7 @@ declare function completeBookingIntent(client: FetchClient, path: PathParams<"/v
18902
19476
  };
18903
19477
  }, {
18904
19478
  body: {
19479
+ auto_assign_provider?: boolean | null;
18905
19480
  client_data?: {
18906
19481
  email?: string | null;
18907
19482
  first_name?: string | null;
@@ -18969,6 +19544,7 @@ declare function completePublicBookingIntent(client: FetchClient, path: PathPara
18969
19544
  };
18970
19545
  }, {
18971
19546
  body: {
19547
+ auto_assign_provider?: boolean | null;
18972
19548
  client_data?: {
18973
19549
  email?: string | null;
18974
19550
  first_name?: string | null;
@@ -19319,6 +19895,7 @@ declare function createBookingIntent(client: FetchClient, body: RequestBody<"/v1
19319
19895
  };
19320
19896
  }, {
19321
19897
  body: {
19898
+ auto_assign_provider?: boolean | null;
19322
19899
  client_data?: {
19323
19900
  email?: string | null;
19324
19901
  first_name?: string | null;
@@ -19686,6 +20263,7 @@ declare function createPublicBookingIntent(client: FetchClient, body: RequestBod
19686
20263
  }, {
19687
20264
  body: {
19688
20265
  account_id: string;
20266
+ auto_assign_provider?: boolean | null;
19689
20267
  client_data?: {
19690
20268
  email?: string | null;
19691
20269
  first_name?: string | null;
@@ -22317,6 +22895,7 @@ declare function updateBookingIntent(client: FetchClient, path: PathParams<"/v1/
22317
22895
  };
22318
22896
  }, {
22319
22897
  body: {
22898
+ auto_assign_provider?: boolean | null;
22320
22899
  client_data?: {
22321
22900
  email?: string | null;
22322
22901
  first_name?: string | null;
@@ -22696,6 +23275,7 @@ declare function updatePublicBookingIntent(client: FetchClient, path: PathParams
22696
23275
  };
22697
23276
  }, {
22698
23277
  body: {
23278
+ auto_assign_provider?: boolean | null;
22699
23279
  client_data?: {
22700
23280
  email?: string | null;
22701
23281
  first_name?: string | null;
@@ -22822,4 +23402,4 @@ declare function updateService(client: FetchClient, path: PathParams<"/v1/servic
22822
23402
  };
22823
23403
  }, `${string}/${string}`>>;
22824
23404
 
22825
- 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 BookingIntentResponse, 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 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 };
23405
+ 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 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 };