@cimplify/sdk 0.89.0 → 0.92.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.
Files changed (69) hide show
  1. package/dist/advanced.d.mts +3 -3
  2. package/dist/advanced.d.ts +3 -3
  3. package/dist/advanced.js +20 -20
  4. package/dist/advanced.mjs +1 -1
  5. package/dist/{chunk-JHJTXAPS.js → chunk-3MBMIEWT.js} +4 -4
  6. package/dist/{chunk-DENWOZEA.mjs → chunk-3XD2FVP4.mjs} +163 -43
  7. package/dist/{chunk-M4ALCELT.mjs → chunk-54H2YYIW.mjs} +2 -2
  8. package/dist/{chunk-T2CJ67QV.js → chunk-DCRN67NO.js} +201 -78
  9. package/dist/{chunk-T7Z25EY4.js → chunk-HKN3YG76.js} +84 -0
  10. package/dist/{chunk-GHFDYM5K.js → chunk-IVJEUGWF.js} +10 -1
  11. package/dist/{chunk-ROBTTS3Q.js → chunk-OAHSF542.js} +40 -1
  12. package/dist/{chunk-APBLFZ2I.mjs → chunk-PYBFTMHI.mjs} +40 -1
  13. package/dist/{chunk-OZDDHSIB.mjs → chunk-RRBY35TJ.mjs} +80 -1
  14. package/dist/{chunk-ZU4ZRYUR.mjs → chunk-T7LDBZZZ.mjs} +10 -1
  15. package/dist/chunk-U4MW6PYU.mjs +23 -0
  16. package/dist/chunk-XREIZ56K.js +26 -0
  17. package/dist/{client-CqZgdUtw.d.ts → client-BQbSKlHS.d.mts} +165 -11
  18. package/dist/{client-CAY2NbRG.d.mts → client-Bw4HtLP1.d.mts} +2 -2
  19. package/dist/{client-D8ZFs-sq.d.mts → client-CeW3acve.d.ts} +165 -11
  20. package/dist/{client-CUbwb6Om.d.ts → client-Otzv_rgP.d.ts} +2 -2
  21. package/dist/{index-CmWOz9bi.d.mts → index-CmIboQjl.d.mts} +3 -3
  22. package/dist/{index-Bc5qUxAt.d.ts → index-DgoRwz8l.d.ts} +3 -3
  23. package/dist/index.d.mts +49 -7
  24. package/dist/index.d.ts +49 -7
  25. package/dist/index.js +109 -82
  26. package/dist/index.mjs +11 -5
  27. package/dist/mock/cli.mjs +61 -1
  28. package/dist/mock/library.js +61 -1
  29. package/dist/mock/library.mjs +61 -1
  30. package/dist/mock/msw.js +61 -1
  31. package/dist/mock/msw.mjs +61 -1
  32. package/dist/{payment-Dcgb9n1n.d.mts → payment-BFtLqiG2.d.mts} +1 -1
  33. package/dist/{payment-Xq0WDZXh.d.ts → payment-Cq8FT1B6.d.ts} +1 -1
  34. package/dist/{price-DAAjKgAp.d.ts → price-DaFXT-Lr.d.ts} +1 -1
  35. package/dist/{price--Ma_WO5_.d.mts → price-DleDWk_s.d.mts} +1 -1
  36. package/dist/{product-BakHcsP2.d.ts → product-bZ8G5Z8D.d.mts} +95 -2
  37. package/dist/{product-BakHcsP2.d.mts → product-bZ8G5Z8D.d.ts} +95 -2
  38. package/dist/react.d.mts +471 -8
  39. package/dist/react.d.ts +471 -8
  40. package/dist/react.js +2787 -402
  41. package/dist/react.mjs +2699 -337
  42. package/dist/{server-Bk_hlefX.d.mts → server-D-iK-bNt.d.mts} +8 -1
  43. package/dist/{server-Bei5lBrc.d.ts → server-DwsY9hlX.d.ts} +8 -1
  44. package/dist/server.d.mts +4 -4
  45. package/dist/server.d.ts +4 -4
  46. package/dist/server.js +7 -7
  47. package/dist/server.mjs +2 -2
  48. package/dist/styles.css +1 -1
  49. package/dist/testing/msw.d.mts +2 -2
  50. package/dist/testing/msw.d.ts +2 -2
  51. package/dist/testing/msw.js +3 -2
  52. package/dist/testing/msw.mjs +2 -1
  53. package/dist/testing/suite.d.mts +6 -6
  54. package/dist/testing/suite.d.ts +6 -6
  55. package/dist/testing/suite.js +24 -23
  56. package/dist/testing/suite.mjs +5 -4
  57. package/dist/testing.d.mts +5 -5
  58. package/dist/testing.d.ts +5 -5
  59. package/dist/testing.js +80 -79
  60. package/dist/testing.mjs +6 -5
  61. package/dist/utils.d.mts +4 -4
  62. package/dist/utils.d.ts +4 -4
  63. package/package.json +4 -1
  64. package/registry/booking-page.json +1 -1
  65. package/registry/chat-widget.json +1 -1
  66. package/registry/customer-input-fields.json +1 -1
  67. package/registry/date-slot-picker.json +1 -1
  68. package/registry/product-customizer.json +1 -1
  69. package/registry/rental-service-card.json +1 -1
