@blezgo/api-sdk 0.1.2 → 0.1.4

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 (138) hide show
  1. package/dist/account/generated.d.ts +183 -183
  2. package/dist/account/generated.d.ts.map +1 -1
  3. package/dist/activity/generated.d.ts +82 -82
  4. package/dist/activity/generated.d.ts.map +1 -1
  5. package/dist/addon/generated.d.ts +88 -88
  6. package/dist/addon/generated.d.ts.map +1 -1
  7. package/dist/admin/generated.d.ts +42 -42
  8. package/dist/admin/generated.d.ts.map +1 -1
  9. package/dist/affiliate/generated.d.ts +97 -98
  10. package/dist/affiliate/generated.d.ts.map +1 -1
  11. package/dist/analytics/generated.d.ts +27 -27
  12. package/dist/analytics/generated.d.ts.map +1 -1
  13. package/dist/announcements/generated.d.ts +118 -118
  14. package/dist/announcements/generated.d.ts.map +1 -1
  15. package/dist/apikeys/generated.d.ts +46 -46
  16. package/dist/apikeys/generated.d.ts.map +1 -1
  17. package/dist/assistance/generated.d.ts +24 -24
  18. package/dist/assistance/generated.d.ts.map +1 -1
  19. package/dist/authentication/generated.d.ts +73 -73
  20. package/dist/authentication/generated.d.ts.map +1 -1
  21. package/dist/blog/generated.d.ts +142 -142
  22. package/dist/blog/generated.d.ts.map +1 -1
  23. package/dist/bundle/generated.d.ts +124 -124
  24. package/dist/bundle/generated.d.ts.map +1 -1
  25. package/dist/cache/generated.d.ts +32 -32
  26. package/dist/cache/generated.d.ts.map +1 -1
  27. package/dist/calendar/generated.d.ts +59 -59
  28. package/dist/calendar/generated.d.ts.map +1 -1
  29. package/dist/campaigns/generated.d.ts +151 -151
  30. package/dist/campaigns/generated.d.ts.map +1 -1
  31. package/dist/cart/generated.d.ts +41 -41
  32. package/dist/cart/generated.d.ts.map +1 -1
  33. package/dist/changelog/generated.d.ts +90 -90
  34. package/dist/changelog/generated.d.ts.map +1 -1
  35. package/dist/channel/generated.d.ts +256 -256
  36. package/dist/channel/generated.d.ts.map +1 -1
  37. package/dist/company/generated.d.ts +73 -73
  38. package/dist/company/generated.d.ts.map +1 -1
  39. package/dist/conference/generated.d.ts +160 -160
  40. package/dist/conference/generated.d.ts.map +1 -1
  41. package/dist/config/generated.d.ts +57 -57
  42. package/dist/config/generated.d.ts.map +1 -1
  43. package/dist/content/generated.d.ts +620 -620
  44. package/dist/content/generated.d.ts.map +1 -1
  45. package/dist/cookies/generated.d.ts +85 -85
  46. package/dist/cookies/generated.d.ts.map +1 -1
  47. package/dist/courses/generated.d.ts +381 -381
  48. package/dist/courses/generated.d.ts.map +1 -1
  49. package/dist/custom/generated.d.ts +103 -103
  50. package/dist/custom/generated.d.ts.map +1 -1
  51. package/dist/dashboard/generated.d.ts +148 -148
  52. package/dist/dashboard/generated.d.ts.map +1 -1
  53. package/dist/elasticsearch/generated.d.ts +37 -37
  54. package/dist/elasticsearch/generated.d.ts.map +1 -1
  55. package/dist/enrollments/generated.d.ts +21 -21
  56. package/dist/enrollments/generated.d.ts.map +1 -1
  57. package/dist/errors/generated.d.ts +21 -21
  58. package/dist/errors/generated.d.ts.map +1 -1
  59. package/dist/eventconfig/generated.d.ts +88 -88
  60. package/dist/eventconfig/generated.d.ts.map +1 -1
  61. package/dist/funnels/generated.d.ts +124 -125
  62. package/dist/funnels/generated.d.ts.map +1 -1
  63. package/dist/gamification/generated.d.ts +151 -151
  64. package/dist/gamification/generated.d.ts.map +1 -1
  65. package/dist/impersonation/generated.d.ts +33 -33
  66. package/dist/impersonation/generated.d.ts.map +1 -1
  67. package/dist/inbox/generated.d.ts +154 -154
  68. package/dist/inbox/generated.d.ts.map +1 -1
  69. package/dist/internal/generated.d.ts +21 -21
  70. package/dist/internal/generated.d.ts.map +1 -1
  71. package/dist/internationalization/generated.d.ts +23 -23
  72. package/dist/internationalization/generated.d.ts.map +1 -1
  73. package/dist/invitations/generated.d.ts +107 -107
  74. package/dist/invitations/generated.d.ts.map +1 -1
  75. package/dist/meetings/generated.d.ts +332 -332
  76. package/dist/meetings/generated.d.ts.map +1 -1
  77. package/dist/metas/generated.d.ts +200 -200
  78. package/dist/metas/generated.d.ts.map +1 -1
  79. package/dist/notification/generated.d.ts +279 -279
  80. package/dist/notification/generated.d.ts.map +1 -1
  81. package/dist/notifications/generated.d.ts +21 -21
  82. package/dist/notifications/generated.d.ts.map +1 -1
  83. package/dist/onboarding/generated.d.ts +95 -95
  84. package/dist/onboarding/generated.d.ts.map +1 -1
  85. package/dist/packages/generated.d.ts +77 -77
  86. package/dist/packages/generated.d.ts.map +1 -1
  87. package/dist/payments/generated.d.ts +628 -631
  88. package/dist/payments/generated.d.ts.map +1 -1
  89. package/dist/payouts/generated.d.ts +21 -21
  90. package/dist/payouts/generated.d.ts.map +1 -1
  91. package/dist/plans/generated.d.ts +405 -405
  92. package/dist/plans/generated.d.ts.map +1 -1
  93. package/dist/pricing/generated.d.ts +75 -75
  94. package/dist/pricing/generated.d.ts.map +1 -1
  95. package/dist/products/generated.d.ts +420 -420
  96. package/dist/products/generated.d.ts.map +1 -1
  97. package/dist/profile/generated.d.ts +310 -310
  98. package/dist/profile/generated.d.ts.map +1 -1
  99. package/dist/reasons/generated.d.ts +64 -64
  100. package/dist/reasons/generated.d.ts.map +1 -1
  101. package/dist/registration/generated.d.ts +163 -163
  102. package/dist/registration/generated.d.ts.map +1 -1
  103. package/dist/reviews/generated.d.ts +47 -47
  104. package/dist/reviews/generated.d.ts.map +1 -1
  105. package/dist/role/generated.d.ts +944 -446
  106. package/dist/role/generated.d.ts.map +1 -1
  107. package/dist/scheduling/generated.d.ts +76 -76
  108. package/dist/scheduling/generated.d.ts.map +1 -1
  109. package/dist/services/generated.d.ts +1119 -1119
  110. package/dist/services/generated.d.ts.map +1 -1
  111. package/dist/sessions/generated.d.ts +313 -313
  112. package/dist/sessions/generated.d.ts.map +1 -1
  113. package/dist/spaces/generated.d.ts +340 -340
  114. package/dist/spaces/generated.d.ts.map +1 -1
  115. package/dist/storefront/generated.d.ts +21 -21
  116. package/dist/storefront/generated.d.ts.map +1 -1
  117. package/dist/support/generated.d.ts +1624 -1624
  118. package/dist/support/generated.d.ts.map +1 -1
  119. package/dist/sync/generated.d.ts +176 -176
  120. package/dist/sync/generated.d.ts.map +1 -1
  121. package/dist/tenant/generated.d.ts +487 -487
  122. package/dist/tenant/generated.d.ts.map +1 -1
  123. package/dist/testimonials/generated.d.ts +86 -86
  124. package/dist/testimonials/generated.d.ts.map +1 -1
  125. package/dist/tests/generated.d.ts +456 -456
  126. package/dist/tests/generated.d.ts.map +1 -1
  127. package/dist/tokens/generated.d.ts +54 -54
  128. package/dist/tokens/generated.d.ts.map +1 -1
  129. package/dist/uploads/generated.d.ts +65 -65
  130. package/dist/uploads/generated.d.ts.map +1 -1
  131. package/dist/upsell/generated.d.ts +105 -105
  132. package/dist/upsell/generated.d.ts.map +1 -1
  133. package/dist/user/generated.d.ts +272 -527
  134. package/dist/user/generated.d.ts.map +1 -1
  135. package/dist/webinars/generated.d.ts +260 -260
  136. package/dist/webinars/generated.d.ts.map +1 -1
  137. package/package.json +1 -1
  138. package/test-commit.txt +1 -0