@@ -310,6 +310,9 @@ type LineConfiguration = {
310
310
  primary_staff_id?: string;
311
311
  primary_resource_id?: string;
312
312
  scheduling_metadata?: Record<string, unknown>;
313
+ price_basis?: "flat" | "per_person" | "per_duration_unit";
314
+ units?: number;
315
+ duration_unit?: DurationUnit;
313
316
  } | {
314
317
  type: "bundle";
315
318
  variant?: VariantDetails;
@@ -551,6 +554,7 @@ interface CartItemDetails {
551
554
  confirmation_code?: string;
552
555
  service_status?: string;
553
556
  staff_id?: string;
557
+ units?: number;
554
558
  scheduling_metadata?: Record<string, unknown>;
555
559
  bundle_selections?: BundleSelectionInput[];
556
560
  bundle_resolved?: BundleSelectionData;
@@ -609,6 +613,7 @@ interface AddToCartInput {
609
613
  scheduled_end?: string;
610
614
  staff_id?: string;
611
615
  resource_id?: string;
616
+ units?: number;
612
617
  billing_plan_id?: string;
613
618
  customer_inputs?: Array<{
614
619
  field_id: string;
@@ -1554,6 +1559,11 @@ interface components {
1554
1559
  staff_id?: string | null;
1555
1560
  /** @description Assigned or selected primary resource ID (services only) */
1556
1561
  resource_id?: string | null;
1562
+ /**
1563
+ * Format: int32
1564
+ * @description Interchangeable whole units reserved (services only)
1565
+ */
1566
+ units?: number | null;
1557
1567
  scheduling_metadata?: null | components["schemas"]["SchedulingMetadata"];
1558
1568
  /** @description Customer's bundle component selections (bundles only) */
1559
1569
  bundle_selections?: components["schemas"]["BundleSelectionInput"][] | null;
@@ -1686,12 +1696,18 @@ interface components {
1686
1696
  id: string;
1687
1697
  status: string;
1688
1698
  ai_enabled: boolean;
1699
+ needs_human_review: boolean;
1689
1700
  /** Format: int32 */
1690
1701
  message_count: number;
1691
1702
  /** Format: date-time */
1692
1703
  created_at: string;
1693
1704
  /** Format: date-time */
1694
1705
  last_message_at?: string | null;
1706
+ /**
1707
+ * Format: date-time
1708
+ * @description Team-wide read watermark; which agent read is not on this wire.
1709
+ */
1710
+ team_read_at?: string | null;
1695
1711
  };
1696
1712
  ChatConversationResponse: {
1697
1713
  conversation: components["schemas"]["ChatConversation"];
@@ -1704,9 +1720,20 @@ interface components {
1704
1720
  content_type: components["schemas"]["ContentType"];
1705
1721
  attachments: Record<string, never>;
1706
1722
  metadata: Record<string, never>;
1723
+ reply_to?: null | components["schemas"]["ChatReplyContext"];
1707
1724
  /** Format: date-time */
1708
1725
  created_at: string;
1709
1726
  };
1727
+ /**
1728
+ * @description Server-resolved quote context. Self-contained on purpose: the widget's
1729
+ * local id space doesn't survive reloads, so a bare reference would only
1730
+ * resolve for same-session messages.
1731
+ */
1732
+ ChatReplyContext: {
1733
+ id: string;
1734
+ sender_type: components["schemas"]["SenderType"];
1735
+ preview: string;
1736
+ };
1710
1737
  CheckoutApiResponse: {
1711
1738
  order_id: string;
1712
1739
  order_number: string;
@@ -1791,6 +1818,14 @@ interface components {
1791
1818
  tax_info?: null | components["schemas"]["PricePathTaxInfo"];
1792
1819
  pre_tax_price?: string | null;
1793
1820
  };
1821
+ ClaimConversationBody: {
1822
+ access_token: string;
1823
+ };
1824
+ ClaimConversationResponse: {
1825
+ session_token: string;
1826
+ thread_id?: string | null;
1827
+ customer_name: string;
1828
+ };
1794
1829
  CollectionDetailView: {
1795
1830
  collection: components["schemas"]["CollectionView"];
1796
1831
  products: components["schemas"]["ProductView"][];
@@ -2738,6 +2773,10 @@ interface components {
2738
2773
  primary_staff_id?: string | null;
2739
2774
  primary_resource_id?: string | null;
2740
2775
  scheduling_metadata?: null | components["schemas"]["SchedulingMetadata"];
2776
+ price_basis?: null | components["schemas"]["PriceBasis"];
2777
+ /** Format: int32 */
2778
+ units?: number | null;
2779
+ duration_unit?: null | components["schemas"]["DurationUnit"];
2741
2780
  customer_inputs?: components["schemas"]["CustomerInputValue"][];
2742
2781
  /** @enum {string} */
2743
2782
  type: "service";
@@ -2778,6 +2817,19 @@ interface components {
2778
2817
  logo?: string | null;
2779
2818
  currency: string;
2780
2819
  is_open: boolean;
2820
+ description?: string | null;
2821
+ phone?: string | null;
2822
+ /**
2823
+ * Format: date-time
2824
+ * @description Next opening moment; present when the store is closed.
2825
+ */
2826
+ opens_at?: string | null;
2827
+ /**
2828
+ * Format: date-time
2829
+ * @description Current closing moment; present when the store is open.
2830
+ */
2831
+ closes_at?: string | null;
2832
+ hours: components["schemas"]["LiteDayHoursView"][];
2781
2833
  };
2782
2834
  LiteBootstrapCategoryView: {
2783
2835
  id: string;
@@ -2785,11 +2837,27 @@ interface components {
2785
2837
  };
2786
2838
  LiteBootstrapLocationView: {
2787
2839
  id: string;
2840
+ name?: string | null;
2841
+ area?: string | null;
2788
2842
  };
2789
2843
  LiteBootstrapView: {
2790
2844
  business: components["schemas"]["LiteBootstrapBusinessView"];
2791
2845
  categories: components["schemas"]["LiteBootstrapCategoryView"][];
2792
2846
  location?: null | components["schemas"]["LiteBootstrapLocationView"];
2847
+ /** @description Every active branch — more than one means the customer can switch. */
2848
+ locations: components["schemas"]["LiteBootstrapLocationView"][];
2849
+ };
2850
+ LiteDayHoursView: {
2851
+ /**
2852
+ * Format: int32
2853
+ * @description Day of week, 0 = Sunday.
2854
+ */
2855
+ day: number;
2856
+ ranges: components["schemas"]["LiteHoursRangeView"][];
2857
+ };
2858
+ LiteHoursRangeView: {
2859
+ start: string;
2860
+ end: string;
2793
2861
  };
2794
2862
  LiteResourceResponseView: {
2795
2863
  resource: components["schemas"]["LiteResourceView"];
@@ -3144,6 +3212,8 @@ interface components {
3144
3212
  confirmation_code?: string | null;
3145
3213
  primary_staff_id?: string | null;
3146
3214
  primary_resource_id?: string | null;
3215
+ /** Format: int32 */
3216
+ units?: number | null;
3147
3217
  service_status?: string | null;
3148
3218
  base_price: string;
3149
3219
  add_ons_price: string;
@@ -3350,6 +3420,15 @@ interface components {
3350
3420
  /** Format: date-time */
3351
3421
  applied_at: string;
3352
3422
  };
3423
+ /**
3424
+ * @description What a service's price is quoted against, which decides the line-total
3425
+ * multiplier: `Flat` charges once, `PerPerson` scales by party size,
3426
+ * `PerDurationUnit` by the periods stayed (nights, weeks, months — whichever
3427
+ * the service's `duration_unit` counts). Absent falls back to
3428
+ * [`PriceBasis::default_for`] the service's scheduling mode.
3429
+ * @enum {string}
3430
+ */
3431
+ PriceBasis: "flat" | "per_person" | "per_duration_unit";
3353
3432
  PriceDecisionPath: {
3354
3433
  base_price_source: components["schemas"]["PriceSource"];
3355
3434
  adjustments: components["schemas"]["PriceAdjustment"][];
@@ -3507,6 +3586,7 @@ interface components {
3507
3586
  /** Format: int32 */
3508
3587
  duration_minutes?: number | null;
3509
3588
  duration_unit?: null | components["schemas"]["DurationUnit"];
3589
+ price_basis?: null | components["schemas"]["PriceBasis"];
3510
3590
  /** Format: int32 */
3511
3591
  preparation_time_minutes?: number | null;
3512
3592
  /** Format: int32 */
@@ -3543,6 +3623,7 @@ interface components {
3543
3623
  boundary_kind?: null | components["schemas"]["BoundaryKind"];
3544
3624
  boundary_start_label?: string | null;
3545
3625
  boundary_end_label?: string | null;
3626
+ subject_entity_type?: string | null;
3546
3627
  hs_code?: string | null;
3547
3628
  mid_code?: string | null;
3548
3629
  material?: string | null;
@@ -4063,10 +4144,19 @@ interface components {
4063
4144
  * `client_id` is a widget-supplied idempotency key; passed through to
4064
4145
  * `CreateMessage.external_id`, so a retried POST with the same id
4065
4146
  * returns the originally created message instead of inserting twice.
4147
+ * `reply_to_message_id` quotes another message by the id the customer
4148
+ * actually has — `ChatMessageResponse.id`.
4066
4149
  */
4067
4150
  SendMessageBody: {
4068
4151
  content: string;
4069
4152
  client_id?: string | null;
4153
+ reply_to_message_id?: string | null;
4154
+ /**
4155
+ * @description Ids of image uploads made via `/api/v1/uploads` — the only way to
4156
+ * attach media. The server stores the durable storage reference and
4157
+ * presigns at read time.
4158
+ */
4159
+ upload_ids?: string[];
4070
4160
  };
4071
4161
  /** @enum {string} */
4072
4162
  SenderType: "customer" | "agent" | "system" | "bot";
@@ -4752,6 +4842,10 @@ interface Product {
4752
4842
  type: ProductType;
4753
4843
  render_hint?: ProductRenderHint;
4754
4844
  display_mode?: DisplayMode;
4845
+ /** Present on list payloads too — the menu serializes these on every item. */
4846
+ variants?: VariantView[];
4847
+ variant_axes?: VariantAxisWithValues[];
4848
+ add_on_ids?: string[];
4755
4849
  inventory_type: InventoryType;
4756
4850
  variant_strategy: VariantStrategy;
4757
4851
  inventory_status?: {
@@ -4828,6 +4922,7 @@ interface Product {
4828
4922
  max_stay?: number;
4829
4923
  check_in_time?: string;
4830
4924
  check_out_time?: string;
4925
+ price_basis?: "flat" | "per_person" | "per_duration_unit";
4831
4926
  boundary_kind?: BoundaryKind | null;
4832
4927
  boundary_start_label?: string | null;
4833
4928
  boundary_end_label?: string | null;
@@ -4962,9 +5057,7 @@ interface RelatedProductView {
4962
5057
  }
4963
5058
  interface ProductWithDetails extends Product {
4964
5059
  category?: Category;
4965
- variants?: VariantView[];
4966
5060
  add_ons?: AddOnWithOptions[];
4967
- variant_axes?: VariantAxisWithValues[];
4968
5061
  location_prices?: LocationProductPrice[];
4969
5062
  location_availability?: ProductAvailability[];
4970
5063
  time_profiles?: ProductTimeProfile[];
@@ -310,6 +310,9 @@ type LineConfiguration = {
310
310
  primary_staff_id?: string;
311
311
  primary_resource_id?: string;
312
312
  scheduling_metadata?: Record<string, unknown>;
313
+ price_basis?: "flat" | "per_person" | "per_duration_unit";
314
+ units?: number;
315
+ duration_unit?: DurationUnit;
313
316
  } | {
314
317
  type: "bundle";
315
318
  variant?: VariantDetails;
@@ -551,6 +554,7 @@ interface CartItemDetails {
551
554
  confirmation_code?: string;
552
555
  service_status?: string;
553
556
  staff_id?: string;
557
+ units?: number;
554
558
  scheduling_metadata?: Record<string, unknown>;
555
559
  bundle_selections?: BundleSelectionInput[];
556
560
  bundle_resolved?: BundleSelectionData;
@@ -609,6 +613,7 @@ interface AddToCartInput {
609
613
  scheduled_end?: string;
610
614
  staff_id?: string;
611
615
  resource_id?: string;
616
+ units?: number;
612
617
  billing_plan_id?: string;
613
618
  customer_inputs?: Array<{
614
619
  field_id: string;
@@ -1554,6 +1559,11 @@ interface components {
1554
1559
  staff_id?: string | null;
1555
1560
  /** @description Assigned or selected primary resource ID (services only) */
1556
1561
  resource_id?: string | null;
1562
+ /**
1563
+ * Format: int32
1564
+ * @description Interchangeable whole units reserved (services only)
1565
+ */
1566
+ units?: number | null;
1557
1567
  scheduling_metadata?: null | components["schemas"]["SchedulingMetadata"];
1558
1568
  /** @description Customer's bundle component selections (bundles only) */
1559
1569
  bundle_selections?: components["schemas"]["BundleSelectionInput"][] | null;
@@ -1686,12 +1696,18 @@ interface components {
1686
1696
  id: string;
1687
1697
  status: string;
1688
1698
  ai_enabled: boolean;
1699
+ needs_human_review: boolean;
1689
1700
  /** Format: int32 */
1690
1701
  message_count: number;
1691
1702
  /** Format: date-time */
1692
1703
  created_at: string;
1693
1704
  /** Format: date-time */
1694
1705
  last_message_at?: string | null;
1706
+ /**
1707
+ * Format: date-time
1708
+ * @description Team-wide read watermark; which agent read is not on this wire.
1709
+ */
1710
+ team_read_at?: string | null;
1695
1711
  };
1696
1712
  ChatConversationResponse: {
1697
1713
  conversation: components["schemas"]["ChatConversation"];
@@ -1704,9 +1720,20 @@ interface components {
1704
1720
  content_type: components["schemas"]["ContentType"];
1705
1721
  attachments: Record<string, never>;
1706
1722
  metadata: Record<string, never>;
1723
+ reply_to?: null | components["schemas"]["ChatReplyContext"];
1707
1724
  /** Format: date-time */
1708
1725
  created_at: string;
1709
1726
  };
1727
+ /**
1728
+ * @description Server-resolved quote context. Self-contained on purpose: the widget's
1729
+ * local id space doesn't survive reloads, so a bare reference would only
1730
+ * resolve for same-session messages.
1731
+ */
1732
+ ChatReplyContext: {
1733
+ id: string;
1734
+ sender_type: components["schemas"]["SenderType"];
1735
+ preview: string;
1736
+ };
1710
1737
  CheckoutApiResponse: {
1711
1738
  order_id: string;
1712
1739
  order_number: string;
@@ -1791,6 +1818,14 @@ interface components {
1791
1818
  tax_info?: null | components["schemas"]["PricePathTaxInfo"];
1792
1819
  pre_tax_price?: string | null;
1793
1820
  };
1821
+ ClaimConversationBody: {
1822
+ access_token: string;
1823
+ };
1824
+ ClaimConversationResponse: {
1825
+ session_token: string;
1826
+ thread_id?: string | null;
1827
+ customer_name: string;
1828
+ };
1794
1829
  CollectionDetailView: {
1795
1830
  collection: components["schemas"]["CollectionView"];
1796
1831
  products: components["schemas"]["ProductView"][];
@@ -2738,6 +2773,10 @@ interface components {
2738
2773
  primary_staff_id?: string | null;
2739
2774
  primary_resource_id?: string | null;
2740
2775
  scheduling_metadata?: null | components["schemas"]["SchedulingMetadata"];
2776
+ price_basis?: null | components["schemas"]["PriceBasis"];
2777
+ /** Format: int32 */
2778
+ units?: number | null;
2779
+ duration_unit?: null | components["schemas"]["DurationUnit"];
2741
2780
  customer_inputs?: components["schemas"]["CustomerInputValue"][];
2742
2781
  /** @enum {string} */
2743
2782
  type: "service";
@@ -2778,6 +2817,19 @@ interface components {
2778
2817
  logo?: string | null;
2779
2818
  currency: string;
2780
2819
  is_open: boolean;
2820
+ description?: string | null;
2821
+ phone?: string | null;
2822
+ /**
2823
+ * Format: date-time
2824
+ * @description Next opening moment; present when the store is closed.
2825
+ */
2826
+ opens_at?: string | null;
2827
+ /**
2828
+ * Format: date-time
2829
+ * @description Current closing moment; present when the store is open.
2830
+ */
2831
+ closes_at?: string | null;
2832
+ hours: components["schemas"]["LiteDayHoursView"][];
2781
2833
  };
2782
2834
  LiteBootstrapCategoryView: {
2783
2835
  id: string;
@@ -2785,11 +2837,27 @@ interface components {
2785
2837
  };
2786
2838
  LiteBootstrapLocationView: {
2787
2839
  id: string;
2840
+ name?: string | null;
2841
+ area?: string | null;
2788
2842
  };
2789
2843
  LiteBootstrapView: {
2790
2844
  business: components["schemas"]["LiteBootstrapBusinessView"];
2791
2845
  categories: components["schemas"]["LiteBootstrapCategoryView"][];
2792
2846
  location?: null | components["schemas"]["LiteBootstrapLocationView"];
2847
+ /** @description Every active branch — more than one means the customer can switch. */
2848
+ locations: components["schemas"]["LiteBootstrapLocationView"][];
2849
+ };
2850
+ LiteDayHoursView: {
2851
+ /**
2852
+ * Format: int32
2853
+ * @description Day of week, 0 = Sunday.
2854
+ */
2855
+ day: number;
2856
+ ranges: components["schemas"]["LiteHoursRangeView"][];
2857
+ };
2858
+ LiteHoursRangeView: {
2859
+ start: string;
2860
+ end: string;
2793
2861
  };
2794
2862
  LiteResourceResponseView: {
2795
2863
  resource: components["schemas"]["LiteResourceView"];
@@ -3144,6 +3212,8 @@ interface components {
3144
3212
  confirmation_code?: string | null;
3145
3213
  primary_staff_id?: string | null;
3146
3214
  primary_resource_id?: string | null;
3215
+ /** Format: int32 */
3216
+ units?: number | null;
3147
3217
  service_status?: string | null;
3148
3218
  base_price: string;
3149
3219
  add_ons_price: string;
@@ -3350,6 +3420,15 @@ interface components {
3350
3420
  /** Format: date-time */
3351
3421
  applied_at: string;
3352
3422
  };
3423
+ /**
3424
+ * @description What a service's price is quoted against, which decides the line-total
3425
+ * multiplier: `Flat` charges once, `PerPerson` scales by party size,
3426
+ * `PerDurationUnit` by the periods stayed (nights, weeks, months — whichever
3427
+ * the service's `duration_unit` counts). Absent falls back to
3428
+ * [`PriceBasis::default_for`] the service's scheduling mode.
3429
+ * @enum {string}
3430
+ */
3431
+ PriceBasis: "flat" | "per_person" | "per_duration_unit";
3353
3432
  PriceDecisionPath: {
3354
3433
  base_price_source: components["schemas"]["PriceSource"];
3355
3434
  adjustments: components["schemas"]["PriceAdjustment"][];
@@ -3507,6 +3586,7 @@ interface components {
3507
3586
  /** Format: int32 */
3508
3587
  duration_minutes?: number | null;
3509
3588
  duration_unit?: null | components["schemas"]["DurationUnit"];
3589
+ price_basis?: null | components["schemas"]["PriceBasis"];
3510
3590
  /** Format: int32 */
3511
3591
  preparation_time_minutes?: number | null;
3512
3592
  /** Format: int32 */
@@ -3543,6 +3623,7 @@ interface components {
3543
3623
  boundary_kind?: null | components["schemas"]["BoundaryKind"];
3544
3624
  boundary_start_label?: string | null;
3545
3625
  boundary_end_label?: string | null;
3626
+ subject_entity_type?: string | null;
3546
3627
  hs_code?: string | null;
3547
3628
  mid_code?: string | null;
3548
3629
  material?: string | null;
@@ -4063,10 +4144,19 @@ interface components {
4063
4144
  * `client_id` is a widget-supplied idempotency key; passed through to
4064
4145
  * `CreateMessage.external_id`, so a retried POST with the same id
4065
4146
  * returns the originally created message instead of inserting twice.
4147
+ * `reply_to_message_id` quotes another message by the id the customer
4148
+ * actually has — `ChatMessageResponse.id`.
4066
4149
  */
4067
4150
  SendMessageBody: {
4068
4151
  content: string;
4069
4152
  client_id?: string | null;
4153
+ reply_to_message_id?: string | null;
4154
+ /**
4155
+ * @description Ids of image uploads made via `/api/v1/uploads` — the only way to
4156
+ * attach media. The server stores the durable storage reference and
4157
+ * presigns at read time.
4158
+ */
4159
+ upload_ids?: string[];
4070
4160
  };
4071
4161
  /** @enum {string} */
4072
4162
  SenderType: "customer" | "agent" | "system" | "bot";
@@ -4752,6 +4842,10 @@ interface Product {
4752
4842
  type: ProductType;
4753
4843
  render_hint?: ProductRenderHint;
4754
4844
  display_mode?: DisplayMode;
4845
+ /** Present on list payloads too — the menu serializes these on every item. */
4846
+ variants?: VariantView[];
4847
+ variant_axes?: VariantAxisWithValues[];
4848
+ add_on_ids?: string[];
4755
4849
  inventory_type: InventoryType;
4756
4850
  variant_strategy: VariantStrategy;
4757
4851
  inventory_status?: {
@@ -4828,6 +4922,7 @@ interface Product {
4828
4922
  max_stay?: number;
4829
4923
  check_in_time?: string;
4830
4924
  check_out_time?: string;
4925
+ price_basis?: "flat" | "per_person" | "per_duration_unit";
4831
4926
  boundary_kind?: BoundaryKind | null;
4832
4927
  boundary_start_label?: string | null;
4833
4928
  boundary_end_label?: string | null;
@@ -4962,9 +5057,7 @@ interface RelatedProductView {
4962
5057
  }
4963
5058
  interface ProductWithDetails extends Product {
4964
5059
  category?: Category;
4965
- variants?: VariantView[];
4966
5060
  add_ons?: AddOnWithOptions[];
4967
- variant_axes?: VariantAxisWithValues[];
4968
5061
  location_prices?: LocationProductPrice[];
4969
5062
  location_availability?: ProductAvailability[];
4970
5063
  time_profiles?: ProductTimeProfile[];