@@ -20,7 +20,7 @@ export interface paths {
20
20
  * **Query Parameters**:
21
21
  * - category: Filter by booking, credit, or expert events
22
22
  *
23
- * **Headers**: X-Api-Key (for org_id)
23
+ * **Headers**: Authorization: Bearer {token}
24
24
  */
25
25
  get: operations["getEventConfigurations"];
26
26
  put?: never;
@@ -394,7 +394,7 @@ export interface paths {
394
394
  * **Purpose**: View all pending applications to approve/reject
395
395
  *
396
396
  * **Authentication**: Bearer token (admin)
397
- * **Headers**: X-Api-Key (for org_id)
397
+ * **Headers**: Authorization: Bearer {token}
398
398
  */
399
399
  get: operations["listServiceApplications"];
400
400
  put?: never;
@@ -420,7 +420,7 @@ export interface paths {
420
420
  * **Purpose**: View detailed application info before decision
421
421
  *
422
422
  * **Authentication**: Bearer token (admin)
423
- * **Headers**: X-Api-Key (for org_id)
423
+ * **Headers**: Authorization: Bearer {token}
424
424
  */
425
425
  get: operations["getServiceApplication"];
426
426
  /**
@@ -440,7 +440,7 @@ export interface paths {
440
440
  * ```
441
441
  *
442
442
  * **Authentication**: Bearer token (admin)
443
- * **Headers**: X-Api-Key (for org_id)
443
+ * **Headers**: Authorization: Bearer {token}
444
444
  */
445
445
  put: operations["updateServiceApplication"];
446
446
  post?: never;
@@ -477,7 +477,7 @@ export interface paths {
477
477
  * ```
478
478
  *
479
479
  * **Authentication**: Bearer token (admin)
480
- * **Headers**: X-Api-Key (for org_id)
480
+ * **Headers**: Authorization: Bearer {token}
481
481
  */
482
482
  post: operations["inviteExpertToService"];
483
483
  delete?: never;
@@ -501,7 +501,7 @@ export interface paths {
501
501
  * **Purpose**: Display available experts with filters
502
502
  *
503
503
  * **Authentication**: Optional (public endpoint)
504
- * **Headers**: X-Api-Key (for org_id)
504
+ * **Headers**: Authorization: Bearer {token}
505
505
  */
506
506
  get: operations["getServiceExperts"];
507
507
  put?: never;
@@ -540,7 +540,7 @@ export interface paths {
540
540
  * ```
541
541
  *
542
542
  * **Authentication**: Bearer token (admin)
543
- * **Headers**: X-Api-Key (for org_id)
543
+ * **Headers**: Authorization: Bearer {token}
544
544
  */
545
545
  put: operations["updateServiceExpertSettings"];
546
546
  post?: never;
@@ -552,7 +552,7 @@ export interface paths {
552
552
  * **Purpose**: Terminate expert enrollment
553
553
  *
554
554
  * **Authentication**: Bearer token (admin)
555
- * **Headers**: X-Api-Key (for org_id)
555
+ * **Headers**: Authorization: Bearer {token}
556
556
  */
557
557
  delete: operations["removeServiceExpert"];
558
558
  options?: never;
@@ -575,7 +575,7 @@ export interface paths {
575
575
  * **Purpose**: Discover available opportunities
576
576
  *
577
577
  * **Authentication**: Bearer token (expert)
578
- * **Headers**: X-Api-Key (for org_id)
578
+ * **Headers**: Authorization: Bearer {token}
579
579
  */
580
580
  get: operations["browseOpenServices"];
581
581
  put?: never;
@@ -601,7 +601,7 @@ export interface paths {
601
601
  * **Purpose**: Understand requirements before applying
602
602
  *
603
603
  * **Authentication**: Bearer token (expert)
604
- * **Headers**: X-Api-Key (for org_id)
604
+ * **Headers**: Authorization: Bearer {token}
605
605
  */
606
606
  get: operations["getServiceJoinRequirements"];
607
607
  put?: never;
@@ -638,7 +638,7 @@ export interface paths {
638
638
  * ```
639
639
  *
640
640
  * **Authentication**: Bearer token (expert)
641
- * **Headers**: X-Api-Key (for org_id)
641
+ * **Headers**: Authorization: Bearer {token}
642
642
  */
643
643
  post: operations["applyToService"];
644
644
  delete?: never;
@@ -662,7 +662,7 @@ export interface paths {
662
662
  * **Purpose**: List all services the expert is enrolled in
663
663
  *
664
664
  * **Authentication**: Bearer token (expert)
665
- * **Headers**: X-Api-Key (for org_id)
665
+ * **Headers**: Authorization: Bearer {token}
666
666
  */
667
667
  get: operations["getMyServices"];
668
668
  put?: never;
@@ -688,7 +688,7 @@ export interface paths {
688
688
  * **Purpose**: View settings, stats, and status
689
689
  *
690
690
  * **Authentication**: Bearer token (expert)
691
- * **Headers**: X-Api-Key (for org_id)
691
+ * **Headers**: Authorization: Bearer {token}
692
692
  */
693
693
  get: operations["getMyServiceDetails"];
694
694
  put?: never;
@@ -727,7 +727,7 @@ export interface paths {
727
727
  * ```
728
728
  *
729
729
  * **Authentication**: Bearer token (expert)
730
- * **Headers**: X-Api-Key (for org_id)
730
+ * **Headers**: Authorization: Bearer {token}
731
731
  */
732
732
  put: operations["updateMyServiceSettings"];
733
733
  post?: never;
@@ -754,7 +754,7 @@ export interface paths {
754
754
  * **Purpose**: Stop accepting new bookings temporarily
755
755
  *
756
756
  * **Authentication**: Bearer token (expert)
757
- * **Headers**: X-Api-Key (for org_id)
757
+ * **Headers**: Authorization: Bearer {token}
758
758
  */
759
759
  post: operations["deactivateServiceBookings"];
760
760
  delete?: never;
@@ -778,7 +778,7 @@ export interface paths {
778
778
  * **Purpose**: View current weekly schedule
779
779
  *
780
780
  * **Authentication**: Bearer token (expert)
781
- * **Headers**: X-Api-Key (for org_id)
781
+ * **Headers**: Authorization: Bearer {token}
782
782
  */
783
783
  get: operations["getMyAvailability"];
784
784
  /**
@@ -806,7 +806,7 @@ export interface paths {
806
806
  * ```
807
807
  *
808
808
  * **Authentication**: Bearer token (expert)
809
- * **Headers**: X-Api-Key (for org_id)
809
+ * **Headers**: Authorization: Bearer {token}
810
810
  */
811
811
  put: operations["updateMyAvailability"];
812
812
  post?: never;
@@ -831,7 +831,7 @@ export interface paths {
831
831
  * **Purpose**: View blocked dates and custom hours
832
832
  *
833
833
  * **Authentication**: Bearer token (expert)
834
- * **Headers**: X-Api-Key (for org_id)
834
+ * **Headers**: Authorization: Bearer {token}
835
835
  */
836
836
  get: operations["getMyOverrides"];
837
837
  put?: never;
@@ -864,7 +864,7 @@ export interface paths {
864
864
  * ```
865
865
  *
866
866
  * **Authentication**: Bearer token (expert)
867
- * **Headers**: X-Api-Key (for org_id)
867
+ * **Headers**: Authorization: Bearer {token}
868
868
  */
869
869
  post: operations["addOverride"];
870
870
  delete?: never;
@@ -891,7 +891,7 @@ export interface paths {
891
891
  * **Purpose**: Delete date-specific override
892
892
  *
893
893
  * **Authentication**: Bearer token (expert)
894
- * **Headers**: X-Api-Key (for org_id)
894
+ * **Headers**: Authorization: Bearer {token}
895
895
  */
896
896
  delete: operations["removeOverride"];
897
897
  options?: never;
@@ -914,7 +914,7 @@ export interface paths {
914
914
  * **Purpose**: Display available slots for booking
915
915
  *
916
916
  * **Authentication**: Bearer token (consumer)
917
- * **Headers**: X-Api-Key (for org_id)
917
+ * **Headers**: Authorization: Bearer {token}
918
918
  */
919
919
  get: operations["getExpertAvailableSlots"];
920
920
  put?: never;
@@ -940,7 +940,7 @@ export interface paths {
940
940
  * **Purpose**: Show all available slots from any expert
941
941
  *
942
942
  * **Authentication**: Bearer token (consumer)
943
- * **Headers**: X-Api-Key (for org_id)
943
+ * **Headers**: Authorization: Bearer {token}
944
944
  */
945
945
  get: operations["getServiceAvailableSlots"];
946
946
  put?: never;
@@ -977,7 +977,7 @@ export interface paths {
977
977
  * ```
978
978
  *
979
979
  * **Authentication**: Bearer token (consumer)
980
- * **Headers**: X-Api-Key (for org_id)
980
+ * **Headers**: Authorization: Bearer {token}
981
981
  */
982
982
  post: operations["checkSlotAvailability"];
983
983
  delete?: never;
@@ -1001,7 +1001,7 @@ export interface paths {
1001
1001
  * **Purpose**: Display past and upcoming bookings
1002
1002
  *
1003
1003
  * **Authentication**: Bearer token (user) or X-Guest-Session-ID (guest)
1004
- * **Headers**: X-Api-Key (for org_id)
1004
+ * **Headers**: Authorization: Bearer {token}
1005
1005
  */
1006
1006
  get: operations["listMyBookings"];
1007
1007
  put?: never;
@@ -1026,7 +1026,7 @@ export interface paths {
1026
1026
  * ```
1027
1027
  *
1028
1028
  * **Authentication**: Bearer token (user) or X-Guest-Session-ID (guest)
1029
- * **Headers**: X-Api-Key (for org_id)
1029
+ * **Headers**: Authorization: Bearer {token}
1030
1030
  */
1031
1031
  post: operations["createBooking"];
1032
1032
  delete?: never;
@@ -1050,7 +1050,7 @@ export interface paths {
1050
1050
  * **Purpose**: Display full booking information
1051
1051
  *
1052
1052
  * **Authentication**: Bearer token (user) or X-Guest-Session-ID (guest)
1053
- * **Headers**: X-Api-Key (for org_id)
1053
+ * **Headers**: Authorization: Bearer {token}
1054
1054
  */
1055
1055
  get: operations["getBooking"];
1056
1056
  put?: never;
@@ -1078,7 +1078,7 @@ export interface paths {
1078
1078
  * **Purpose**: Cancel a pending or confirmed booking
1079
1079
  *
1080
1080
  * **Authentication**: Bearer token (user) or X-Guest-Session-ID (guest)
1081
- * **Headers**: X-Api-Key (for org_id)
1081
+ * **Headers**: Authorization: Bearer {token}
1082
1082
  */
1083
1083
  post: operations["cancelBookingAsConsumer"];
1084
1084
  delete?: never;
@@ -1111,7 +1111,7 @@ export interface paths {
1111
1111
  * ```
1112
1112
  *
1113
1113
  * **Authentication**: Bearer token (user) or X-Guest-Session-ID (guest)
1114
- * **Headers**: X-Api-Key (for org_id)
1114
+ * **Headers**: Authorization: Bearer {token}
1115
1115
  */
1116
1116
  post: operations["rescheduleBookingAsConsumer"];
1117
1117
  delete?: never;
@@ -1135,7 +1135,7 @@ export interface paths {
1135
1135
  * **Purpose**: Display expert's booking calendar
1136
1136
  *
1137
1137
  * **Authentication**: Bearer token (expert)
1138
- * **Headers**: X-Api-Key (for org_id)
1138
+ * **Headers**: Authorization: Bearer {token}
1139
1139
  */
1140
1140
  get: operations["listExpertBookings"];
1141
1141
  put?: never;
@@ -1161,7 +1161,7 @@ export interface paths {
1161
1161
  * **Purpose**: Display full booking information
1162
1162
  *
1163
1163
  * **Authentication**: Bearer token (expert)
1164
- * **Headers**: X-Api-Key (for org_id)
1164
+ * **Headers**: Authorization: Bearer {token}
1165
1165
  */
1166
1166
  get: operations["getExpertBooking"];
1167
1167
  put?: never;
@@ -1189,7 +1189,7 @@ export interface paths {
1189
1189
  * **Purpose**: Accept a booking request
1190
1190
  *
1191
1191
  * **Authentication**: Bearer token (expert)
1192
- * **Headers**: X-Api-Key (for org_id)
1192
+ * **Headers**: Authorization: Bearer {token}
1193
1193
  */
1194
1194
  post: operations["confirmBooking"];
1195
1195
  delete?: never;
@@ -1215,7 +1215,7 @@ export interface paths {
1215
1215
  * **Purpose**: Cancel a pending or confirmed booking
1216
1216
  *
1217
1217
  * **Authentication**: Bearer token (expert)
1218
- * **Headers**: X-Api-Key (for org_id)
1218
+ * **Headers**: Authorization: Bearer {token}
1219
1219
  */
1220
1220
  post: operations["cancelBookingAsExpert"];
1221
1221
  delete?: never;
@@ -1250,7 +1250,7 @@ export interface paths {
1250
1250
  * ```
1251
1251
  *
1252
1252
  * **Authentication**: Bearer token (expert)
1253
- * **Headers**: X-Api-Key (for org_id)
1253
+ * **Headers**: Authorization: Bearer {token}
1254
1254
  */
1255
1255
  post: operations["completeBooking"];
1256
1256
  delete?: never;
@@ -1276,7 +1276,7 @@ export interface paths {
1276
1276
  * **Purpose**: Change booking time
1277
1277
  *
1278
1278
  * **Authentication**: Bearer token (expert)
1279
- * **Headers**: X-Api-Key (for org_id)
1279
+ * **Headers**: Authorization: Bearer {token}
1280
1280
  */
1281
1281
  post: operations["rescheduleBookingAsExpert"];
1282
1282
  delete?: never;
@@ -1300,7 +1300,7 @@ export interface paths {
1300
1300
  * **Purpose**: Administrative booking overview
1301
1301
  *
1302
1302
  * **Authentication**: Bearer token (admin)
1303
- * **Headers**: X-Api-Key (for org_id)
1303
+ * **Headers**: Authorization: Bearer {token}
1304
1304
  * **Permissions**: api_access
1305
1305
  */
1306
1306
  get: operations["listServiceBookings"];
@@ -1329,7 +1329,7 @@ export interface paths {
1329
1329
  * **Purpose**: Administrative booking cancellation
1330
1330
  *
1331
1331
  * **Authentication**: Bearer token (admin)
1332
- * **Headers**: X-Api-Key (for org_id)
1332
+ * **Headers**: Authorization: Bearer {token}
1333
1333
  * **Permissions**: api_access
1334
1334
  */
1335
1335
  post: operations["cancelBookingAsAdmin"];
@@ -1354,7 +1354,7 @@ export interface paths {
1354
1354
  * **Purpose**: Display credits from cancelled bookings
1355
1355
  *
1356
1356
  * **Authentication**: Bearer token (user)
1357
- * **Headers**: X-Api-Key (for org_id)
1357
+ * **Headers**: Authorization: Bearer {token}
1358
1358
  */
1359
1359
  get: operations["getMyCredits"];
1360
1360
  put?: never;
@@ -1380,7 +1380,7 @@ export interface paths {
1380
1380
  * **Purpose**: Display full credit information
1381
1381
  *
1382
1382
  * **Authentication**: Bearer token (user)
1383
- * **Headers**: X-Api-Key (for org_id)
1383
+ * **Headers**: Authorization: Bearer {token}
1384
1384
  */
1385
1385
  get: operations["getCreditDetail"];
1386
1386
  put?: never;
@@ -1406,7 +1406,7 @@ export interface paths {
1406
1406
  * **Purpose**: Show applicable credits for a booking
1407
1407
  *
1408
1408
  * **Authentication**: Bearer token (user)
1409
- * **Headers**: X-Api-Key (for org_id)
1409
+ * **Headers**: Authorization: Bearer {token}
1410
1410
  */
1411
1411
  get: operations["getAvailableCreditsForService"];
1412
1412
  put?: never;
@@ -1432,7 +1432,7 @@ export interface paths {
1432
1432
  * **Purpose**: Show credit eligibility before cancelling
1433
1433
  *
1434
1434
  * **Authentication**: Bearer token (user) or X-Guest-Session-ID (guest)
1435
- * **Headers**: X-Api-Key (for org_id)
1435
+ * **Headers**: Authorization: Bearer {token}
1436
1436
  */
1437
1437
  get: operations["getCancellationPreview"];
1438
1438
  put?: never;
@@ -1460,7 +1460,7 @@ export interface paths {
1460
1460
  * **Purpose**: Cancel and receive credit based on policy
1461
1461
  *
1462
1462
  * **Authentication**: Bearer token (user) or X-Guest-Session-ID (guest)
1463
- * **Headers**: X-Api-Key (for org_id)
1463
+ * **Headers**: Authorization: Bearer {token}
1464
1464
  */
1465
1465
  post: operations["cancelBookingWithCredit"];
1466
1466
  delete?: never;
@@ -1484,7 +1484,7 @@ export interface paths {
1484
1484
  * **Purpose**: Show credit issuance info
1485
1485
  *
1486
1486
  * **Authentication**: Bearer token (expert)
1487
- * **Headers**: X-Api-Key (for org_id)
1487
+ * **Headers**: Authorization: Bearer {token}
1488
1488
  */
1489
1489
  get: operations["getExpertCancellationPreview"];
1490
1490
  put?: never;
@@ -1512,7 +1512,7 @@ export interface paths {
1512
1512
  * **Purpose**: Cancel and issue full credit to consumer
1513
1513
  *
1514
1514
  * **Authentication**: Bearer token (expert)
1515
- * **Headers**: X-Api-Key (for org_id)
1515
+ * **Headers**: Authorization: Bearer {token}
1516
1516
  */
1517
1517
  post: operations["cancelBookingAsExpertWithCredit"];
1518
1518
  delete?: never;
@@ -1536,7 +1536,7 @@ export interface paths {
1536
1536
  * **Purpose**: Administrative credit management
1537
1537
  *
1538
1538
  * **Authentication**: Bearer token (admin)
1539
- * **Headers**: X-Api-Key (for org_id)
1539
+ * **Headers**: Authorization: Bearer {token}
1540
1540
  * **Permissions**: api_access
1541
1541
  */
1542
1542
  get: operations["getConsumerCreditsAsAdmin"];
@@ -1565,7 +1565,7 @@ export interface paths {
1565
1565
  * **Purpose**: Administrative credit correction
1566
1566
  *
1567
1567
  * **Authentication**: Bearer token (admin)
1568
- * **Headers**: X-Api-Key (for org_id)
1568
+ * **Headers**: Authorization: Bearer {token}
1569
1569
  * **Permissions**: api_access
1570
1570
  */
1571
1571
  post: operations["voidCredit"];
@@ -1592,7 +1592,7 @@ export interface paths {
1592
1592
  * **Purpose**: Cleanup expired credits
1593
1593
  *
1594
1594
  * **Authentication**: Bearer token (admin)
1595
- * **Headers**: X-Api-Key (for org_id)
1595
+ * **Headers**: Authorization: Bearer {token}
1596
1596
  * **Permissions**: api_access
1597
1597
  */
1598
1598
  post: operations["expireAllCredits"];
@@ -1617,7 +1617,7 @@ export interface paths {
1617
1617
  * **Purpose**: Display service catalog with expert counts
1618
1618
  *
1619
1619
  * **Authentication**: Optional (public endpoint)
1620
- * **Headers**: X-Api-Key (for org_id)
1620
+ * **Headers**: Authorization: Bearer {token}
1621
1621
  */
1622
1622
  get: operations["getServiceCatalog"];
1623
1623
  put?: never;
@@ -1643,7 +1643,7 @@ export interface paths {
1643
1643
  * **Purpose**: Display full service info with booking settings
1644
1644
  *
1645
1645
  * **Authentication**: Optional (public endpoint)
1646
- * **Headers**: X-Api-Key (for org_id)
1646
+ * **Headers**: Authorization: Bearer {token}
1647
1647
  */
1648
1648
  get: operations["getServiceDetailForConsumer"];
1649
1649
  put?: never;
@@ -1669,7 +1669,7 @@ export interface paths {
1669
1669
  * **Purpose**: Display available subjects with expert counts
1670
1670
  *
1671
1671
  * **Authentication**: Optional (public endpoint)
1672
- * **Headers**: X-Api-Key (for org_id)
1672
+ * **Headers**: Authorization: Bearer {token}
1673
1673
  */
1674
1674
  get: operations["getServiceSubjects"];
1675
1675
  put?: never;
@@ -1695,7 +1695,7 @@ export interface paths {
1695
1695
  * **Purpose**: Display expert details and availability summary
1696
1696
  *
1697
1697
  * **Authentication**: Optional (public endpoint)
1698
- * **Headers**: X-Api-Key (for org_id)
1698
+ * **Headers**: Authorization: Bearer {token}
1699
1699
  */
1700
1700
  get: operations["getExpertProfileForConsumer"];
1701
1701
  put?: never;
@@ -1723,7 +1723,7 @@ export interface paths {
1723
1723
  * **Purpose**: Match experts based on criteria and availability
1724
1724
  *
1725
1725
  * **Authentication**: Optional (public endpoint)
1726
- * **Headers**: X-Api-Key (for org_id)
1726
+ * **Headers**: Authorization: Bearer {token}
1727
1727
  */
1728
1728
  post: operations["findBestExpertMatch"];
1729
1729
  delete?: never;
@@ -1747,7 +1747,7 @@ export interface paths {
1747
1747
  * **Purpose**: Return all available slots from any expert
1748
1748
  *
1749
1749
  * **Authentication**: Optional (public endpoint)
1750
- * **Headers**: X-Api-Key (for org_id)
1750
+ * **Headers**: Authorization: Bearer {token}
1751
1751
  */
1752
1752
  get: operations["findAnyAvailableExpert"];
1753
1753
  put?: never;
@@ -1773,7 +1773,7 @@ export interface paths {
1773
1773
  * **Purpose**: Return step-by-step booking flow config
1774
1774
  *
1775
1775
  * **Authentication**: Optional (public endpoint)
1776
- * **Headers**: X-Api-Key (for org_id)
1776
+ * **Headers**: Authorization: Bearer {token}
1777
1777
  */
1778
1778
  get: operations["getBookingFlow"];
1779
1779
  put?: never;
@@ -1801,7 +1801,7 @@ export interface paths {
1801
1801
  * **Purpose**: Validate step data before proceeding
1802
1802
  *
1803
1803
  * **Authentication**: Optional (public endpoint)
1804
- * **Headers**: X-Api-Key (for org_id)
1804
+ * **Headers**: Authorization: Bearer {token}
1805
1805
  */
1806
1806
  post: operations["validateBookingFlowStep"];
1807
1807
  delete?: never;
@@ -1825,7 +1825,7 @@ export interface paths {
1825
1825
  * **Purpose**: Return required fields and options for a step
1826
1826
  *
1827
1827
  * **Authentication**: Optional (public endpoint)
1828
- * **Headers**: X-Api-Key (for org_id)
1828
+ * **Headers**: Authorization: Bearer {token}
1829
1829
  */
1830
1830
  get: operations["getFlowStepRequirements"];
1831
1831
  put?: never;
@@ -1851,7 +1851,7 @@ export interface paths {
1851
1851
  * **Purpose**: Retrieve channel and event notification preferences
1852
1852
  *
1853
1853
  * **Authentication**: Bearer token required
1854
- * **Headers**: X-Api-Key (for org_id)
1854
+ * **Headers**: Authorization: Bearer {token}
1855
1855
  */
1856
1856
  get: operations["getServiceNotificationPreferences"];
1857
1857
  /**
@@ -1878,7 +1878,7 @@ export interface paths {
1878
1878
  * ```
1879
1879
  *
1880
1880
  * **Authentication**: Bearer token required
1881
- * **Headers**: X-Api-Key (for org_id)
1881
+ * **Headers**: Authorization: Bearer {token}
1882
1882
  */
1883
1883
  put: operations["updateServiceNotificationPreferences"];
1884
1884
  post?: never;
@@ -1908,7 +1908,7 @@ export interface paths {
1908
1908
  * - status: Filter by pending, sent, delivered, failed
1909
1909
  *
1910
1910
  * **Authentication**: Bearer token required
1911
- * **Headers**: X-Api-Key (for org_id)
1911
+ * **Headers**: Authorization: Bearer {token}
1912
1912
  */
1913
1913
  get: operations["getNotificationHistory"];
1914
1914
  put?: never;
@@ -1936,7 +1936,7 @@ export interface paths {
1936
1936
  * **Path Parameters**:
1937
1937
  * - event_type: Event type (e.g., booking_created, credit_issued)
1938
1938
  *
1939
- * **Headers**: X-Api-Key (for org_id)
1939
+ * **Headers**: Authorization: Bearer {token}
1940
1940
  */
1941
1941
  get: operations["getEventConfiguration"];
1942
1942
  put?: never;
@@ -1978,7 +1978,7 @@ export interface paths {
1978
1978
  * ```
1979
1979
  *
1980
1980
  * **Authentication**: Bearer token with api_access permission
1981
- * **Headers**: X-Api-Key (for org_id)
1981
+ * **Headers**: Authorization: Bearer {token}
1982
1982
  */
1983
1983
  post: operations["sendManualNotification"];
1984
1984
  delete?: never;
@@ -2005,7 +2005,7 @@ export interface paths {
2005
2005
  * - user_id: Target user ID
2006
2006
  *
2007
2007
  * **Authentication**: Bearer token with api_access permission
2008
- * **Headers**: X-Api-Key (for org_id)
2008
+ * **Headers**: Authorization: Bearer {token}
2009
2009
  */
2010
2010
  get: operations["getUserNotificationHistory"];
2011
2011
  put?: never;
@@ -2031,7 +2031,7 @@ export interface paths {
2031
2031
  * **Purpose**: View configured webhook endpoints
2032
2032
  *
2033
2033
  * **Authentication**: Bearer token with api_access permission
2034
- * **Headers**: X-Api-Key (for org_id)
2034
+ * **Headers**: Authorization: Bearer {token}
2035
2035
  */
2036
2036
  get: operations["listWebhooks"];
2037
2037
  put?: never;
@@ -2053,7 +2053,7 @@ export interface paths {
2053
2053
  * ```
2054
2054
  *
2055
2055
  * **Authentication**: Bearer token with api_access permission
2056
- * **Headers**: X-Api-Key (for org_id)
2056
+ * **Headers**: Authorization: Bearer {token}
2057
2057
  */
2058
2058
  post: operations["createWebhook"];
2059
2059
  delete?: never;
@@ -2083,7 +2083,7 @@ export interface paths {
2083
2083
  * - webhook_id: Webhook ID to delete
2084
2084
  *
2085
2085
  * **Authentication**: Bearer token with api_access permission
2086
- * **Headers**: X-Api-Key (for org_id)
2086
+ * **Headers**: Authorization: Bearer {token}
2087
2087
  */
2088
2088
  delete: operations["deleteWebhook"];
2089
2089
  options?: never;
@@ -2096,259 +2096,223 @@ export type webhooks = Record<string, never>;
2096
2096
  export interface components {
2097
2097
  schemas: {
2098
2098
  /**
2099
- * ServiceStatus
2100
- * @description Service status enum.
2101
- * @enum {string}
2102
- */
2103
- ServiceStatus: "draft" | "active" | "paused" | "archived";
2104
- /**
2105
- * PricePreference
2106
- * @description Price preference for expert matching.
2107
- * @enum {string}
2108
- */
2109
- PricePreference: "low" | "mid" | "high" | "any";
2110
- /**
2111
- * NotificationPreferencesRequest
2112
- * @description Request model for updating notification preferences.
2099
+ * VariantItem
2100
+ * @description Product variant (maps to product_variants_tbl)
2113
2101
  */
2114
- NotificationPreferencesRequest: {
2102
+ VariantItem: {
2115
2103
  /**
2116
- * Timezone
2117
- * @description User timezone (IANA format)
2104
+ * Name
2105
+ * @description Variant display name
2118
2106
  */
2119
- timezone?: string | null;
2107
+ name: string;
2120
2108
  /**
2121
- * Language
2122
- * @description Preferred language code
2109
+ * Sku
2110
+ * @description Stock Keeping Unit
2123
2111
  */
2124
- language?: string | null;
2112
+ sku?: string | null;
2125
2113
  /**
2126
- * Global Enabled
2127
- * @description Master toggle for all notifications
2114
+ * Attributes
2115
+ * @description Custom attributes
2128
2116
  */
2129
- global_enabled?: boolean | null;
2130
- /** Channel Preferences */
2131
- channel_preferences?: components["schemas"]["ChannelPreference"][] | null;
2132
- /** Event Preferences */
2133
- event_preferences?: components["schemas"]["EventPreference"][] | null;
2134
- };
2135
- /**
2136
- * MediaSection
2137
- * @description Product media files - direct media data
2138
- */
2139
- MediaSection: {
2117
+ attributes?: {
2118
+ [key: string]: unknown;
2119
+ } | null;
2140
2120
  /**
2141
- * Media Items
2142
- * @description List of media files to attach to product
2121
+ * Is Default
2122
+ * @description Set as default variant
2123
+ * @default false
2143
2124
  */
2144
- media_items?: components["schemas"]["MediaItem"][] | null;
2145
- };
2146
- /**
2147
- * LocationTypeEnum
2148
- * @description Location type enum.
2149
- * @enum {string}
2150
- */
2151
- LocationTypeEnum: "online" | "in_person";
2152
- /**
2153
- * ExpertMatchRequest
2154
- * @description Request model for expert matching.
2155
- */
2156
- ExpertMatchRequest: {
2125
+ is_default: boolean;
2157
2126
  /**
2158
- * Subject Id
2159
- * @description Required subject
2127
+ * Track Inventory
2128
+ * @description Track stock for this variant
2129
+ * @default false
2160
2130
  */
2161
- subject_id?: string | null;
2131
+ track_inventory: boolean;
2162
2132
  /**
2163
- * Topic Id
2164
- * @description Optional topic
2133
+ * Stock Quantity
2134
+ * @description Initial stock
2165
2135
  */
2166
- topic_id?: string | null;
2136
+ stock_quantity?: number | null;
2167
2137
  /**
2168
- * Preferred Date
2169
- * @description Preferred date (YYYY-MM-DD)
2138
+ * Allow Backorder
2139
+ * @description Allow orders when out of stock
2140
+ * @default false
2170
2141
  */
2171
- preferred_date?: string | null;
2142
+ allow_backorder: boolean;
2172
2143
  /**
2173
- * Preferred Time
2174
- * @description Preferred time (HH:MM)
2144
+ * Weight
2145
+ * @description Weight in kg
2175
2146
  */
2176
- preferred_time?: string | null;
2147
+ weight?: number | null;
2177
2148
  /**
2178
- * Duration Minutes
2179
- * @description Session duration
2180
- * @default 30
2149
+ * Length
2150
+ * @description Length in cm
2181
2151
  */
2182
- duration_minutes: number;
2152
+ length?: number | null;
2183
2153
  /**
2184
- * @description Price preference
2185
- * @default any
2154
+ * Width
2155
+ * @description Width in cm
2186
2156
  */
2187
- price_preference: components["schemas"]["PricePreference"];
2157
+ width?: number | null;
2188
2158
  /**
2189
- * Min Rating
2190
- * @description Minimum rating
2159
+ * Height
2160
+ * @description Height in cm
2191
2161
  */
2192
- min_rating?: number | null;
2193
- };
2194
- Extensions: {
2195
- /** @example GENERIC_ERROR */
2196
- message_code?: string;
2197
- /** @example [] */
2198
- invalid_params?: components["schemas"]["InvalidParam"][];
2199
- extra_data?: Record<string, never> | null;
2200
- /** @example Detailed debug information */
2201
- debug?: string | null;
2202
- };
2203
- /**
2204
- * TimeSlotRequest
2205
- * @description Request model for a single time slot.
2206
- */
2207
- TimeSlotRequest: {
2162
+ height?: number | null;
2208
2163
  /**
2209
- * Starts At Time
2210
- * @description Start time in HH:MM format
2164
+ * Display Order
2165
+ * @description Display order
2166
+ * @default 100
2211
2167
  */
2212
- starts_at_time: string;
2168
+ display_order: number;
2213
2169
  /**
2214
- * Ends At Time
2215
- * @description End time in HH:MM format
2170
+ * Metadata
2171
+ * @description Flexible metadata
2216
2172
  */
2217
- ends_at_time: string;
2218
- };
2219
- InvalidParam: {
2220
- /** @example items[0].quantity */
2221
- field?: string;
2222
- /** @example Input should be greater than or equal to 1 */
2223
- error?: string;
2173
+ metadata?: {
2174
+ [key: string]: unknown;
2175
+ } | null;
2224
2176
  };
2225
2177
  /**
2226
- * BookingCancelRequest
2227
- * @description Request model for cancelling a booking.
2178
+ * ServiceSettingsRequest
2179
+ * @description Request model for service settings.
2228
2180
  */
2229
- BookingCancelRequest: {
2181
+ ServiceSettingsRequest: {
2230
2182
  /**
2231
- * Cancel Reason Id
2232
- * @description Reason ID from msd_reasons_tbl
2183
+ * Min Booking Duration
2184
+ * @description Min duration (minutes)
2233
2185
  */
2234
- cancel_reason_id?: number | null;
2186
+ min_booking_duration?: number | null;
2235
2187
  /**
2236
- * Cancel Reason Text
2237
- * @description Additional cancellation reason
2188
+ * Max Booking Duration
2189
+ * @description Max duration (minutes)
2238
2190
  */
2239
- cancel_reason_text?: string | null;
2240
- };
2241
- /**
2242
- * NotificationChannelEnum
2243
- * @description Notification channel enum.
2244
- * @enum {string}
2245
- */
2246
- NotificationChannelEnum: "email" | "sms" | "push" | "inapp" | "webhook";
2247
- /**
2248
- * BookingCreateRequest
2249
- * @description Request model for creating a booking.
2250
- */
2251
- BookingCreateRequest: {
2191
+ max_booking_duration?: number | null;
2252
2192
  /**
2253
- * Service Id
2254
- * @description External service ID
2193
+ * Booking Duration Step
2194
+ * @description Duration step (minutes)
2255
2195
  */
2256
- service_id: string;
2196
+ booking_duration_step?: number | null;
2257
2197
  /**
2258
- * Expert Id
2259
- * @description Expert user ID
2198
+ * Booking Lead Time Value
2199
+ * @description Lead time (hours)
2260
2200
  */
2261
- expert_id: number;
2201
+ booking_lead_time_value?: number | null;
2202
+ /** Booking Lead Time Handler */
2203
+ booking_lead_time_handler?: string | null;
2262
2204
  /**
2263
- * Starts At
2264
- * @description Start datetime in ISO format (UTC)
2265
- */
2266
- starts_at: string;
2267
- /**
2268
- * Duration Minutes
2269
- * @description Session duration in minutes
2270
- */
2271
- duration_minutes: number;
2272
- /**
2273
- * Timezone
2274
- * @description Consumer's timezone
2275
- * @default UTC
2276
- */
2277
- timezone: string;
2278
- /**
2279
- * Title
2280
- * @description Session title
2205
+ * Buffer Time Before
2206
+ * @description Buffer before (minutes)
2281
2207
  */
2282
- title?: string | null;
2208
+ buffer_time_before?: number | null;
2283
2209
  /**
2284
- * Subject Id
2285
- * @description Subject ID
2210
+ * Buffer Time After
2211
+ * @description Buffer after (minutes)
2286
2212
  */
2287
- subject_id?: number | null;
2213
+ buffer_time_after?: number | null;
2214
+ /** Avoid Back To Back */
2215
+ avoid_back_to_back?: boolean | null;
2288
2216
  /**
2289
- * Topic Id
2290
- * @description Topic ID
2217
+ * Availability Window Days
2218
+ * @description Days ahead to book
2291
2219
  */
2292
- topic_id?: number | null;
2220
+ availability_window_days?: number | null;
2293
2221
  /**
2294
- * Notes
2295
- * @description Consumer notes
2222
+ * First Slot Rounding
2223
+ * @description Round start time
2296
2224
  */
2297
- notes?: string | null;
2225
+ first_slot_rounding?: number | null;
2298
2226
  /**
2299
- * @description Location type
2300
- * @default online
2227
+ * Timeslot Step Size
2228
+ * @description Slot intervals
2301
2229
  */
2302
- location_type: components["schemas"]["LocationTypeEnum"];
2230
+ timeslot_step_size?: number | null;
2231
+ /** Timeslot Format */
2232
+ timeslot_format?: string | null;
2233
+ /** Slot Type */
2234
+ slot_type?: string | null;
2235
+ /** Allow Multiple Booking */
2236
+ allow_multiple_booking?: boolean | null;
2237
+ /** Allow Recurring Booking */
2238
+ allow_recurring_booking?: boolean | null;
2239
+ /** Max Recurring Sessions */
2240
+ max_recurring_sessions?: number | null;
2241
+ /** Selection Format */
2242
+ selection_format?: string | null;
2243
+ /** Display Divided Slots */
2244
+ display_divided_slots?: boolean | null;
2245
+ /** Allow Out Of Availability Request */
2246
+ allow_out_of_availability_request?: boolean | null;
2247
+ /** Custom Session Title Mode */
2248
+ custom_session_title_mode?: string | null;
2249
+ /** Custom Session Title */
2250
+ custom_session_title?: string | null;
2251
+ /** Trial Enabled */
2252
+ trial_enabled?: boolean | null;
2253
+ /** Trial Duration */
2254
+ trial_duration?: number | null;
2255
+ /** Trial Price */
2256
+ trial_price?: number | string | null;
2257
+ /** Trial Limit Per Consumer */
2258
+ trial_limit_per_consumer?: number | null;
2259
+ };
2260
+ /**
2261
+ * FlowStepValidationRequest
2262
+ * @description Request model for validating a flow step.
2263
+ */
2264
+ FlowStepValidationRequest: {
2303
2265
  /**
2304
- * Location Details
2305
- * @description Location details (address for in-person)
2266
+ * Step Data
2267
+ * @description Data for this step
2306
2268
  */
2307
- location_details?: {
2269
+ step_data: {
2308
2270
  [key: string]: unknown;
2309
- } | null;
2271
+ };
2272
+ };
2273
+ InvalidParam: {
2274
+ /** @example items[0].quantity */
2275
+ field?: string;
2276
+ /** @example Input should be greater than or equal to 1 */
2277
+ error?: string;
2278
+ };
2279
+ /**
2280
+ * ChannelPreference
2281
+ * @description Channel-specific preference.
2282
+ */
2283
+ ChannelPreference: {
2284
+ channel: components["schemas"]["NotificationChannelEnum"];
2310
2285
  /**
2311
- * @description Booking source type
2312
- * @default direct_booking
2286
+ * Enabled
2287
+ * @default true
2313
2288
  */
2314
- booking_source_type: components["schemas"]["BookingSourceTypeEnum"];
2289
+ enabled: boolean;
2315
2290
  /**
2316
- * Booking Source Id
2317
- * @description Source ID (pack_id, subscription_id)
2291
+ * Quiet Hours Start
2292
+ * @description Start of quiet hours (HH:MM)
2318
2293
  */
2319
- booking_source_id?: number | null;
2294
+ quiet_hours_start?: string | null;
2320
2295
  /**
2321
- * Is Trial
2322
- * @description Is this a trial session?
2323
- * @default false
2296
+ * Quiet Hours End
2297
+ * @description End of quiet hours (HH:MM)
2324
2298
  */
2325
- is_trial: boolean;
2299
+ quiet_hours_end?: string | null;
2326
2300
  };
2327
2301
  /**
2328
- * ExpertSettingsUpdateRequest
2329
- * @description Request model for updating expert settings.
2302
+ * ExpertInviteRequest
2303
+ * @description Request model for inviting an expert to a service.
2330
2304
  */
2331
- ExpertSettingsUpdateRequest: {
2305
+ ExpertInviteRequest: {
2306
+ /**
2307
+ * Expert Id
2308
+ * @description User ID of expert to invite
2309
+ */
2310
+ expert_id: number;
2332
2311
  /**
2333
2312
  * Custom Rate
2334
2313
  * @description Custom rate
2335
2314
  */
2336
2315
  custom_rate?: number | string | null;
2337
- /**
2338
- * Accepts New Bookings
2339
- * @description Accepting new bookings
2340
- */
2341
- accepts_new_bookings?: boolean | null;
2342
- /**
2343
- * Max Daily Bookings
2344
- * @description Max daily bookings
2345
- */
2346
- max_daily_bookings?: number | null;
2347
- /**
2348
- * Auto Confirm Bookings
2349
- * @description Auto-confirm bookings
2350
- */
2351
- auto_confirm_bookings?: boolean | null;
2352
2316
  /**
2353
2317
  * Subjects
2354
2318
  * @description Subject codes/IDs
@@ -2361,292 +2325,482 @@ export interface components {
2361
2325
  topics?: string[] | null;
2362
2326
  };
2363
2327
  /**
2364
- * ServiceProductRequest
2365
- * @description Request model for a single product configuration.
2328
+ * CancellationPolicyRequest
2329
+ * @description Request model for cancellation policy.
2366
2330
  */
2367
- ServiceProductRequest: {
2331
+ CancellationPolicyRequest: {
2368
2332
  /**
2369
2333
  * Product Code
2370
- * @description Product code
2371
- */
2372
- product_code: string;
2373
- /**
2374
- * Is Enabled
2375
- * @description Enable status
2376
- * @default true
2377
- */
2378
- is_enabled: boolean;
2379
- /**
2380
- * Display Order
2381
- * @default 100
2382
- */
2383
- display_order: number;
2384
- /**
2385
- * Product Id
2386
- * @description Link to product_tbl
2334
+ * @description NULL for service-wide default
2387
2335
  */
2388
- product_id?: number | null;
2389
- /** Custom Settings */
2390
- custom_settings?: {
2391
- [key: string]: unknown;
2392
- } | null;
2336
+ product_code?: string | null;
2337
+ /** Consumer Cancel Allowed */
2338
+ consumer_cancel_allowed?: boolean | null;
2339
+ /** Consumer Cancel Window Hours */
2340
+ consumer_cancel_window_hours?: number | null;
2341
+ /** Consumer In Window Credit */
2342
+ consumer_in_window_credit?: boolean | null;
2343
+ /** Consumer Out Window Credit */
2344
+ consumer_out_window_credit?: boolean | null;
2345
+ /** Consumer Cancel Reason Required */
2346
+ consumer_cancel_reason_required?: boolean | null;
2347
+ /** Consumer Reschedule Allowed */
2348
+ consumer_reschedule_allowed?: boolean | null;
2349
+ /** Expert Cancel Allowed */
2350
+ expert_cancel_allowed?: boolean | null;
2351
+ /** Expert Cancel Window Hours */
2352
+ expert_cancel_window_hours?: number | null;
2353
+ /** Expert In Window Credit */
2354
+ expert_in_window_credit?: boolean | null;
2355
+ /** Expert Out Window Credit */
2356
+ expert_out_window_credit?: boolean | null;
2357
+ /** Expert Reschedule Allowed */
2358
+ expert_reschedule_allowed?: boolean | null;
2359
+ /** Credit Expiry Hours */
2360
+ credit_expiry_hours?: number | null;
2361
+ /** Credit Type */
2362
+ credit_type?: string | null;
2363
+ /** Credit Transferable */
2364
+ credit_transferable?: boolean | null;
2393
2365
  };
2394
2366
  /**
2395
- * WebhookCreateRequest
2396
- * @description Request model for creating a webhook.
2367
+ * LocationTypeEnum
2368
+ * @description Location type enum.
2369
+ * @enum {string}
2397
2370
  */
2398
- WebhookCreateRequest: {
2399
- /**
2400
- * Url
2401
- * @description Webhook endpoint URL
2402
- */
2403
- url: string;
2404
- /**
2405
- * Events
2406
- * @description Events to subscribe to
2407
- */
2408
- events: components["schemas"]["EventTypeEnum"][];
2409
- /**
2410
- * Secret
2411
- * @description Secret for webhook signature
2412
- */
2413
- secret?: string | null;
2371
+ LocationTypeEnum: "online" | "in_person";
2372
+ /**
2373
+ * EventPreference
2374
+ * @description Preference for a specific event type.
2375
+ */
2376
+ EventPreference: {
2377
+ event_type: components["schemas"]["EventTypeEnum"];
2414
2378
  /**
2415
- * Is Active
2416
- * @description Whether webhook is active
2379
+ * Enabled
2417
2380
  * @default true
2418
2381
  */
2419
- is_active: boolean;
2420
- /** Description */
2421
- description?: string | null;
2382
+ enabled: boolean;
2383
+ /** Channels */
2384
+ channels?: components["schemas"]["NotificationChannelEnum"][];
2385
+ };
2386
+ Extensions: {
2387
+ /** @example GENERIC_ERROR */
2388
+ message_code?: string;
2389
+ /** @example [] */
2390
+ invalid_params?: components["schemas"]["InvalidParam"][];
2391
+ extra_data?: Record<string, never> | null;
2392
+ /** @example Detailed debug information */
2393
+ debug?: string | null;
2422
2394
  };
2423
2395
  /**
2424
- * CreditVoidRequest
2425
- * @description Request model for voiding a credit.
2396
+ * ServiceUpdateRequest
2397
+ * @description Request model for updating a service.
2426
2398
  */
2427
- CreditVoidRequest: {
2428
- /**
2429
- * Reason
2430
- * @description Reason for voiding
2431
- */
2432
- reason?: string | null;
2399
+ ServiceUpdateRequest: {
2400
+ /** Title */
2401
+ title?: string | null;
2402
+ /** Description */
2403
+ description?: string | null;
2404
+ /** Short Description */
2405
+ short_description?: string | null;
2406
+ /** Icon */
2407
+ icon?: string | null;
2408
+ /** Banner Url */
2409
+ banner_url?: string | null;
2410
+ /** Display Order */
2411
+ display_order?: number | null;
2412
+ enrollment_mode?: components["schemas"]["EnrollmentMode"] | null;
2413
+ /** Enrollment Requires Approval */
2414
+ enrollment_requires_approval?: boolean | null;
2415
+ /** Max Experts */
2416
+ max_experts?: number | null;
2417
+ expert_fee_type?: components["schemas"]["ExpertFeeType"] | null;
2418
+ /** Expert Fee Product Id */
2419
+ expert_fee_product_id?: number | null;
2420
+ pricing_mode?: components["schemas"]["PricingMode"] | null;
2421
+ /** Org Flat Rate */
2422
+ org_flat_rate?: number | string | null;
2423
+ /** Currency */
2424
+ currency?: string | null;
2425
+ /** Min Rate */
2426
+ min_rate?: number | string | null;
2427
+ /** Max Rate */
2428
+ max_rate?: number | string | null;
2429
+ status?: components["schemas"]["ServiceStatus"] | null;
2433
2430
  };
2434
2431
  /**
2435
- * ServiceSettingsSection
2436
- * @description Service booking configuration (maps to service_settings_tbl)
2432
+ * ServiceSection
2433
+ * @description Service-specific fields (maps to service_tbl)
2437
2434
  */
2438
- ServiceSettingsSection: {
2435
+ ServiceSection: {
2439
2436
  /**
2440
- * Min Booking Duration
2441
- * @description Minimum booking duration in minutes
2442
- * @default 20
2437
+ * Service Code
2438
+ * @description Unique code within org: online-tutoring, makeup-services
2443
2439
  */
2444
- min_booking_duration: number;
2440
+ service_code: string;
2445
2441
  /**
2446
- * Max Booking Duration
2447
- * @description Maximum booking duration in minutes
2448
- * @default 60
2442
+ * Service Type
2443
+ * @description org_service (SRV-at-org), expert_service (SRV-at-exp)
2449
2444
  */
2450
- max_booking_duration: number;
2445
+ service_type: string;
2451
2446
  /**
2452
- * Booking Duration Step
2453
- * @description Duration increment in minutes
2454
- * @default 15
2447
+ * Enrollment Mode
2448
+ * @description open, closed, invite_only, auto_approve
2449
+ * @default open
2455
2450
  */
2456
- booking_duration_step: number;
2451
+ enrollment_mode: string;
2457
2452
  /**
2458
- * Booking Lead Time Value
2459
- * @description Hours before session required
2460
- * @default 2
2453
+ * Enrollment Requires Approval
2454
+ * @description Admin must approve expert applications
2455
+ * @default true
2461
2456
  */
2462
- booking_lead_time_value: number;
2457
+ enrollment_requires_approval: boolean;
2463
2458
  /**
2464
- * Booking Lead Time Handler
2465
- * @description Who controls lead time: org, expert
2466
- * @default org
2459
+ * Max Experts
2460
+ * @description Maximum experts allowed (NULL = unlimited)
2467
2461
  */
2468
- booking_lead_time_handler: string;
2462
+ max_experts?: number | null;
2469
2463
  /**
2470
- * Buffer Time Before
2471
- * @description Minutes gap before session
2472
- * @default 0
2464
+ * Pricing Mode
2465
+ * @description org_flat_rate, expert_defined
2466
+ * @default expert_defined
2473
2467
  */
2474
- buffer_time_before: number;
2468
+ pricing_mode: string;
2475
2469
  /**
2476
- * Buffer Time After
2477
- * @description Minutes gap after session
2478
- * @default 0
2470
+ * Org Flat Rate
2471
+ * @description Flat rate if pricing_mode=org_flat_rate
2479
2472
  */
2480
- buffer_time_after: number;
2473
+ org_flat_rate?: number | null;
2481
2474
  /**
2482
- * Avoid Back To Back
2483
- * @description Enforce buffer between sessions
2484
- * @default false
2475
+ * Currency
2476
+ * @description Currency code: USD, EUR, INR
2477
+ * @default USD
2485
2478
  */
2486
- avoid_back_to_back: boolean;
2479
+ currency: string;
2487
2480
  /**
2488
- * Availability Window Days
2489
- * @description Max days ahead consumer can book
2490
- * @default 90
2481
+ * Min Rate
2482
+ * @description Minimum rate for experts (rate constraint)
2491
2483
  */
2492
- availability_window_days: number;
2484
+ min_rate?: number | null;
2493
2485
  /**
2494
- * First Slot Rounding
2495
- * @description Round first available slot to nearest X minutes
2496
- * @default 15
2486
+ * Max Rate
2487
+ * @description Maximum rate for experts (rate constraint)
2497
2488
  */
2498
- first_slot_rounding: number;
2489
+ max_rate?: number | null;
2499
2490
  /**
2500
- * Allow Recurring Bookings
2501
- * @description Allow recurring bookings
2502
- * @default false
2491
+ * Site Level
2492
+ * @description True = org products (SRV-at-org), False = expert products (SRV-at-exp)
2493
+ * @default true
2503
2494
  */
2504
- allow_recurring_bookings: boolean;
2495
+ site_level: boolean;
2496
+ };
2497
+ /**
2498
+ * WeeklyTemplateRequest
2499
+ * @description Request model for updating weekly availability template.
2500
+ */
2501
+ WeeklyTemplateRequest: {
2505
2502
  /**
2506
- * Max Recurring Sessions
2507
- * @description Max sessions in recurring series
2503
+ * Timezone
2504
+ * @description Expert's timezone (IANA format)
2505
+ * @default UTC
2508
2506
  */
2509
- max_recurring_sessions?: number | null;
2507
+ timezone: string;
2508
+ /** Sunday */
2509
+ sunday?: components["schemas"]["TimeSlotRequest"][] | null;
2510
+ /** Monday */
2511
+ monday?: components["schemas"]["TimeSlotRequest"][] | null;
2512
+ /** Tuesday */
2513
+ tuesday?: components["schemas"]["TimeSlotRequest"][] | null;
2514
+ /** Wednesday */
2515
+ wednesday?: components["schemas"]["TimeSlotRequest"][] | null;
2516
+ /** Thursday */
2517
+ thursday?: components["schemas"]["TimeSlotRequest"][] | null;
2518
+ /** Friday */
2519
+ friday?: components["schemas"]["TimeSlotRequest"][] | null;
2520
+ /** Saturday */
2521
+ saturday?: components["schemas"]["TimeSlotRequest"][] | null;
2522
+ };
2523
+ /**
2524
+ * ExpertMatchRequest
2525
+ * @description Request model for expert matching.
2526
+ */
2527
+ ExpertMatchRequest: {
2510
2528
  /**
2511
- * Enable Trial Sessions
2512
- * @description Enable trial/sample sessions
2513
- * @default false
2529
+ * Subject Id
2530
+ * @description Required subject
2514
2531
  */
2515
- enable_trial_sessions: boolean;
2532
+ subject_id?: string | null;
2516
2533
  /**
2517
- * Trial Session Duration
2518
- * @description Trial session duration in minutes
2534
+ * Topic Id
2535
+ * @description Optional topic
2519
2536
  */
2520
- trial_session_duration?: number | null;
2537
+ topic_id?: string | null;
2521
2538
  /**
2522
- * Trial Session Price
2523
- * @description Trial session price (0 for free)
2539
+ * Preferred Date
2540
+ * @description Preferred date (YYYY-MM-DD)
2524
2541
  */
2525
- trial_session_price?: number | null;
2526
- };
2527
- /**
2528
- * CancellationPolicyRequest
2529
- * @description Request model for cancellation policy.
2530
- */
2531
- CancellationPolicyRequest: {
2542
+ preferred_date?: string | null;
2532
2543
  /**
2533
- * Product Code
2534
- * @description NULL for service-wide default
2544
+ * Preferred Time
2545
+ * @description Preferred time (HH:MM)
2535
2546
  */
2536
- product_code?: string | null;
2537
- /** Consumer Cancel Allowed */
2538
- consumer_cancel_allowed?: boolean | null;
2539
- /** Consumer Cancel Window Hours */
2540
- consumer_cancel_window_hours?: number | null;
2541
- /** Consumer In Window Credit */
2542
- consumer_in_window_credit?: boolean | null;
2543
- /** Consumer Out Window Credit */
2544
- consumer_out_window_credit?: boolean | null;
2545
- /** Consumer Cancel Reason Required */
2546
- consumer_cancel_reason_required?: boolean | null;
2547
- /** Consumer Reschedule Allowed */
2548
- consumer_reschedule_allowed?: boolean | null;
2549
- /** Expert Cancel Allowed */
2550
- expert_cancel_allowed?: boolean | null;
2551
- /** Expert Cancel Window Hours */
2552
- expert_cancel_window_hours?: number | null;
2553
- /** Expert In Window Credit */
2554
- expert_in_window_credit?: boolean | null;
2555
- /** Expert Out Window Credit */
2556
- expert_out_window_credit?: boolean | null;
2557
- /** Expert Reschedule Allowed */
2558
- expert_reschedule_allowed?: boolean | null;
2559
- /** Credit Expiry Hours */
2560
- credit_expiry_hours?: number | null;
2561
- /** Credit Type */
2562
- credit_type?: string | null;
2563
- /** Credit Transferable */
2564
- credit_transferable?: boolean | null;
2565
- };
2566
- /**
2567
- * ExpertApplyRequest
2568
- * @description Request model for expert applying to a service.
2569
- */
2570
- ExpertApplyRequest: {
2547
+ preferred_time?: string | null;
2571
2548
  /**
2572
- * Custom Rate
2573
- * @description Custom rate if allowed
2549
+ * Duration Minutes
2550
+ * @description Session duration
2551
+ * @default 30
2574
2552
  */
2575
- custom_rate?: number | string | null;
2553
+ duration_minutes: number;
2576
2554
  /**
2577
- * Subjects
2578
- * @description Subject codes/IDs
2555
+ * @description Price preference
2556
+ * @default any
2579
2557
  */
2580
- subjects?: string[] | null;
2558
+ price_preference: components["schemas"]["PricePreference"];
2581
2559
  /**
2582
- * Topics
2583
- * @description Topic codes/IDs
2560
+ * Min Rating
2561
+ * @description Minimum rating
2584
2562
  */
2585
- topics?: string[] | null;
2563
+ min_rating?: number | null;
2586
2564
  };
2587
2565
  /**
2588
- * ProductSection
2589
- * @description Base product fields (maps to product_tbl)
2566
+ * BookingCreateRequest
2567
+ * @description Request model for creating a booking.
2590
2568
  */
2591
- ProductSection: {
2569
+ BookingCreateRequest: {
2592
2570
  /**
2593
- * Visibility
2594
- * @description public, private, hidden, unlisted
2595
- * @default public
2571
+ * Service Id
2572
+ * @description External service ID
2596
2573
  */
2597
- visibility: string;
2574
+ service_id: string;
2598
2575
  /**
2599
- * Is Digital
2600
- * @description Digital product flag
2601
- * @default true
2576
+ * Expert Id
2577
+ * @description Expert user ID
2602
2578
  */
2603
- is_digital: boolean;
2579
+ expert_id: number;
2604
2580
  /**
2605
- * Company Id
2606
- * @description Multi-company support
2581
+ * Starts At
2582
+ * @description Start datetime in ISO format (UTC)
2607
2583
  */
2608
- company_id?: number | null;
2584
+ starts_at: string;
2609
2585
  /**
2610
- * Status
2611
- * @description draft, published, archived, review_required, deleted
2612
- * @default draft
2586
+ * Duration Minutes
2587
+ * @description Session duration in minutes
2613
2588
  */
2614
- status: string;
2589
+ duration_minutes: number;
2615
2590
  /**
2616
- * Is Org Level
2617
- * @description Org-level vs user-created product
2618
- * @default true
2591
+ * Timezone
2592
+ * @description Consumer's timezone
2593
+ * @default UTC
2619
2594
  */
2620
- is_org_level: boolean;
2595
+ timezone: string;
2621
2596
  /**
2622
- * Staff Id
2623
- * @description Staff/instructor delivering product
2597
+ * Title
2598
+ * @description Session title
2624
2599
  */
2625
- staff_id?: number | null;
2600
+ title?: string | null;
2626
2601
  /**
2627
- * Owner Id
2628
- * @description Owner of the product
2602
+ * Subject Id
2603
+ * @description Subject ID
2629
2604
  */
2630
- owner_id?: number | null;
2605
+ subject_id?: number | null;
2631
2606
  /**
2632
- * Featured
2633
- * @description Featured product flag
2607
+ * Topic Id
2608
+ * @description Topic ID
2609
+ */
2610
+ topic_id?: number | null;
2611
+ /**
2612
+ * Notes
2613
+ * @description Consumer notes
2614
+ */
2615
+ notes?: string | null;
2616
+ /**
2617
+ * @description Location type
2618
+ * @default online
2619
+ */
2620
+ location_type: components["schemas"]["LocationTypeEnum"];
2621
+ /**
2622
+ * Location Details
2623
+ * @description Location details (address for in-person)
2624
+ */
2625
+ location_details?: {
2626
+ [key: string]: unknown;
2627
+ } | null;
2628
+ /**
2629
+ * @description Booking source type
2630
+ * @default direct_booking
2631
+ */
2632
+ booking_source_type: components["schemas"]["BookingSourceTypeEnum"];
2633
+ /**
2634
+ * Booking Source Id
2635
+ * @description Source ID (pack_id, subscription_id)
2636
+ */
2637
+ booking_source_id?: number | null;
2638
+ /**
2639
+ * Is Trial
2640
+ * @description Is this a trial session?
2634
2641
  * @default false
2635
2642
  */
2636
- featured: boolean;
2643
+ is_trial: boolean;
2637
2644
  };
2638
2645
  /**
2639
- * BookingSourceTypeEnum
2640
- * @description Booking source type enum.
2646
+ * PricePreference
2647
+ * @description Price preference for expert matching.
2641
2648
  * @enum {string}
2642
2649
  */
2643
- BookingSourceTypeEnum: "direct_booking" | "session_pack" | "subscription" | "credit_bucket";
2650
+ PricePreference: "low" | "mid" | "high" | "any";
2644
2651
  /**
2645
- * EventTypeEnum
2646
- * @description Booking event type enum.
2652
+ * IdentitySection
2653
+ * @description Localized product content (maps to product_identity_tbl)
2654
+ */
2655
+ IdentitySection: {
2656
+ /**
2657
+ * Locale
2658
+ * @description Locale: en-US, es-PR, fr-FR, pt-BR, etc.
2659
+ * @default en-US
2660
+ */
2661
+ locale: string;
2662
+ /**
2663
+ * Title
2664
+ * @description Product title
2665
+ */
2666
+ title: string;
2667
+ /**
2668
+ * Subtitle
2669
+ * @description Product subtitle
2670
+ */
2671
+ subtitle?: string | null;
2672
+ /**
2673
+ * Description
2674
+ * @description Full product description
2675
+ */
2676
+ description?: string | null;
2677
+ /**
2678
+ * Short Description
2679
+ * @description Short description for listings/previews
2680
+ */
2681
+ short_description?: string | null;
2682
+ };
2683
+ /**
2684
+ * ServiceType
2685
+ * @description Service type enum.
2647
2686
  * @enum {string}
2648
2687
  */
2649
- EventTypeEnum: "booking_created" | "booking_confirmed" | "booking_reminder_24h" | "booking_reminder_1h" | "booking_started" | "booking_completed" | "booking_cancelled_by_consumer" | "booking_cancelled_by_expert" | "booking_cancelled_by_admin" | "booking_rescheduled" | "booking_no_show_consumer" | "booking_no_show_expert" | "credit_issued" | "credit_expiring" | "credit_expired" | "credit_used" | "expert_application_received" | "expert_application_approved" | "expert_application_rejected" | "expert_invited" | "expert_activated" | "expert_suspended";
2688
+ ServiceType: "org_service" | "expert_service";
2689
+ /**
2690
+ * OverrideCreateRequest
2691
+ * @description Request model for creating an availability override.
2692
+ */
2693
+ OverrideCreateRequest: {
2694
+ /**
2695
+ * Override Date
2696
+ * @description Date in YYYY-MM-DD format
2697
+ */
2698
+ override_date: string;
2699
+ /** @description 'unavailable' or 'custom' */
2700
+ override_type: components["schemas"]["OverrideTypeEnum"];
2701
+ /**
2702
+ * Starts At Time
2703
+ * @description Start time for custom type (HH:MM)
2704
+ */
2705
+ starts_at_time?: string | null;
2706
+ /**
2707
+ * Ends At Time
2708
+ * @description End time for custom type (HH:MM)
2709
+ */
2710
+ ends_at_time?: string | null;
2711
+ /**
2712
+ * Timezone
2713
+ * @description Expert's timezone
2714
+ * @default UTC
2715
+ */
2716
+ timezone: string;
2717
+ /**
2718
+ * Reason
2719
+ * @description Reason for override
2720
+ */
2721
+ reason?: string | null;
2722
+ };
2723
+ /**
2724
+ * BookingCompleteRequest
2725
+ * @description Request model for completing a booking.
2726
+ */
2727
+ BookingCompleteRequest: {
2728
+ /**
2729
+ * Actual Duration Minutes
2730
+ * @description Actual session duration
2731
+ */
2732
+ actual_duration_minutes?: number | null;
2733
+ /**
2734
+ * Consumer Attended
2735
+ * @description Consumer attended
2736
+ */
2737
+ consumer_attended?: boolean | null;
2738
+ /**
2739
+ * Expert Attended
2740
+ * @description Expert attended
2741
+ */
2742
+ expert_attended?: boolean | null;
2743
+ };
2744
+ /**
2745
+ * ServiceStatus
2746
+ * @description Service status enum.
2747
+ * @enum {string}
2748
+ */
2749
+ ServiceStatus: "draft" | "active" | "paused" | "archived";
2750
+ /**
2751
+ * NotificationChannelEnum
2752
+ * @description Notification channel enum.
2753
+ * @enum {string}
2754
+ */
2755
+ NotificationChannelEnum: "email" | "sms" | "push" | "inapp" | "webhook";
2756
+ /**
2757
+ * EnrollmentMode
2758
+ * @description Expert enrollment mode enum.
2759
+ * @enum {string}
2760
+ */
2761
+ EnrollmentMode: "open" | "closed" | "invite_only" | "auto_approve";
2762
+ /**
2763
+ * ExpertSettingsUpdateRequest
2764
+ * @description Request model for updating expert settings.
2765
+ */
2766
+ ExpertSettingsUpdateRequest: {
2767
+ /**
2768
+ * Custom Rate
2769
+ * @description Custom rate
2770
+ */
2771
+ custom_rate?: number | string | null;
2772
+ /**
2773
+ * Accepts New Bookings
2774
+ * @description Accepting new bookings
2775
+ */
2776
+ accepts_new_bookings?: boolean | null;
2777
+ /**
2778
+ * Max Daily Bookings
2779
+ * @description Max daily bookings
2780
+ */
2781
+ max_daily_bookings?: number | null;
2782
+ /**
2783
+ * Auto Confirm Bookings
2784
+ * @description Auto-confirm bookings
2785
+ */
2786
+ auto_confirm_bookings?: boolean | null;
2787
+ /**
2788
+ * Subjects
2789
+ * @description Subject codes/IDs
2790
+ */
2791
+ subjects?: string[] | null;
2792
+ /**
2793
+ * Topics
2794
+ * @description Topic codes/IDs
2795
+ */
2796
+ topics?: string[] | null;
2797
+ };
2798
+ /**
2799
+ * BookingSourceTypeEnum
2800
+ * @description Booking source type enum.
2801
+ * @enum {string}
2802
+ */
2803
+ BookingSourceTypeEnum: "direct_booking" | "session_pack" | "subscription" | "credit_bucket";
2650
2804
  /**
2651
2805
  * @example {
2652
2806
  * "status": "success",
@@ -2675,150 +2829,82 @@ export interface components {
2675
2829
  error?: components["schemas"]["ErrorResponse"];
2676
2830
  };
2677
2831
  /**
2678
- * BookingRescheduleRequest
2679
- * @description Request model for rescheduling a booking.
2832
+ * MediaItem
2833
+ * @description Single media file item
2680
2834
  */
2681
- BookingRescheduleRequest: {
2835
+ MediaItem: {
2682
2836
  /**
2683
- * New Starts At
2684
- * @description New start datetime in ISO format (UTC)
2837
+ * Media Type
2838
+ * @description logo, banner, promo_video, gallery_image, gallery_video, swatch
2685
2839
  */
2686
- new_starts_at: string;
2687
- };
2688
- /**
2689
- * ServiceProductCreateRequest
2690
- * @description Service creation request - inherits common fields, adds service-specific sections
2691
- * @example {
2692
- * "identity": {
2693
- * "locale": "en-US",
2694
- * "title": "Online Tutoring Service"
2695
- * },
2696
- * "pricing": {
2697
- * "product_price": {
2698
- * "amount": 25,
2699
- * "currency": "USD",
2700
- * "price_type": "one_time"
2701
- * }
2702
- * },
2703
- * "product": {
2704
- * "is_digital": true,
2705
- * "status": "draft",
2706
- * "visibility": "public"
2707
- * },
2708
- * "service": {
2709
- * "enrollment_mode": "open",
2710
- * "max_rate": 100,
2711
- * "min_rate": 15,
2712
- * "pricing_mode": "expert_defined",
2713
- * "service_code": "online-tutoring",
2714
- * "service_type": "expert_service"
2715
- * },
2716
- * "service_settings": {
2717
- * "availability_window_days": 60,
2718
- * "booking_duration_step": 30,
2719
- * "max_booking_duration": 120,
2720
- * "min_booking_duration": 30
2721
- * }
2722
- * }
2723
- */
2724
- ServiceProductCreateRequest: {
2725
- /** @description Base product configuration */
2726
- product: components["schemas"]["ProductSection"];
2727
- /** @description Localized content (title, description) */
2728
- identity: components["schemas"]["IdentitySection"];
2729
- /** @description Pre-uploaded image IDs */
2730
- media?: components["schemas"]["MediaSection"] | null;
2731
- /**
2732
- * Tags
2733
- * @description Tag IDs to associate with product
2734
- */
2735
- tags?: number[] | null;
2736
- /**
2737
- * Variants
2738
- * @description Product variants (optional)
2739
- */
2740
- variants?: components["schemas"]["VariantItem"][] | null;
2741
- /** @description Pricing for product and variants */
2742
- pricing?: components["schemas"]["PricingSection"] | null;
2743
- /** @description Service-specific configuration */
2744
- service: components["schemas"]["ServiceSection"];
2745
- /** @description Service booking settings */
2746
- service_settings: components["schemas"]["ServiceSettingsSection"];
2747
- };
2748
- /**
2749
- * ServiceSection
2750
- * @description Service-specific fields (maps to service_tbl)
2751
- */
2752
- ServiceSection: {
2753
- /**
2754
- * Service Code
2755
- * @description Unique code within org: online-tutoring, makeup-services
2756
- */
2757
- service_code: string;
2840
+ media_type: string;
2758
2841
  /**
2759
- * Service Type
2760
- * @description org_service (SRV-at-org), expert_service (SRV-at-exp)
2842
+ * File Path
2843
+ * @description Path to media file on storage (S3, CDN, local)
2761
2844
  */
2762
- service_type: string;
2845
+ file_path: string;
2763
2846
  /**
2764
- * Enrollment Mode
2765
- * @description open, closed, invite_only, auto_approve
2766
- * @default open
2847
+ * File Name
2848
+ * @description Original filename
2767
2849
  */
2768
- enrollment_mode: string;
2850
+ file_name: string;
2769
2851
  /**
2770
- * Enrollment Requires Approval
2771
- * @description Admin must approve expert applications
2772
- * @default true
2852
+ * File Size
2853
+ * @description File size in bytes
2773
2854
  */
2774
- enrollment_requires_approval: boolean;
2855
+ file_size?: number | null;
2775
2856
  /**
2776
- * Max Experts
2777
- * @description Maximum experts allowed (NULL = unlimited)
2857
+ * Mime Type
2858
+ * @description MIME type (image/png, video/mp4, etc.)
2778
2859
  */
2779
- max_experts?: number | null;
2860
+ mime_type?: string | null;
2780
2861
  /**
2781
- * Pricing Mode
2782
- * @description org_flat_rate, expert_defined
2783
- * @default expert_defined
2862
+ * Width
2863
+ * @description Width in pixels (for images/videos)
2784
2864
  */
2785
- pricing_mode: string;
2865
+ width?: number | null;
2786
2866
  /**
2787
- * Org Flat Rate
2788
- * @description Flat rate if pricing_mode=org_flat_rate
2867
+ * Height
2868
+ * @description Height in pixels (for images/videos)
2789
2869
  */
2790
- org_flat_rate?: number | null;
2870
+ height?: number | null;
2791
2871
  /**
2792
- * Currency
2793
- * @description Currency code: USD, EUR, INR
2794
- * @default USD
2872
+ * Responsive Versions
2873
+ * @description JSON with thumbnail, small, medium, large, xlarge, original paths
2795
2874
  */
2796
- currency: string;
2875
+ responsive_versions?: {
2876
+ [key: string]: string;
2877
+ } | null;
2797
2878
  /**
2798
- * Min Rate
2799
- * @description Minimum rate for experts (rate constraint)
2879
+ * Alt Text
2880
+ * @description Alt text for SEO/accessibility
2800
2881
  */
2801
- min_rate?: number | null;
2882
+ alt_text?: string | null;
2802
2883
  /**
2803
- * Max Rate
2804
- * @description Maximum rate for experts (rate constraint)
2884
+ * Locale
2885
+ * @description Media locale (en-US, es-PR, etc.)
2886
+ * @default en-US
2805
2887
  */
2806
- max_rate?: number | null;
2888
+ locale: string;
2807
2889
  /**
2808
- * Site Level
2809
- * @description True = org products (SRV-at-org), False = expert products (SRV-at-exp)
2810
- * @default true
2890
+ * Display Order
2891
+ * @description Display order
2892
+ * @default 0
2811
2893
  */
2812
- site_level: boolean;
2813
- };
2814
- /** Body_updateServiceApplication */
2815
- Body_updateServiceApplication: {
2894
+ display_order: number;
2816
2895
  /**
2817
- * Action
2818
- * @description approve or reject
2896
+ * Is Primary
2897
+ * @description Mark as primary media
2898
+ * @default false
2819
2899
  */
2820
- action: string;
2900
+ is_primary: boolean;
2821
2901
  };
2902
+ /**
2903
+ * OverrideTypeEnum
2904
+ * @description Override type enum.
2905
+ * @enum {string}
2906
+ */
2907
+ OverrideTypeEnum: "unavailable" | "custom";
2822
2908
  /**
2823
2909
  * SendNotificationRequest
2824
2910
  * @description Request model for sending a manual notification.
@@ -2855,75 +2941,40 @@ export interface components {
2855
2941
  } | null;
2856
2942
  };
2857
2943
  /**
2858
- * ProductPrice
2859
- * @description Base product pricing (maps to product_pricings_tbl with variant_id=NULL)
2944
+ * MediaSection
2945
+ * @description Product media files - direct media data
2860
2946
  */
2861
- ProductPrice: {
2862
- /**
2863
- * Price Type
2864
- * @description free, one_time, subscription, monthly_plan
2865
- */
2866
- price_type: string;
2867
- /**
2868
- * Currency
2869
- * @description Currency code: INR, USD, EUR, etc.
2870
- */
2871
- currency: string;
2872
- /**
2873
- * Amount
2874
- * @description Price amount
2875
- */
2876
- amount: number;
2877
- /**
2878
- * Compare At Amount
2879
- * @description Original/strike-through price
2880
- */
2881
- compare_at_amount?: number | null;
2882
- /**
2883
- * Interval
2884
- * @description day, week, month, year (for subscription)
2885
- */
2886
- interval?: string | null;
2887
- /**
2888
- * Interval Count
2889
- * @description Number of intervals
2890
- */
2891
- interval_count?: number | null;
2892
- /**
2893
- * Trial Period Days
2894
- * @description Free trial days
2895
- */
2896
- trial_period_days?: number | null;
2947
+ MediaSection: {
2897
2948
  /**
2898
- * Initial Amount
2899
- * @description First payment amount
2949
+ * Media Items
2950
+ * @description List of media files to attach to product
2900
2951
  */
2901
- initial_amount?: number | null;
2952
+ media_items?: components["schemas"]["MediaItem"][] | null;
2953
+ };
2954
+ /**
2955
+ * BookingCancelRequest
2956
+ * @description Request model for cancelling a booking.
2957
+ */
2958
+ BookingCancelRequest: {
2902
2959
  /**
2903
- * Gateway
2904
- * @description stripe, razorpay, paypal, etc.
2960
+ * Cancel Reason Id
2961
+ * @description Reason ID from msd_reasons_tbl
2905
2962
  */
2906
- gateway?: string | null;
2963
+ cancel_reason_id?: number | null;
2907
2964
  /**
2908
- * Requires Payment Method Upfront
2909
- * @description Require payment method before trial
2910
- * @default true
2965
+ * Cancel Reason Text
2966
+ * @description Additional cancellation reason
2911
2967
  */
2912
- requires_payment_method_upfront: boolean;
2968
+ cancel_reason_text?: string | null;
2913
2969
  };
2914
2970
  /**
2915
- * ExpertInviteRequest
2916
- * @description Request model for inviting an expert to a service.
2971
+ * ExpertApplyRequest
2972
+ * @description Request model for expert applying to a service.
2917
2973
  */
2918
- ExpertInviteRequest: {
2919
- /**
2920
- * Expert Id
2921
- * @description User ID of expert to invite
2922
- */
2923
- expert_id: number;
2974
+ ExpertApplyRequest: {
2924
2975
  /**
2925
2976
  * Custom Rate
2926
- * @description Custom rate
2977
+ * @description Custom rate if allowed
2927
2978
  */
2928
2979
  custom_rate?: number | string | null;
2929
2980
  /**
@@ -2932,428 +2983,45 @@ export interface components {
2932
2983
  */
2933
2984
  subjects?: string[] | null;
2934
2985
  /**
2935
- * Topics
2936
- * @description Topic codes/IDs
2937
- */
2938
- topics?: string[] | null;
2939
- };
2940
- ErrorResponse: {
2941
- /** @example about:blank */
2942
- type?: string;
2943
- /** @example GENERIC_ERROR */
2944
- code?: string;
2945
- /** @example Client Error */
2946
- title?: string;
2947
- /** @example 400 */
2948
- status?: number;
2949
- /** @example An error occurred */
2950
- detail?: string;
2951
- /** @example /v1/cart/items */
2952
- instance?: string;
2953
- extensions?: components["schemas"]["Extensions"];
2954
- };
2955
- /**
2956
- * FlowStepValidationRequest
2957
- * @description Request model for validating a flow step.
2958
- */
2959
- FlowStepValidationRequest: {
2960
- /**
2961
- * Step Data
2962
- * @description Data for this step
2963
- */
2964
- step_data: {
2965
- [key: string]: unknown;
2966
- };
2967
- };
2968
- /**
2969
- * EventPreference
2970
- * @description Preference for a specific event type.
2971
- */
2972
- EventPreference: {
2973
- event_type: components["schemas"]["EventTypeEnum"];
2974
- /**
2975
- * Enabled
2976
- * @default true
2977
- */
2978
- enabled: boolean;
2979
- /** Channels */
2980
- channels?: components["schemas"]["NotificationChannelEnum"][];
2981
- };
2982
- /**
2983
- * OverrideTypeEnum
2984
- * @description Override type enum.
2985
- * @enum {string}
2986
- */
2987
- OverrideTypeEnum: "unavailable" | "custom";
2988
- /**
2989
- * MediaItem
2990
- * @description Single media file item
2991
- */
2992
- MediaItem: {
2993
- /**
2994
- * Media Type
2995
- * @description logo, banner, promo_video, gallery_image, gallery_video, swatch
2996
- */
2997
- media_type: string;
2998
- /**
2999
- * File Path
3000
- * @description Path to media file on storage (S3, CDN, local)
3001
- */
3002
- file_path: string;
3003
- /**
3004
- * File Name
3005
- * @description Original filename
3006
- */
3007
- file_name: string;
3008
- /**
3009
- * File Size
3010
- * @description File size in bytes
3011
- */
3012
- file_size?: number | null;
3013
- /**
3014
- * Mime Type
3015
- * @description MIME type (image/png, video/mp4, etc.)
3016
- */
3017
- mime_type?: string | null;
3018
- /**
3019
- * Width
3020
- * @description Width in pixels (for images/videos)
3021
- */
3022
- width?: number | null;
3023
- /**
3024
- * Height
3025
- * @description Height in pixels (for images/videos)
3026
- */
3027
- height?: number | null;
3028
- /**
3029
- * Responsive Versions
3030
- * @description JSON with thumbnail, small, medium, large, xlarge, original paths
3031
- */
3032
- responsive_versions?: {
3033
- [key: string]: string;
3034
- } | null;
3035
- /**
3036
- * Alt Text
3037
- * @description Alt text for SEO/accessibility
3038
- */
3039
- alt_text?: string | null;
3040
- /**
3041
- * Locale
3042
- * @description Media locale (en-US, es-PR, etc.)
3043
- * @default en-US
3044
- */
3045
- locale: string;
3046
- /**
3047
- * Display Order
3048
- * @description Display order
3049
- * @default 0
3050
- */
3051
- display_order: number;
3052
- /**
3053
- * Is Primary
3054
- * @description Mark as primary media
3055
- * @default false
3056
- */
3057
- is_primary: boolean;
3058
- };
3059
- /**
3060
- * WeeklyTemplateRequest
3061
- * @description Request model for updating weekly availability template.
3062
- */
3063
- WeeklyTemplateRequest: {
3064
- /**
3065
- * Timezone
3066
- * @description Expert's timezone (IANA format)
3067
- * @default UTC
3068
- */
3069
- timezone: string;
3070
- /** Sunday */
3071
- sunday?: components["schemas"]["TimeSlotRequest"][] | null;
3072
- /** Monday */
3073
- monday?: components["schemas"]["TimeSlotRequest"][] | null;
3074
- /** Tuesday */
3075
- tuesday?: components["schemas"]["TimeSlotRequest"][] | null;
3076
- /** Wednesday */
3077
- wednesday?: components["schemas"]["TimeSlotRequest"][] | null;
3078
- /** Thursday */
3079
- thursday?: components["schemas"]["TimeSlotRequest"][] | null;
3080
- /** Friday */
3081
- friday?: components["schemas"]["TimeSlotRequest"][] | null;
3082
- /** Saturday */
3083
- saturday?: components["schemas"]["TimeSlotRequest"][] | null;
3084
- };
3085
- /**
3086
- * PricingMode
3087
- * @description Service pricing mode enum.
3088
- * @enum {string}
3089
- */
3090
- PricingMode: "org_flat_rate" | "expert_defined";
3091
- /**
3092
- * ChannelPreference
3093
- * @description Channel-specific preference.
3094
- */
3095
- ChannelPreference: {
3096
- channel: components["schemas"]["NotificationChannelEnum"];
3097
- /**
3098
- * Enabled
3099
- * @default true
3100
- */
3101
- enabled: boolean;
3102
- /**
3103
- * Quiet Hours Start
3104
- * @description Start of quiet hours (HH:MM)
3105
- */
3106
- quiet_hours_start?: string | null;
3107
- /**
3108
- * Quiet Hours End
3109
- * @description End of quiet hours (HH:MM)
3110
- */
3111
- quiet_hours_end?: string | null;
3112
- };
3113
- /**
3114
- * ServiceType
3115
- * @description Service type enum.
3116
- * @enum {string}
3117
- */
3118
- ServiceType: "org_service" | "expert_service";
3119
- /**
3120
- * SlotCheckRequest
3121
- * @description Request model for checking a specific slot.
3122
- */
3123
- SlotCheckRequest: {
3124
- /**
3125
- * Expert Id
3126
- * @description Expert user ID
3127
- */
3128
- expert_id: number;
3129
- /**
3130
- * Starts At
3131
- * @description Start datetime in ISO format (UTC)
3132
- */
3133
- starts_at: string;
3134
- /**
3135
- * Duration Minutes
3136
- * @description Session duration in minutes
3137
- */
3138
- duration_minutes: number;
3139
- };
3140
- /**
3141
- * EnrollmentMode
3142
- * @description Expert enrollment mode enum.
3143
- * @enum {string}
3144
- */
3145
- EnrollmentMode: "open" | "closed" | "invite_only" | "auto_approve";
3146
- /**
3147
- * PricingSection
3148
- * @description Pricing configuration (optional - can have product price, variant prices, or both)
3149
- */
3150
- PricingSection: {
3151
- /** @description Base product price (no variant) */
3152
- product_price?: components["schemas"]["ProductPrice"] | null;
3153
- /**
3154
- * Variant Prices
3155
- * @description Variant-specific prices
3156
- */
3157
- variant_prices?: components["schemas"]["VariantPrice"][] | null;
3158
- };
3159
- /**
3160
- * OverrideCreateRequest
3161
- * @description Request model for creating an availability override.
3162
- */
3163
- OverrideCreateRequest: {
3164
- /**
3165
- * Override Date
3166
- * @description Date in YYYY-MM-DD format
3167
- */
3168
- override_date: string;
3169
- /** @description 'unavailable' or 'custom' */
3170
- override_type: components["schemas"]["OverrideTypeEnum"];
3171
- /**
3172
- * Starts At Time
3173
- * @description Start time for custom type (HH:MM)
3174
- */
3175
- starts_at_time?: string | null;
3176
- /**
3177
- * Ends At Time
3178
- * @description End time for custom type (HH:MM)
3179
- */
3180
- ends_at_time?: string | null;
3181
- /**
3182
- * Timezone
3183
- * @description Expert's timezone
3184
- * @default UTC
3185
- */
3186
- timezone: string;
3187
- /**
3188
- * Reason
3189
- * @description Reason for override
3190
- */
3191
- reason?: string | null;
3192
- };
3193
- /**
3194
- * ExpertFeeType
3195
- * @description Expert fee type enum.
3196
- * @enum {string}
3197
- */
3198
- ExpertFeeType: "free" | "one_time" | "subscription";
3199
- /**
3200
- * ServiceProductsUpdateRequest
3201
- * @description Request model for bulk updating service products.
3202
- */
3203
- ServiceProductsUpdateRequest: {
3204
- /** Products */
3205
- products: components["schemas"]["ServiceProductRequest"][];
3206
- };
3207
- /**
3208
- * BookingCompleteRequest
3209
- * @description Request model for completing a booking.
3210
- */
3211
- BookingCompleteRequest: {
3212
- /**
3213
- * Actual Duration Minutes
3214
- * @description Actual session duration
3215
- */
3216
- actual_duration_minutes?: number | null;
3217
- /**
3218
- * Consumer Attended
3219
- * @description Consumer attended
3220
- */
3221
- consumer_attended?: boolean | null;
3222
- /**
3223
- * Expert Attended
3224
- * @description Expert attended
3225
- */
3226
- expert_attended?: boolean | null;
3227
- };
3228
- /**
3229
- * ServiceUpdateRequest
3230
- * @description Request model for updating a service.
3231
- */
3232
- ServiceUpdateRequest: {
3233
- /** Title */
3234
- title?: string | null;
3235
- /** Description */
3236
- description?: string | null;
3237
- /** Short Description */
3238
- short_description?: string | null;
3239
- /** Icon */
3240
- icon?: string | null;
3241
- /** Banner Url */
3242
- banner_url?: string | null;
3243
- /** Display Order */
3244
- display_order?: number | null;
3245
- enrollment_mode?: components["schemas"]["EnrollmentMode"] | null;
3246
- /** Enrollment Requires Approval */
3247
- enrollment_requires_approval?: boolean | null;
3248
- /** Max Experts */
3249
- max_experts?: number | null;
3250
- expert_fee_type?: components["schemas"]["ExpertFeeType"] | null;
3251
- /** Expert Fee Product Id */
3252
- expert_fee_product_id?: number | null;
3253
- pricing_mode?: components["schemas"]["PricingMode"] | null;
3254
- /** Org Flat Rate */
3255
- org_flat_rate?: number | string | null;
3256
- /** Currency */
3257
- currency?: string | null;
3258
- /** Min Rate */
3259
- min_rate?: number | string | null;
3260
- /** Max Rate */
3261
- max_rate?: number | string | null;
3262
- status?: components["schemas"]["ServiceStatus"] | null;
3263
- };
3264
- /**
3265
- * ServiceSettingsRequest
3266
- * @description Request model for service settings.
3267
- */
3268
- ServiceSettingsRequest: {
3269
- /**
3270
- * Min Booking Duration
3271
- * @description Min duration (minutes)
3272
- */
3273
- min_booking_duration?: number | null;
3274
- /**
3275
- * Max Booking Duration
3276
- * @description Max duration (minutes)
3277
- */
3278
- max_booking_duration?: number | null;
3279
- /**
3280
- * Booking Duration Step
3281
- * @description Duration step (minutes)
3282
- */
3283
- booking_duration_step?: number | null;
3284
- /**
3285
- * Booking Lead Time Value
3286
- * @description Lead time (hours)
3287
- */
3288
- booking_lead_time_value?: number | null;
3289
- /** Booking Lead Time Handler */
3290
- booking_lead_time_handler?: string | null;
3291
- /**
3292
- * Buffer Time Before
3293
- * @description Buffer before (minutes)
3294
- */
3295
- buffer_time_before?: number | null;
3296
- /**
3297
- * Buffer Time After
3298
- * @description Buffer after (minutes)
3299
- */
3300
- buffer_time_after?: number | null;
3301
- /** Avoid Back To Back */
3302
- avoid_back_to_back?: boolean | null;
3303
- /**
3304
- * Availability Window Days
3305
- * @description Days ahead to book
3306
- */
3307
- availability_window_days?: number | null;
3308
- /**
3309
- * First Slot Rounding
3310
- * @description Round start time
3311
- */
3312
- first_slot_rounding?: number | null;
3313
- /**
3314
- * Timeslot Step Size
3315
- * @description Slot intervals
3316
- */
3317
- timeslot_step_size?: number | null;
3318
- /** Timeslot Format */
3319
- timeslot_format?: string | null;
3320
- /** Slot Type */
3321
- slot_type?: string | null;
3322
- /** Allow Multiple Booking */
3323
- allow_multiple_booking?: boolean | null;
3324
- /** Allow Recurring Booking */
3325
- allow_recurring_booking?: boolean | null;
3326
- /** Max Recurring Sessions */
3327
- max_recurring_sessions?: number | null;
3328
- /** Selection Format */
3329
- selection_format?: string | null;
3330
- /** Display Divided Slots */
3331
- display_divided_slots?: boolean | null;
3332
- /** Allow Out Of Availability Request */
3333
- allow_out_of_availability_request?: boolean | null;
3334
- /** Custom Session Title Mode */
3335
- custom_session_title_mode?: string | null;
3336
- /** Custom Session Title */
3337
- custom_session_title?: string | null;
3338
- /** Trial Enabled */
3339
- trial_enabled?: boolean | null;
3340
- /** Trial Duration */
3341
- trial_duration?: number | null;
3342
- /** Trial Price */
3343
- trial_price?: number | string | null;
3344
- /** Trial Limit Per Consumer */
3345
- trial_limit_per_consumer?: number | null;
2986
+ * Topics
2987
+ * @description Topic codes/IDs
2988
+ */
2989
+ topics?: string[] | null;
3346
2990
  };
3347
2991
  /**
3348
- * VariantPrice
3349
- * @description Variant-specific pricing (maps to product_pricings_tbl with variant_id set)
2992
+ * WebhookCreateRequest
2993
+ * @description Request model for creating a webhook.
3350
2994
  */
3351
- VariantPrice: {
2995
+ WebhookCreateRequest: {
3352
2996
  /**
3353
- * Variant Index
3354
- * @description Index in variants array (0-based)
2997
+ * Url
2998
+ * @description Webhook endpoint URL
3355
2999
  */
3356
- variant_index: number;
3000
+ url: string;
3001
+ /**
3002
+ * Events
3003
+ * @description Events to subscribe to
3004
+ */
3005
+ events: components["schemas"]["EventTypeEnum"][];
3006
+ /**
3007
+ * Secret
3008
+ * @description Secret for webhook signature
3009
+ */
3010
+ secret?: string | null;
3011
+ /**
3012
+ * Is Active
3013
+ * @description Whether webhook is active
3014
+ * @default true
3015
+ */
3016
+ is_active: boolean;
3017
+ /** Description */
3018
+ description?: string | null;
3019
+ };
3020
+ /**
3021
+ * ProductPrice
3022
+ * @description Base product pricing (maps to product_pricings_tbl with variant_id=NULL)
3023
+ */
3024
+ ProductPrice: {
3357
3025
  /**
3358
3026
  * Price Type
3359
3027
  * @description free, one_time, subscription, monthly_plan
@@ -3361,7 +3029,7 @@ export interface components {
3361
3029
  price_type: string;
3362
3030
  /**
3363
3031
  * Currency
3364
- * @description Currency code
3032
+ * @description Currency code: INR, USD, EUR, etc.
3365
3033
  */
3366
3034
  currency: string;
3367
3035
  /**
@@ -3376,7 +3044,7 @@ export interface components {
3376
3044
  compare_at_amount?: number | null;
3377
3045
  /**
3378
3046
  * Interval
3379
- * @description day, week, month, year
3047
+ * @description day, week, month, year (for subscription)
3380
3048
  */
3381
3049
  interval?: string | null;
3382
3050
  /**
@@ -3407,115 +3075,318 @@ export interface components {
3407
3075
  requires_payment_method_upfront: boolean;
3408
3076
  };
3409
3077
  /**
3410
- * IdentitySection
3411
- * @description Localized product content (maps to product_identity_tbl)
3078
+ * ServiceSettingsSection
3079
+ * @description Service booking configuration (maps to service_settings_tbl)
3412
3080
  */
3413
- IdentitySection: {
3081
+ ServiceSettingsSection: {
3414
3082
  /**
3415
- * Locale
3416
- * @description Locale: en-US, es-PR, fr-FR, pt-BR, etc.
3417
- * @default en-US
3083
+ * Min Booking Duration
3084
+ * @description Minimum booking duration in minutes
3085
+ * @default 20
3418
3086
  */
3419
- locale: string;
3087
+ min_booking_duration: number;
3420
3088
  /**
3421
- * Title
3422
- * @description Product title
3089
+ * Max Booking Duration
3090
+ * @description Maximum booking duration in minutes
3091
+ * @default 60
3423
3092
  */
3424
- title: string;
3093
+ max_booking_duration: number;
3425
3094
  /**
3426
- * Subtitle
3427
- * @description Product subtitle
3095
+ * Booking Duration Step
3096
+ * @description Duration increment in minutes
3097
+ * @default 15
3428
3098
  */
3429
- subtitle?: string | null;
3099
+ booking_duration_step: number;
3430
3100
  /**
3431
- * Description
3432
- * @description Full product description
3101
+ * Booking Lead Time Value
3102
+ * @description Hours before session required
3103
+ * @default 2
3433
3104
  */
3434
- description?: string | null;
3105
+ booking_lead_time_value: number;
3435
3106
  /**
3436
- * Short Description
3437
- * @description Short description for listings/previews
3107
+ * Booking Lead Time Handler
3108
+ * @description Who controls lead time: org, expert
3109
+ * @default org
3438
3110
  */
3439
- short_description?: string | null;
3111
+ booking_lead_time_handler: string;
3112
+ /**
3113
+ * Buffer Time Before
3114
+ * @description Minutes gap before session
3115
+ * @default 0
3116
+ */
3117
+ buffer_time_before: number;
3118
+ /**
3119
+ * Buffer Time After
3120
+ * @description Minutes gap after session
3121
+ * @default 0
3122
+ */
3123
+ buffer_time_after: number;
3124
+ /**
3125
+ * Avoid Back To Back
3126
+ * @description Enforce buffer between sessions
3127
+ * @default false
3128
+ */
3129
+ avoid_back_to_back: boolean;
3130
+ /**
3131
+ * Availability Window Days
3132
+ * @description Max days ahead consumer can book
3133
+ * @default 90
3134
+ */
3135
+ availability_window_days: number;
3136
+ /**
3137
+ * First Slot Rounding
3138
+ * @description Round first available slot to nearest X minutes
3139
+ * @default 15
3140
+ */
3141
+ first_slot_rounding: number;
3142
+ /**
3143
+ * Allow Recurring Bookings
3144
+ * @description Allow recurring bookings
3145
+ * @default false
3146
+ */
3147
+ allow_recurring_bookings: boolean;
3148
+ /**
3149
+ * Max Recurring Sessions
3150
+ * @description Max sessions in recurring series
3151
+ */
3152
+ max_recurring_sessions?: number | null;
3153
+ /**
3154
+ * Enable Trial Sessions
3155
+ * @description Enable trial/sample sessions
3156
+ * @default false
3157
+ */
3158
+ enable_trial_sessions: boolean;
3159
+ /**
3160
+ * Trial Session Duration
3161
+ * @description Trial session duration in minutes
3162
+ */
3163
+ trial_session_duration?: number | null;
3164
+ /**
3165
+ * Trial Session Price
3166
+ * @description Trial session price (0 for free)
3167
+ */
3168
+ trial_session_price?: number | null;
3440
3169
  };
3441
3170
  /**
3442
- * VariantItem
3443
- * @description Product variant (maps to product_variants_tbl)
3171
+ * ProductSection
3172
+ * @description Base product fields (maps to product_tbl)
3444
3173
  */
3445
- VariantItem: {
3174
+ ProductSection: {
3446
3175
  /**
3447
- * Name
3448
- * @description Variant display name
3176
+ * Visibility
3177
+ * @description public, private, hidden, unlisted
3178
+ * @default public
3449
3179
  */
3450
- name: string;
3180
+ visibility: string;
3451
3181
  /**
3452
- * Sku
3453
- * @description Stock Keeping Unit
3182
+ * Is Digital
3183
+ * @description Digital product flag
3184
+ * @default true
3454
3185
  */
3455
- sku?: string | null;
3186
+ is_digital: boolean;
3456
3187
  /**
3457
- * Attributes
3458
- * @description Custom attributes
3188
+ * Company Id
3189
+ * @description Multi-company support
3459
3190
  */
3460
- attributes?: {
3461
- [key: string]: unknown;
3462
- } | null;
3191
+ company_id?: number | null;
3463
3192
  /**
3464
- * Is Default
3465
- * @description Set as default variant
3466
- * @default false
3193
+ * Status
3194
+ * @description draft, published, archived, review_required, deleted
3195
+ * @default draft
3467
3196
  */
3468
- is_default: boolean;
3197
+ status: string;
3469
3198
  /**
3470
- * Track Inventory
3471
- * @description Track stock for this variant
3199
+ * Is Org Level
3200
+ * @description Org-level vs user-created product
3201
+ * @default true
3202
+ */
3203
+ is_org_level: boolean;
3204
+ /**
3205
+ * Staff Id
3206
+ * @description Staff/instructor delivering product
3207
+ */
3208
+ staff_id?: number | null;
3209
+ /**
3210
+ * Owner Id
3211
+ * @description Owner of the product
3212
+ */
3213
+ owner_id?: number | null;
3214
+ /**
3215
+ * Featured
3216
+ * @description Featured product flag
3472
3217
  * @default false
3473
3218
  */
3474
- track_inventory: boolean;
3219
+ featured: boolean;
3220
+ };
3221
+ /**
3222
+ * PricingSection
3223
+ * @description Pricing configuration (optional - can have product price, variant prices, or both)
3224
+ */
3225
+ PricingSection: {
3226
+ /** @description Base product price (no variant) */
3227
+ product_price?: components["schemas"]["ProductPrice"] | null;
3475
3228
  /**
3476
- * Stock Quantity
3477
- * @description Initial stock
3229
+ * Variant Prices
3230
+ * @description Variant-specific prices
3478
3231
  */
3479
- stock_quantity?: number | null;
3232
+ variant_prices?: components["schemas"]["VariantPrice"][] | null;
3233
+ };
3234
+ /**
3235
+ * ServiceProductRequest
3236
+ * @description Request model for a single product configuration.
3237
+ */
3238
+ ServiceProductRequest: {
3239
+ /**
3240
+ * Product Code
3241
+ * @description Product code
3242
+ */
3243
+ product_code: string;
3244
+ /**
3245
+ * Is Enabled
3246
+ * @description Enable status
3247
+ * @default true
3248
+ */
3249
+ is_enabled: boolean;
3250
+ /**
3251
+ * Display Order
3252
+ * @default 100
3253
+ */
3254
+ display_order: number;
3255
+ /**
3256
+ * Product Id
3257
+ * @description Link to product_tbl
3258
+ */
3259
+ product_id?: number | null;
3260
+ /** Custom Settings */
3261
+ custom_settings?: {
3262
+ [key: string]: unknown;
3263
+ } | null;
3264
+ };
3265
+ /**
3266
+ * CreditVoidRequest
3267
+ * @description Request model for voiding a credit.
3268
+ */
3269
+ CreditVoidRequest: {
3270
+ /**
3271
+ * Reason
3272
+ * @description Reason for voiding
3273
+ */
3274
+ reason?: string | null;
3275
+ };
3276
+ /**
3277
+ * NotificationPreferencesRequest
3278
+ * @description Request model for updating notification preferences.
3279
+ */
3280
+ NotificationPreferencesRequest: {
3480
3281
  /**
3481
- * Allow Backorder
3482
- * @description Allow orders when out of stock
3483
- * @default false
3282
+ * Timezone
3283
+ * @description User timezone (IANA format)
3484
3284
  */
3485
- allow_backorder: boolean;
3285
+ timezone?: string | null;
3486
3286
  /**
3487
- * Weight
3488
- * @description Weight in kg
3287
+ * Language
3288
+ * @description Preferred language code
3489
3289
  */
3490
- weight?: number | null;
3290
+ language?: string | null;
3491
3291
  /**
3492
- * Length
3493
- * @description Length in cm
3292
+ * Global Enabled
3293
+ * @description Master toggle for all notifications
3494
3294
  */
3495
- length?: number | null;
3295
+ global_enabled?: boolean | null;
3296
+ /** Channel Preferences */
3297
+ channel_preferences?: components["schemas"]["ChannelPreference"][] | null;
3298
+ /** Event Preferences */
3299
+ event_preferences?: components["schemas"]["EventPreference"][] | null;
3300
+ };
3301
+ /**
3302
+ * ServiceProductsUpdateRequest
3303
+ * @description Request model for bulk updating service products.
3304
+ */
3305
+ ServiceProductsUpdateRequest: {
3306
+ /** Products */
3307
+ products: components["schemas"]["ServiceProductRequest"][];
3308
+ };
3309
+ /**
3310
+ * ServiceProductCreateRequest
3311
+ * @description Service creation request - inherits common fields, adds service-specific sections
3312
+ * @example {
3313
+ * "identity": {
3314
+ * "locale": "en-US",
3315
+ * "title": "Online Tutoring Service"
3316
+ * },
3317
+ * "pricing": {
3318
+ * "product_price": {
3319
+ * "amount": 25,
3320
+ * "currency": "USD",
3321
+ * "price_type": "one_time"
3322
+ * }
3323
+ * },
3324
+ * "product": {
3325
+ * "is_digital": true,
3326
+ * "status": "draft",
3327
+ * "visibility": "public"
3328
+ * },
3329
+ * "service": {
3330
+ * "enrollment_mode": "open",
3331
+ * "max_rate": 100,
3332
+ * "min_rate": 15,
3333
+ * "pricing_mode": "expert_defined",
3334
+ * "service_code": "online-tutoring",
3335
+ * "service_type": "expert_service"
3336
+ * },
3337
+ * "service_settings": {
3338
+ * "availability_window_days": 60,
3339
+ * "booking_duration_step": 30,
3340
+ * "max_booking_duration": 120,
3341
+ * "min_booking_duration": 30
3342
+ * }
3343
+ * }
3344
+ */
3345
+ ServiceProductCreateRequest: {
3346
+ /** @description Base product configuration */
3347
+ product: components["schemas"]["ProductSection"];
3348
+ /** @description Localized content (title, description) */
3349
+ identity: components["schemas"]["IdentitySection"];
3350
+ /** @description Pre-uploaded image IDs */
3351
+ media?: components["schemas"]["MediaSection"] | null;
3496
3352
  /**
3497
- * Width
3498
- * @description Width in cm
3353
+ * Tags
3354
+ * @description Tag IDs to associate with product
3499
3355
  */
3500
- width?: number | null;
3356
+ tags?: number[] | null;
3501
3357
  /**
3502
- * Height
3503
- * @description Height in cm
3358
+ * Variants
3359
+ * @description Product variants (optional)
3504
3360
  */
3505
- height?: number | null;
3361
+ variants?: components["schemas"]["VariantItem"][] | null;
3362
+ /** @description Pricing for product and variants */
3363
+ pricing?: components["schemas"]["PricingSection"] | null;
3364
+ /** @description Service-specific configuration */
3365
+ service: components["schemas"]["ServiceSection"];
3366
+ /** @description Service booking settings */
3367
+ service_settings: components["schemas"]["ServiceSettingsSection"];
3368
+ };
3369
+ /**
3370
+ * ExpertFeeType
3371
+ * @description Expert fee type enum.
3372
+ * @enum {string}
3373
+ */
3374
+ ExpertFeeType: "free" | "one_time" | "subscription";
3375
+ /**
3376
+ * TimeSlotRequest
3377
+ * @description Request model for a single time slot.
3378
+ */
3379
+ TimeSlotRequest: {
3506
3380
  /**
3507
- * Display Order
3508
- * @description Display order
3509
- * @default 100
3381
+ * Starts At Time
3382
+ * @description Start time in HH:MM format
3510
3383
  */
3511
- display_order: number;
3384
+ starts_at_time: string;
3512
3385
  /**
3513
- * Metadata
3514
- * @description Flexible metadata
3386
+ * Ends At Time
3387
+ * @description End time in HH:MM format
3515
3388
  */
3516
- metadata?: {
3517
- [key: string]: unknown;
3518
- } | null;
3389
+ ends_at_time: string;
3519
3390
  };
3520
3391
  /**
3521
3392
  * ServiceCreateRequest
@@ -3618,6 +3489,135 @@ export interface components {
3618
3489
  */
3619
3490
  company_id?: number | null;
3620
3491
  };
3492
+ /**
3493
+ * EventTypeEnum
3494
+ * @description Booking event type enum.
3495
+ * @enum {string}
3496
+ */
3497
+ EventTypeEnum: "booking_created" | "booking_confirmed" | "booking_reminder_24h" | "booking_reminder_1h" | "booking_started" | "booking_completed" | "booking_cancelled_by_consumer" | "booking_cancelled_by_expert" | "booking_cancelled_by_admin" | "booking_rescheduled" | "booking_no_show_consumer" | "booking_no_show_expert" | "credit_issued" | "credit_expiring" | "credit_expired" | "credit_used" | "expert_application_received" | "expert_application_approved" | "expert_application_rejected" | "expert_invited" | "expert_activated" | "expert_suspended";
3498
+ /** Body_updateServiceApplication */
3499
+ Body_updateServiceApplication: {
3500
+ /**
3501
+ * Action
3502
+ * @description approve or reject
3503
+ */
3504
+ action: string;
3505
+ };
3506
+ /**
3507
+ * PricingMode
3508
+ * @description Service pricing mode enum.
3509
+ * @enum {string}
3510
+ */
3511
+ PricingMode: "org_flat_rate" | "expert_defined";
3512
+ /**
3513
+ * SlotCheckRequest
3514
+ * @description Request model for checking a specific slot.
3515
+ */
3516
+ SlotCheckRequest: {
3517
+ /**
3518
+ * Expert Id
3519
+ * @description Expert user ID
3520
+ */
3521
+ expert_id: number;
3522
+ /**
3523
+ * Starts At
3524
+ * @description Start datetime in ISO format (UTC)
3525
+ */
3526
+ starts_at: string;
3527
+ /**
3528
+ * Duration Minutes
3529
+ * @description Session duration in minutes
3530
+ */
3531
+ duration_minutes: number;
3532
+ };
3533
+ /**
3534
+ * VariantPrice
3535
+ * @description Variant-specific pricing (maps to product_pricings_tbl with variant_id set)
3536
+ */
3537
+ VariantPrice: {
3538
+ /**
3539
+ * Variant Index
3540
+ * @description Index in variants array (0-based)
3541
+ */
3542
+ variant_index: number;
3543
+ /**
3544
+ * Price Type
3545
+ * @description free, one_time, subscription, monthly_plan
3546
+ */
3547
+ price_type: string;
3548
+ /**
3549
+ * Currency
3550
+ * @description Currency code
3551
+ */
3552
+ currency: string;
3553
+ /**
3554
+ * Amount
3555
+ * @description Price amount
3556
+ */
3557
+ amount: number;
3558
+ /**
3559
+ * Compare At Amount
3560
+ * @description Original/strike-through price
3561
+ */
3562
+ compare_at_amount?: number | null;
3563
+ /**
3564
+ * Interval
3565
+ * @description day, week, month, year
3566
+ */
3567
+ interval?: string | null;
3568
+ /**
3569
+ * Interval Count
3570
+ * @description Number of intervals
3571
+ */
3572
+ interval_count?: number | null;
3573
+ /**
3574
+ * Trial Period Days
3575
+ * @description Free trial days
3576
+ */
3577
+ trial_period_days?: number | null;
3578
+ /**
3579
+ * Initial Amount
3580
+ * @description First payment amount
3581
+ */
3582
+ initial_amount?: number | null;
3583
+ /**
3584
+ * Gateway
3585
+ * @description stripe, razorpay, paypal, etc.
3586
+ */
3587
+ gateway?: string | null;
3588
+ /**
3589
+ * Requires Payment Method Upfront
3590
+ * @description Require payment method before trial
3591
+ * @default true
3592
+ */
3593
+ requires_payment_method_upfront: boolean;
3594
+ };
3595
+ /**
3596
+ * BookingRescheduleRequest
3597
+ * @description Request model for rescheduling a booking.
3598
+ */
3599
+ BookingRescheduleRequest: {
3600
+ /**
3601
+ * New Starts At
3602
+ * @description New start datetime in ISO format (UTC)
3603
+ */
3604
+ new_starts_at: string;
3605
+ };
3606
+ ErrorResponse: {
3607
+ /** @example about:blank */
3608
+ type?: string;
3609
+ /** @example GENERIC_ERROR */
3610
+ code?: string;
3611
+ /** @example Client Error */
3612
+ title?: string;
3613
+ /** @example 400 */
3614
+ status?: number;
3615
+ /** @example An error occurred */
3616
+ detail?: string;
3617
+ /** @example /v1/cart/items */
3618
+ instance?: string;
3619
+ extensions?: components["schemas"]["Extensions"];
3620
+ };
3621
3621
  };
3622
3622
  responses: never;
3623
3623
  parameters: never;