@blezgo/api-sdk 0.1.2 → 0.1.3

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 (137) hide show
  1. package/dist/account/generated.d.ts +193 -193
  2. package/dist/account/generated.d.ts.map +1 -1
  3. package/dist/activity/generated.d.ts +64 -64
  4. package/dist/activity/generated.d.ts.map +1 -1
  5. package/dist/addon/generated.d.ts +96 -96
  6. package/dist/addon/generated.d.ts.map +1 -1
  7. package/dist/admin/generated.d.ts +120 -120
  8. package/dist/admin/generated.d.ts.map +1 -1
  9. package/dist/affiliate/generated.d.ts +84 -85
  10. package/dist/affiliate/generated.d.ts.map +1 -1
  11. package/dist/analytics/generated.d.ts +15 -15
  12. package/dist/analytics/generated.d.ts.map +1 -1
  13. package/dist/announcements/generated.d.ts +100 -100
  14. package/dist/announcements/generated.d.ts.map +1 -1
  15. package/dist/apikeys/generated.d.ts +100 -100
  16. package/dist/apikeys/generated.d.ts.map +1 -1
  17. package/dist/assistance/generated.d.ts +12 -12
  18. package/dist/assistance/generated.d.ts.map +1 -1
  19. package/dist/authentication/generated.d.ts +95 -95
  20. package/dist/authentication/generated.d.ts.map +1 -1
  21. package/dist/blog/generated.d.ts +169 -169
  22. package/dist/blog/generated.d.ts.map +1 -1
  23. package/dist/bundle/generated.d.ts +168 -168
  24. package/dist/bundle/generated.d.ts.map +1 -1
  25. package/dist/cache/generated.d.ts +38 -38
  26. package/dist/cache/generated.d.ts.map +1 -1
  27. package/dist/calendar/generated.d.ts +38 -38
  28. package/dist/calendar/generated.d.ts.map +1 -1
  29. package/dist/campaigns/generated.d.ts +196 -196
  30. package/dist/campaigns/generated.d.ts.map +1 -1
  31. package/dist/cart/generated.d.ts +9 -9
  32. package/dist/cart/generated.d.ts.map +1 -1
  33. package/dist/changelog/generated.d.ts +88 -88
  34. package/dist/changelog/generated.d.ts.map +1 -1
  35. package/dist/channel/generated.d.ts +252 -252
  36. package/dist/channel/generated.d.ts.map +1 -1
  37. package/dist/company/generated.d.ts +58 -58
  38. package/dist/company/generated.d.ts.map +1 -1
  39. package/dist/conference/generated.d.ts +30 -30
  40. package/dist/conference/generated.d.ts.map +1 -1
  41. package/dist/config/generated.d.ts +25 -25
  42. package/dist/config/generated.d.ts.map +1 -1
  43. package/dist/content/generated.d.ts +658 -658
  44. package/dist/content/generated.d.ts.map +1 -1
  45. package/dist/cookies/generated.d.ts +46 -46
  46. package/dist/cookies/generated.d.ts.map +1 -1
  47. package/dist/courses/generated.d.ts +250 -250
  48. package/dist/courses/generated.d.ts.map +1 -1
  49. package/dist/custom/generated.d.ts +70 -70
  50. package/dist/custom/generated.d.ts.map +1 -1
  51. package/dist/dashboard/generated.d.ts +202 -202
  52. package/dist/dashboard/generated.d.ts.map +1 -1
  53. package/dist/elasticsearch/generated.d.ts +25 -25
  54. package/dist/elasticsearch/generated.d.ts.map +1 -1
  55. package/dist/enrollments/generated.d.ts +9 -9
  56. package/dist/enrollments/generated.d.ts.map +1 -1
  57. package/dist/errors/generated.d.ts +30 -30
  58. package/dist/errors/generated.d.ts.map +1 -1
  59. package/dist/eventconfig/generated.d.ts +103 -103
  60. package/dist/eventconfig/generated.d.ts.map +1 -1
  61. package/dist/funnels/generated.d.ts +94 -95
  62. package/dist/funnels/generated.d.ts.map +1 -1
  63. package/dist/gamification/generated.d.ts +103 -103
  64. package/dist/gamification/generated.d.ts.map +1 -1
  65. package/dist/impersonation/generated.d.ts +77 -77
  66. package/dist/impersonation/generated.d.ts.map +1 -1
  67. package/dist/inbox/generated.d.ts +99 -99
  68. package/dist/inbox/generated.d.ts.map +1 -1
  69. package/dist/internal/generated.d.ts +9 -9
  70. package/dist/internal/generated.d.ts.map +1 -1
  71. package/dist/internationalization/generated.d.ts +11 -11
  72. package/dist/internationalization/generated.d.ts.map +1 -1
  73. package/dist/invitations/generated.d.ts +131 -131
  74. package/dist/invitations/generated.d.ts.map +1 -1
  75. package/dist/meetings/generated.d.ts +251 -251
  76. package/dist/meetings/generated.d.ts.map +1 -1
  77. package/dist/metas/generated.d.ts +183 -183
  78. package/dist/metas/generated.d.ts.map +1 -1
  79. package/dist/notification/generated.d.ts +379 -379
  80. package/dist/notification/generated.d.ts.map +1 -1
  81. package/dist/notifications/generated.d.ts +9 -9
  82. package/dist/notifications/generated.d.ts.map +1 -1
  83. package/dist/onboarding/generated.d.ts +124 -124
  84. package/dist/onboarding/generated.d.ts.map +1 -1
  85. package/dist/packages/generated.d.ts +59 -59
  86. package/dist/packages/generated.d.ts.map +1 -1
  87. package/dist/payments/generated.d.ts +555 -558
  88. package/dist/payments/generated.d.ts.map +1 -1
  89. package/dist/payouts/generated.d.ts +9 -9
  90. package/dist/payouts/generated.d.ts.map +1 -1
  91. package/dist/plans/generated.d.ts +227 -227
  92. package/dist/plans/generated.d.ts.map +1 -1
  93. package/dist/pricing/generated.d.ts +34 -34
  94. package/dist/pricing/generated.d.ts.map +1 -1
  95. package/dist/products/generated.d.ts +610 -610
  96. package/dist/products/generated.d.ts.map +1 -1
  97. package/dist/profile/generated.d.ts +286 -286
  98. package/dist/profile/generated.d.ts.map +1 -1
  99. package/dist/reasons/generated.d.ts +32 -32
  100. package/dist/reasons/generated.d.ts.map +1 -1
  101. package/dist/registration/generated.d.ts +164 -164
  102. package/dist/registration/generated.d.ts.map +1 -1
  103. package/dist/reviews/generated.d.ts +51 -51
  104. package/dist/reviews/generated.d.ts.map +1 -1
  105. package/dist/role/generated.d.ts +899 -401
  106. package/dist/role/generated.d.ts.map +1 -1
  107. package/dist/scheduling/generated.d.ts +156 -156
  108. package/dist/scheduling/generated.d.ts.map +1 -1
  109. package/dist/services/generated.d.ts +1028 -1028
  110. package/dist/services/generated.d.ts.map +1 -1
  111. package/dist/sessions/generated.d.ts +247 -247
  112. package/dist/sessions/generated.d.ts.map +1 -1
  113. package/dist/spaces/generated.d.ts +419 -419
  114. package/dist/spaces/generated.d.ts.map +1 -1
  115. package/dist/storefront/generated.d.ts +9 -9
  116. package/dist/storefront/generated.d.ts.map +1 -1
  117. package/dist/support/generated.d.ts +1510 -1510
  118. package/dist/support/generated.d.ts.map +1 -1
  119. package/dist/sync/generated.d.ts +179 -179
  120. package/dist/sync/generated.d.ts.map +1 -1
  121. package/dist/tenant/generated.d.ts +537 -537
  122. package/dist/tenant/generated.d.ts.map +1 -1
  123. package/dist/testimonials/generated.d.ts +79 -79
  124. package/dist/testimonials/generated.d.ts.map +1 -1
  125. package/dist/tests/generated.d.ts +343 -343
  126. package/dist/tests/generated.d.ts.map +1 -1
  127. package/dist/tokens/generated.d.ts +37 -37
  128. package/dist/tokens/generated.d.ts.map +1 -1
  129. package/dist/uploads/generated.d.ts +33 -33
  130. package/dist/uploads/generated.d.ts.map +1 -1
  131. package/dist/upsell/generated.d.ts +82 -82
  132. package/dist/upsell/generated.d.ts.map +1 -1
  133. package/dist/user/generated.d.ts +280 -541
  134. package/dist/user/generated.d.ts.map +1 -1
  135. package/dist/webinars/generated.d.ts +183 -183
  136. package/dist/webinars/generated.d.ts.map +1 -1
  137. package/package.json +1 -1
@@ -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,59 +2096,174 @@ 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}
2099
+ * CreditVoidRequest
2100
+ * @description Request model for voiding a credit.
2102
2101
  */
2103
- ServiceStatus: "draft" | "active" | "paused" | "archived";
2102
+ CreditVoidRequest: {
2103
+ /**
2104
+ * Reason
2105
+ * @description Reason for voiding
2106
+ */
2107
+ reason?: string | null;
2108
+ };
2104
2109
  /**
2105
- * PricePreference
2106
- * @description Price preference for expert matching.
2107
- * @enum {string}
2110
+ * BookingCancelRequest
2111
+ * @description Request model for cancelling a booking.
2108
2112
  */
2109
- PricePreference: "low" | "mid" | "high" | "any";
2113
+ BookingCancelRequest: {
2114
+ /**
2115
+ * Cancel Reason Id
2116
+ * @description Reason ID from msd_reasons_tbl
2117
+ */
2118
+ cancel_reason_id?: number | null;
2119
+ /**
2120
+ * Cancel Reason Text
2121
+ * @description Additional cancellation reason
2122
+ */
2123
+ cancel_reason_text?: string | null;
2124
+ };
2110
2125
  /**
2111
- * NotificationPreferencesRequest
2112
- * @description Request model for updating notification preferences.
2126
+ * ExpertSettingsUpdateRequest
2127
+ * @description Request model for updating expert settings.
2113
2128
  */
2114
- NotificationPreferencesRequest: {
2129
+ ExpertSettingsUpdateRequest: {
2115
2130
  /**
2116
- * Timezone
2117
- * @description User timezone (IANA format)
2131
+ * Custom Rate
2132
+ * @description Custom rate
2118
2133
  */
2119
- timezone?: string | null;
2134
+ custom_rate?: number | string | null;
2120
2135
  /**
2121
- * Language
2122
- * @description Preferred language code
2136
+ * Accepts New Bookings
2137
+ * @description Accepting new bookings
2123
2138
  */
2124
- language?: string | null;
2139
+ accepts_new_bookings?: boolean | null;
2125
2140
  /**
2126
- * Global Enabled
2127
- * @description Master toggle for all notifications
2141
+ * Max Daily Bookings
2142
+ * @description Max daily bookings
2128
2143
  */
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;
2144
+ max_daily_bookings?: number | null;
2145
+ /**
2146
+ * Auto Confirm Bookings
2147
+ * @description Auto-confirm bookings
2148
+ */
2149
+ auto_confirm_bookings?: boolean | null;
2150
+ /**
2151
+ * Subjects
2152
+ * @description Subject codes/IDs
2153
+ */
2154
+ subjects?: string[] | null;
2155
+ /**
2156
+ * Topics
2157
+ * @description Topic codes/IDs
2158
+ */
2159
+ topics?: string[] | null;
2134
2160
  };
2135
2161
  /**
2136
- * MediaSection
2137
- * @description Product media files - direct media data
2162
+ * ServiceSection
2163
+ * @description Service-specific fields (maps to service_tbl)
2138
2164
  */
2139
- MediaSection: {
2165
+ ServiceSection: {
2140
2166
  /**
2141
- * Media Items
2142
- * @description List of media files to attach to product
2167
+ * Service Code
2168
+ * @description Unique code within org: online-tutoring, makeup-services
2143
2169
  */
2144
- media_items?: components["schemas"]["MediaItem"][] | null;
2170
+ service_code: string;
2171
+ /**
2172
+ * Service Type
2173
+ * @description org_service (SRV-at-org), expert_service (SRV-at-exp)
2174
+ */
2175
+ service_type: string;
2176
+ /**
2177
+ * Enrollment Mode
2178
+ * @description open, closed, invite_only, auto_approve
2179
+ * @default open
2180
+ */
2181
+ enrollment_mode: string;
2182
+ /**
2183
+ * Enrollment Requires Approval
2184
+ * @description Admin must approve expert applications
2185
+ * @default true
2186
+ */
2187
+ enrollment_requires_approval: boolean;
2188
+ /**
2189
+ * Max Experts
2190
+ * @description Maximum experts allowed (NULL = unlimited)
2191
+ */
2192
+ max_experts?: number | null;
2193
+ /**
2194
+ * Pricing Mode
2195
+ * @description org_flat_rate, expert_defined
2196
+ * @default expert_defined
2197
+ */
2198
+ pricing_mode: string;
2199
+ /**
2200
+ * Org Flat Rate
2201
+ * @description Flat rate if pricing_mode=org_flat_rate
2202
+ */
2203
+ org_flat_rate?: number | null;
2204
+ /**
2205
+ * Currency
2206
+ * @description Currency code: USD, EUR, INR
2207
+ * @default USD
2208
+ */
2209
+ currency: string;
2210
+ /**
2211
+ * Min Rate
2212
+ * @description Minimum rate for experts (rate constraint)
2213
+ */
2214
+ min_rate?: number | null;
2215
+ /**
2216
+ * Max Rate
2217
+ * @description Maximum rate for experts (rate constraint)
2218
+ */
2219
+ max_rate?: number | null;
2220
+ /**
2221
+ * Site Level
2222
+ * @description True = org products (SRV-at-org), False = expert products (SRV-at-exp)
2223
+ * @default true
2224
+ */
2225
+ site_level: boolean;
2145
2226
  };
2146
2227
  /**
2147
- * LocationTypeEnum
2148
- * @description Location type enum.
2228
+ * OverrideCreateRequest
2229
+ * @description Request model for creating an availability override.
2230
+ */
2231
+ OverrideCreateRequest: {
2232
+ /**
2233
+ * Override Date
2234
+ * @description Date in YYYY-MM-DD format
2235
+ */
2236
+ override_date: string;
2237
+ /** @description 'unavailable' or 'custom' */
2238
+ override_type: components["schemas"]["OverrideTypeEnum"];
2239
+ /**
2240
+ * Starts At Time
2241
+ * @description Start time for custom type (HH:MM)
2242
+ */
2243
+ starts_at_time?: string | null;
2244
+ /**
2245
+ * Ends At Time
2246
+ * @description End time for custom type (HH:MM)
2247
+ */
2248
+ ends_at_time?: string | null;
2249
+ /**
2250
+ * Timezone
2251
+ * @description Expert's timezone
2252
+ * @default UTC
2253
+ */
2254
+ timezone: string;
2255
+ /**
2256
+ * Reason
2257
+ * @description Reason for override
2258
+ */
2259
+ reason?: string | null;
2260
+ };
2261
+ /**
2262
+ * BookingSourceTypeEnum
2263
+ * @description Booking source type enum.
2149
2264
  * @enum {string}
2150
2265
  */
2151
- LocationTypeEnum: "online" | "in_person";
2266
+ BookingSourceTypeEnum: "direct_booking" | "session_pack" | "subscription" | "credit_bucket";
2152
2267
  /**
2153
2268
  * ExpertMatchRequest
2154
2269
  * @description Request model for expert matching.
@@ -2191,377 +2306,325 @@ export interface components {
2191
2306
  */
2192
2307
  min_rating?: number | null;
2193
2308
  };
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
2309
  /**
2204
- * TimeSlotRequest
2205
- * @description Request model for a single time slot.
2310
+ * PricePreference
2311
+ * @description Price preference for expert matching.
2312
+ * @enum {string}
2206
2313
  */
2207
- TimeSlotRequest: {
2208
- /**
2209
- * Starts At Time
2210
- * @description Start time in HH:MM format
2211
- */
2212
- starts_at_time: string;
2213
- /**
2214
- * Ends At Time
2215
- * @description End time in HH:MM format
2216
- */
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;
2224
- };
2314
+ PricePreference: "low" | "mid" | "high" | "any";
2225
2315
  /**
2226
- * BookingCancelRequest
2227
- * @description Request model for cancelling a booking.
2316
+ * ServiceUpdateRequest
2317
+ * @description Request model for updating a service.
2228
2318
  */
2229
- BookingCancelRequest: {
2230
- /**
2231
- * Cancel Reason Id
2232
- * @description Reason ID from msd_reasons_tbl
2233
- */
2234
- cancel_reason_id?: number | null;
2235
- /**
2236
- * Cancel Reason Text
2237
- * @description Additional cancellation reason
2238
- */
2239
- cancel_reason_text?: string | null;
2319
+ ServiceUpdateRequest: {
2320
+ /** Title */
2321
+ title?: string | null;
2322
+ /** Description */
2323
+ description?: string | null;
2324
+ /** Short Description */
2325
+ short_description?: string | null;
2326
+ /** Icon */
2327
+ icon?: string | null;
2328
+ /** Banner Url */
2329
+ banner_url?: string | null;
2330
+ /** Display Order */
2331
+ display_order?: number | null;
2332
+ enrollment_mode?: components["schemas"]["EnrollmentMode"] | null;
2333
+ /** Enrollment Requires Approval */
2334
+ enrollment_requires_approval?: boolean | null;
2335
+ /** Max Experts */
2336
+ max_experts?: number | null;
2337
+ expert_fee_type?: components["schemas"]["ExpertFeeType"] | null;
2338
+ /** Expert Fee Product Id */
2339
+ expert_fee_product_id?: number | null;
2340
+ pricing_mode?: components["schemas"]["PricingMode"] | null;
2341
+ /** Org Flat Rate */
2342
+ org_flat_rate?: number | string | null;
2343
+ /** Currency */
2344
+ currency?: string | null;
2345
+ /** Min Rate */
2346
+ min_rate?: number | string | null;
2347
+ /** Max Rate */
2348
+ max_rate?: number | string | null;
2349
+ status?: components["schemas"]["ServiceStatus"] | null;
2350
+ };
2351
+ Extensions: {
2352
+ /** @example GENERIC_ERROR */
2353
+ message_code?: string;
2354
+ /** @example [] */
2355
+ invalid_params?: components["schemas"]["InvalidParam"][];
2356
+ extra_data?: Record<string, never> | null;
2357
+ /** @example Detailed debug information */
2358
+ debug?: string | null;
2240
2359
  };
2241
2360
  /**
2242
- * NotificationChannelEnum
2243
- * @description Notification channel enum.
2244
- * @enum {string}
2361
+ * ServiceProductsUpdateRequest
2362
+ * @description Request model for bulk updating service products.
2245
2363
  */
2246
- NotificationChannelEnum: "email" | "sms" | "push" | "inapp" | "webhook";
2364
+ ServiceProductsUpdateRequest: {
2365
+ /** Products */
2366
+ products: components["schemas"]["ServiceProductRequest"][];
2367
+ };
2247
2368
  /**
2248
- * BookingCreateRequest
2249
- * @description Request model for creating a booking.
2369
+ * VariantPrice
2370
+ * @description Variant-specific pricing (maps to product_pricings_tbl with variant_id set)
2250
2371
  */
2251
- BookingCreateRequest: {
2252
- /**
2253
- * Service Id
2254
- * @description External service ID
2255
- */
2256
- service_id: string;
2257
- /**
2258
- * Expert Id
2259
- * @description Expert user ID
2260
- */
2261
- expert_id: number;
2262
- /**
2263
- * Starts At
2264
- * @description Start datetime in ISO format (UTC)
2265
- */
2266
- starts_at: string;
2372
+ VariantPrice: {
2267
2373
  /**
2268
- * Duration Minutes
2269
- * @description Session duration in minutes
2374
+ * Variant Index
2375
+ * @description Index in variants array (0-based)
2270
2376
  */
2271
- duration_minutes: number;
2377
+ variant_index: number;
2272
2378
  /**
2273
- * Timezone
2274
- * @description Consumer's timezone
2275
- * @default UTC
2379
+ * Price Type
2380
+ * @description free, one_time, subscription, monthly_plan
2276
2381
  */
2277
- timezone: string;
2382
+ price_type: string;
2278
2383
  /**
2279
- * Title
2280
- * @description Session title
2384
+ * Currency
2385
+ * @description Currency code
2281
2386
  */
2282
- title?: string | null;
2387
+ currency: string;
2283
2388
  /**
2284
- * Subject Id
2285
- * @description Subject ID
2389
+ * Amount
2390
+ * @description Price amount
2286
2391
  */
2287
- subject_id?: number | null;
2392
+ amount: number;
2288
2393
  /**
2289
- * Topic Id
2290
- * @description Topic ID
2394
+ * Compare At Amount
2395
+ * @description Original/strike-through price
2291
2396
  */
2292
- topic_id?: number | null;
2397
+ compare_at_amount?: number | null;
2293
2398
  /**
2294
- * Notes
2295
- * @description Consumer notes
2399
+ * Interval
2400
+ * @description day, week, month, year
2296
2401
  */
2297
- notes?: string | null;
2402
+ interval?: string | null;
2298
2403
  /**
2299
- * @description Location type
2300
- * @default online
2404
+ * Interval Count
2405
+ * @description Number of intervals
2301
2406
  */
2302
- location_type: components["schemas"]["LocationTypeEnum"];
2407
+ interval_count?: number | null;
2303
2408
  /**
2304
- * Location Details
2305
- * @description Location details (address for in-person)
2409
+ * Trial Period Days
2410
+ * @description Free trial days
2306
2411
  */
2307
- location_details?: {
2308
- [key: string]: unknown;
2309
- } | null;
2412
+ trial_period_days?: number | null;
2310
2413
  /**
2311
- * @description Booking source type
2312
- * @default direct_booking
2414
+ * Initial Amount
2415
+ * @description First payment amount
2313
2416
  */
2314
- booking_source_type: components["schemas"]["BookingSourceTypeEnum"];
2417
+ initial_amount?: number | null;
2315
2418
  /**
2316
- * Booking Source Id
2317
- * @description Source ID (pack_id, subscription_id)
2419
+ * Gateway
2420
+ * @description stripe, razorpay, paypal, etc.
2318
2421
  */
2319
- booking_source_id?: number | null;
2422
+ gateway?: string | null;
2320
2423
  /**
2321
- * Is Trial
2322
- * @description Is this a trial session?
2323
- * @default false
2424
+ * Requires Payment Method Upfront
2425
+ * @description Require payment method before trial
2426
+ * @default true
2324
2427
  */
2325
- is_trial: boolean;
2428
+ requires_payment_method_upfront: boolean;
2326
2429
  };
2327
2430
  /**
2328
- * ExpertSettingsUpdateRequest
2329
- * @description Request model for updating expert settings.
2431
+ * ServiceSettingsSection
2432
+ * @description Service booking configuration (maps to service_settings_tbl)
2330
2433
  */
2331
- ExpertSettingsUpdateRequest: {
2434
+ ServiceSettingsSection: {
2332
2435
  /**
2333
- * Custom Rate
2334
- * @description Custom rate
2436
+ * Min Booking Duration
2437
+ * @description Minimum booking duration in minutes
2438
+ * @default 20
2335
2439
  */
2336
- custom_rate?: number | string | null;
2440
+ min_booking_duration: number;
2337
2441
  /**
2338
- * Accepts New Bookings
2339
- * @description Accepting new bookings
2442
+ * Max Booking Duration
2443
+ * @description Maximum booking duration in minutes
2444
+ * @default 60
2340
2445
  */
2341
- accepts_new_bookings?: boolean | null;
2446
+ max_booking_duration: number;
2342
2447
  /**
2343
- * Max Daily Bookings
2344
- * @description Max daily bookings
2448
+ * Booking Duration Step
2449
+ * @description Duration increment in minutes
2450
+ * @default 15
2345
2451
  */
2346
- max_daily_bookings?: number | null;
2452
+ booking_duration_step: number;
2347
2453
  /**
2348
- * Auto Confirm Bookings
2349
- * @description Auto-confirm bookings
2454
+ * Booking Lead Time Value
2455
+ * @description Hours before session required
2456
+ * @default 2
2350
2457
  */
2351
- auto_confirm_bookings?: boolean | null;
2458
+ booking_lead_time_value: number;
2352
2459
  /**
2353
- * Subjects
2354
- * @description Subject codes/IDs
2460
+ * Booking Lead Time Handler
2461
+ * @description Who controls lead time: org, expert
2462
+ * @default org
2355
2463
  */
2356
- subjects?: string[] | null;
2464
+ booking_lead_time_handler: string;
2357
2465
  /**
2358
- * Topics
2359
- * @description Topic codes/IDs
2466
+ * Buffer Time Before
2467
+ * @description Minutes gap before session
2468
+ * @default 0
2360
2469
  */
2361
- topics?: string[] | null;
2362
- };
2363
- /**
2364
- * ServiceProductRequest
2365
- * @description Request model for a single product configuration.
2366
- */
2367
- ServiceProductRequest: {
2470
+ buffer_time_before: number;
2368
2471
  /**
2369
- * Product Code
2370
- * @description Product code
2472
+ * Buffer Time After
2473
+ * @description Minutes gap after session
2474
+ * @default 0
2371
2475
  */
2372
- product_code: string;
2476
+ buffer_time_after: number;
2373
2477
  /**
2374
- * Is Enabled
2375
- * @description Enable status
2376
- * @default true
2478
+ * Avoid Back To Back
2479
+ * @description Enforce buffer between sessions
2480
+ * @default false
2377
2481
  */
2378
- is_enabled: boolean;
2482
+ avoid_back_to_back: boolean;
2379
2483
  /**
2380
- * Display Order
2381
- * @default 100
2484
+ * Availability Window Days
2485
+ * @description Max days ahead consumer can book
2486
+ * @default 90
2382
2487
  */
2383
- display_order: number;
2488
+ availability_window_days: number;
2384
2489
  /**
2385
- * Product Id
2386
- * @description Link to product_tbl
2490
+ * First Slot Rounding
2491
+ * @description Round first available slot to nearest X minutes
2492
+ * @default 15
2387
2493
  */
2388
- product_id?: number | null;
2389
- /** Custom Settings */
2390
- custom_settings?: {
2391
- [key: string]: unknown;
2392
- } | null;
2393
- };
2394
- /**
2395
- * WebhookCreateRequest
2396
- * @description Request model for creating a webhook.
2397
- */
2398
- WebhookCreateRequest: {
2494
+ first_slot_rounding: number;
2399
2495
  /**
2400
- * Url
2401
- * @description Webhook endpoint URL
2496
+ * Allow Recurring Bookings
2497
+ * @description Allow recurring bookings
2498
+ * @default false
2402
2499
  */
2403
- url: string;
2500
+ allow_recurring_bookings: boolean;
2404
2501
  /**
2405
- * Events
2406
- * @description Events to subscribe to
2502
+ * Max Recurring Sessions
2503
+ * @description Max sessions in recurring series
2407
2504
  */
2408
- events: components["schemas"]["EventTypeEnum"][];
2505
+ max_recurring_sessions?: number | null;
2409
2506
  /**
2410
- * Secret
2411
- * @description Secret for webhook signature
2507
+ * Enable Trial Sessions
2508
+ * @description Enable trial/sample sessions
2509
+ * @default false
2412
2510
  */
2413
- secret?: string | null;
2511
+ enable_trial_sessions: boolean;
2414
2512
  /**
2415
- * Is Active
2416
- * @description Whether webhook is active
2417
- * @default true
2513
+ * Trial Session Duration
2514
+ * @description Trial session duration in minutes
2418
2515
  */
2419
- is_active: boolean;
2420
- /** Description */
2421
- description?: string | null;
2516
+ trial_session_duration?: number | null;
2517
+ /**
2518
+ * Trial Session Price
2519
+ * @description Trial session price (0 for free)
2520
+ */
2521
+ trial_session_price?: number | null;
2422
2522
  };
2423
2523
  /**
2424
- * CreditVoidRequest
2425
- * @description Request model for voiding a credit.
2524
+ * EventPreference
2525
+ * @description Preference for a specific event type.
2426
2526
  */
2427
- CreditVoidRequest: {
2527
+ EventPreference: {
2528
+ event_type: components["schemas"]["EventTypeEnum"];
2428
2529
  /**
2429
- * Reason
2430
- * @description Reason for voiding
2530
+ * Enabled
2531
+ * @default true
2431
2532
  */
2432
- reason?: string | null;
2533
+ enabled: boolean;
2534
+ /** Channels */
2535
+ channels?: components["schemas"]["NotificationChannelEnum"][];
2433
2536
  };
2434
2537
  /**
2435
- * ServiceSettingsSection
2436
- * @description Service booking configuration (maps to service_settings_tbl)
2538
+ * PricingSection
2539
+ * @description Pricing configuration (optional - can have product price, variant prices, or both)
2437
2540
  */
2438
- ServiceSettingsSection: {
2439
- /**
2440
- * Min Booking Duration
2441
- * @description Minimum booking duration in minutes
2442
- * @default 20
2443
- */
2444
- min_booking_duration: number;
2445
- /**
2446
- * Max Booking Duration
2447
- * @description Maximum booking duration in minutes
2448
- * @default 60
2449
- */
2450
- max_booking_duration: number;
2541
+ PricingSection: {
2542
+ /** @description Base product price (no variant) */
2543
+ product_price?: components["schemas"]["ProductPrice"] | null;
2451
2544
  /**
2452
- * Booking Duration Step
2453
- * @description Duration increment in minutes
2454
- * @default 15
2545
+ * Variant Prices
2546
+ * @description Variant-specific prices
2455
2547
  */
2456
- booking_duration_step: number;
2548
+ variant_prices?: components["schemas"]["VariantPrice"][] | null;
2549
+ };
2550
+ /**
2551
+ * VariantItem
2552
+ * @description Product variant (maps to product_variants_tbl)
2553
+ */
2554
+ VariantItem: {
2457
2555
  /**
2458
- * Booking Lead Time Value
2459
- * @description Hours before session required
2460
- * @default 2
2556
+ * Name
2557
+ * @description Variant display name
2461
2558
  */
2462
- booking_lead_time_value: number;
2559
+ name: string;
2463
2560
  /**
2464
- * Booking Lead Time Handler
2465
- * @description Who controls lead time: org, expert
2466
- * @default org
2561
+ * Sku
2562
+ * @description Stock Keeping Unit
2467
2563
  */
2468
- booking_lead_time_handler: string;
2564
+ sku?: string | null;
2469
2565
  /**
2470
- * Buffer Time Before
2471
- * @description Minutes gap before session
2472
- * @default 0
2566
+ * Attributes
2567
+ * @description Custom attributes
2473
2568
  */
2474
- buffer_time_before: number;
2569
+ attributes?: {
2570
+ [key: string]: unknown;
2571
+ } | null;
2475
2572
  /**
2476
- * Buffer Time After
2477
- * @description Minutes gap after session
2478
- * @default 0
2573
+ * Is Default
2574
+ * @description Set as default variant
2575
+ * @default false
2479
2576
  */
2480
- buffer_time_after: number;
2577
+ is_default: boolean;
2481
2578
  /**
2482
- * Avoid Back To Back
2483
- * @description Enforce buffer between sessions
2579
+ * Track Inventory
2580
+ * @description Track stock for this variant
2484
2581
  * @default false
2485
2582
  */
2486
- avoid_back_to_back: boolean;
2583
+ track_inventory: boolean;
2487
2584
  /**
2488
- * Availability Window Days
2489
- * @description Max days ahead consumer can book
2490
- * @default 90
2585
+ * Stock Quantity
2586
+ * @description Initial stock
2491
2587
  */
2492
- availability_window_days: number;
2588
+ stock_quantity?: number | null;
2493
2589
  /**
2494
- * First Slot Rounding
2495
- * @description Round first available slot to nearest X minutes
2496
- * @default 15
2590
+ * Allow Backorder
2591
+ * @description Allow orders when out of stock
2592
+ * @default false
2497
2593
  */
2498
- first_slot_rounding: number;
2594
+ allow_backorder: boolean;
2499
2595
  /**
2500
- * Allow Recurring Bookings
2501
- * @description Allow recurring bookings
2502
- * @default false
2596
+ * Weight
2597
+ * @description Weight in kg
2503
2598
  */
2504
- allow_recurring_bookings: boolean;
2599
+ weight?: number | null;
2505
2600
  /**
2506
- * Max Recurring Sessions
2507
- * @description Max sessions in recurring series
2601
+ * Length
2602
+ * @description Length in cm
2508
2603
  */
2509
- max_recurring_sessions?: number | null;
2604
+ length?: number | null;
2510
2605
  /**
2511
- * Enable Trial Sessions
2512
- * @description Enable trial/sample sessions
2513
- * @default false
2606
+ * Width
2607
+ * @description Width in cm
2514
2608
  */
2515
- enable_trial_sessions: boolean;
2609
+ width?: number | null;
2516
2610
  /**
2517
- * Trial Session Duration
2518
- * @description Trial session duration in minutes
2611
+ * Height
2612
+ * @description Height in cm
2519
2613
  */
2520
- trial_session_duration?: number | null;
2614
+ height?: number | null;
2521
2615
  /**
2522
- * Trial Session Price
2523
- * @description Trial session price (0 for free)
2616
+ * Display Order
2617
+ * @description Display order
2618
+ * @default 100
2524
2619
  */
2525
- trial_session_price?: number | null;
2526
- };
2527
- /**
2528
- * CancellationPolicyRequest
2529
- * @description Request model for cancellation policy.
2530
- */
2531
- CancellationPolicyRequest: {
2620
+ display_order: number;
2532
2621
  /**
2533
- * Product Code
2534
- * @description NULL for service-wide default
2622
+ * Metadata
2623
+ * @description Flexible metadata
2535
2624
  */
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;
2625
+ metadata?: {
2626
+ [key: string]: unknown;
2627
+ } | null;
2565
2628
  };
2566
2629
  /**
2567
2630
  * ExpertApplyRequest
@@ -2585,68 +2648,39 @@ export interface components {
2585
2648
  topics?: string[] | null;
2586
2649
  };
2587
2650
  /**
2588
- * ProductSection
2589
- * @description Base product fields (maps to product_tbl)
2651
+ * FlowStepValidationRequest
2652
+ * @description Request model for validating a flow step.
2590
2653
  */
2591
- ProductSection: {
2654
+ FlowStepValidationRequest: {
2592
2655
  /**
2593
- * Visibility
2594
- * @description public, private, hidden, unlisted
2595
- * @default public
2656
+ * Step Data
2657
+ * @description Data for this step
2596
2658
  */
2597
- visibility: string;
2659
+ step_data: {
2660
+ [key: string]: unknown;
2661
+ };
2662
+ };
2663
+ /**
2664
+ * SlotCheckRequest
2665
+ * @description Request model for checking a specific slot.
2666
+ */
2667
+ SlotCheckRequest: {
2598
2668
  /**
2599
- * Is Digital
2600
- * @description Digital product flag
2601
- * @default true
2669
+ * Expert Id
2670
+ * @description Expert user ID
2602
2671
  */
2603
- is_digital: boolean;
2672
+ expert_id: number;
2604
2673
  /**
2605
- * Company Id
2606
- * @description Multi-company support
2607
- */
2608
- company_id?: number | null;
2609
- /**
2610
- * Status
2611
- * @description draft, published, archived, review_required, deleted
2612
- * @default draft
2613
- */
2614
- status: string;
2615
- /**
2616
- * Is Org Level
2617
- * @description Org-level vs user-created product
2618
- * @default true
2619
- */
2620
- is_org_level: boolean;
2621
- /**
2622
- * Staff Id
2623
- * @description Staff/instructor delivering product
2624
- */
2625
- staff_id?: number | null;
2626
- /**
2627
- * Owner Id
2628
- * @description Owner of the product
2674
+ * Starts At
2675
+ * @description Start datetime in ISO format (UTC)
2629
2676
  */
2630
- owner_id?: number | null;
2677
+ starts_at: string;
2631
2678
  /**
2632
- * Featured
2633
- * @description Featured product flag
2634
- * @default false
2679
+ * Duration Minutes
2680
+ * @description Session duration in minutes
2635
2681
  */
2636
- featured: boolean;
2682
+ duration_minutes: number;
2637
2683
  };
2638
- /**
2639
- * BookingSourceTypeEnum
2640
- * @description Booking source type enum.
2641
- * @enum {string}
2642
- */
2643
- BookingSourceTypeEnum: "direct_booking" | "session_pack" | "subscription" | "credit_bucket";
2644
- /**
2645
- * EventTypeEnum
2646
- * @description Booking event type enum.
2647
- * @enum {string}
2648
- */
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";
2650
2684
  /**
2651
2685
  * @example {
2652
2686
  * "status": "success",
@@ -2675,15 +2709,210 @@ export interface components {
2675
2709
  error?: components["schemas"]["ErrorResponse"];
2676
2710
  };
2677
2711
  /**
2678
- * BookingRescheduleRequest
2679
- * @description Request model for rescheduling a booking.
2712
+ * NotificationPreferencesRequest
2713
+ * @description Request model for updating notification preferences.
2680
2714
  */
2681
- BookingRescheduleRequest: {
2715
+ NotificationPreferencesRequest: {
2682
2716
  /**
2683
- * New Starts At
2684
- * @description New start datetime in ISO format (UTC)
2717
+ * Timezone
2718
+ * @description User timezone (IANA format)
2685
2719
  */
2686
- new_starts_at: string;
2720
+ timezone?: string | null;
2721
+ /**
2722
+ * Language
2723
+ * @description Preferred language code
2724
+ */
2725
+ language?: string | null;
2726
+ /**
2727
+ * Global Enabled
2728
+ * @description Master toggle for all notifications
2729
+ */
2730
+ global_enabled?: boolean | null;
2731
+ /** Channel Preferences */
2732
+ channel_preferences?: components["schemas"]["ChannelPreference"][] | null;
2733
+ /** Event Preferences */
2734
+ event_preferences?: components["schemas"]["EventPreference"][] | null;
2735
+ };
2736
+ /**
2737
+ * ServiceType
2738
+ * @description Service type enum.
2739
+ * @enum {string}
2740
+ */
2741
+ ServiceType: "org_service" | "expert_service";
2742
+ /**
2743
+ * ServiceStatus
2744
+ * @description Service status enum.
2745
+ * @enum {string}
2746
+ */
2747
+ ServiceStatus: "draft" | "active" | "paused" | "archived";
2748
+ InvalidParam: {
2749
+ /** @example items[0].quantity */
2750
+ field?: string;
2751
+ /** @example Input should be greater than or equal to 1 */
2752
+ error?: string;
2753
+ };
2754
+ /**
2755
+ * WebhookCreateRequest
2756
+ * @description Request model for creating a webhook.
2757
+ */
2758
+ WebhookCreateRequest: {
2759
+ /**
2760
+ * Url
2761
+ * @description Webhook endpoint URL
2762
+ */
2763
+ url: string;
2764
+ /**
2765
+ * Events
2766
+ * @description Events to subscribe to
2767
+ */
2768
+ events: components["schemas"]["EventTypeEnum"][];
2769
+ /**
2770
+ * Secret
2771
+ * @description Secret for webhook signature
2772
+ */
2773
+ secret?: string | null;
2774
+ /**
2775
+ * Is Active
2776
+ * @description Whether webhook is active
2777
+ * @default true
2778
+ */
2779
+ is_active: boolean;
2780
+ /** Description */
2781
+ description?: string | null;
2782
+ };
2783
+ /**
2784
+ * ExpertFeeType
2785
+ * @description Expert fee type enum.
2786
+ * @enum {string}
2787
+ */
2788
+ ExpertFeeType: "free" | "one_time" | "subscription";
2789
+ /**
2790
+ * ExpertInviteRequest
2791
+ * @description Request model for inviting an expert to a service.
2792
+ */
2793
+ ExpertInviteRequest: {
2794
+ /**
2795
+ * Expert Id
2796
+ * @description User ID of expert to invite
2797
+ */
2798
+ expert_id: number;
2799
+ /**
2800
+ * Custom Rate
2801
+ * @description Custom rate
2802
+ */
2803
+ custom_rate?: number | string | null;
2804
+ /**
2805
+ * Subjects
2806
+ * @description Subject codes/IDs
2807
+ */
2808
+ subjects?: string[] | null;
2809
+ /**
2810
+ * Topics
2811
+ * @description Topic codes/IDs
2812
+ */
2813
+ topics?: string[] | null;
2814
+ };
2815
+ /**
2816
+ * MediaItem
2817
+ * @description Single media file item
2818
+ */
2819
+ MediaItem: {
2820
+ /**
2821
+ * Media Type
2822
+ * @description logo, banner, promo_video, gallery_image, gallery_video, swatch
2823
+ */
2824
+ media_type: string;
2825
+ /**
2826
+ * File Path
2827
+ * @description Path to media file on storage (S3, CDN, local)
2828
+ */
2829
+ file_path: string;
2830
+ /**
2831
+ * File Name
2832
+ * @description Original filename
2833
+ */
2834
+ file_name: string;
2835
+ /**
2836
+ * File Size
2837
+ * @description File size in bytes
2838
+ */
2839
+ file_size?: number | null;
2840
+ /**
2841
+ * Mime Type
2842
+ * @description MIME type (image/png, video/mp4, etc.)
2843
+ */
2844
+ mime_type?: string | null;
2845
+ /**
2846
+ * Width
2847
+ * @description Width in pixels (for images/videos)
2848
+ */
2849
+ width?: number | null;
2850
+ /**
2851
+ * Height
2852
+ * @description Height in pixels (for images/videos)
2853
+ */
2854
+ height?: number | null;
2855
+ /**
2856
+ * Responsive Versions
2857
+ * @description JSON with thumbnail, small, medium, large, xlarge, original paths
2858
+ */
2859
+ responsive_versions?: {
2860
+ [key: string]: string;
2861
+ } | null;
2862
+ /**
2863
+ * Alt Text
2864
+ * @description Alt text for SEO/accessibility
2865
+ */
2866
+ alt_text?: string | null;
2867
+ /**
2868
+ * Locale
2869
+ * @description Media locale (en-US, es-PR, etc.)
2870
+ * @default en-US
2871
+ */
2872
+ locale: string;
2873
+ /**
2874
+ * Display Order
2875
+ * @description Display order
2876
+ * @default 0
2877
+ */
2878
+ display_order: number;
2879
+ /**
2880
+ * Is Primary
2881
+ * @description Mark as primary media
2882
+ * @default false
2883
+ */
2884
+ is_primary: boolean;
2885
+ };
2886
+ /**
2887
+ * ServiceProductRequest
2888
+ * @description Request model for a single product configuration.
2889
+ */
2890
+ ServiceProductRequest: {
2891
+ /**
2892
+ * Product Code
2893
+ * @description Product code
2894
+ */
2895
+ product_code: string;
2896
+ /**
2897
+ * Is Enabled
2898
+ * @description Enable status
2899
+ * @default true
2900
+ */
2901
+ is_enabled: boolean;
2902
+ /**
2903
+ * Display Order
2904
+ * @default 100
2905
+ */
2906
+ display_order: number;
2907
+ /**
2908
+ * Product Id
2909
+ * @description Link to product_tbl
2910
+ */
2911
+ product_id?: number | null;
2912
+ /** Custom Settings */
2913
+ custom_settings?: {
2914
+ [key: string]: unknown;
2915
+ } | null;
2687
2916
  };
2688
2917
  /**
2689
2918
  * ServiceProductCreateRequest
@@ -2746,114 +2975,134 @@ export interface components {
2746
2975
  service_settings: components["schemas"]["ServiceSettingsSection"];
2747
2976
  };
2748
2977
  /**
2749
- * ServiceSection
2750
- * @description Service-specific fields (maps to service_tbl)
2978
+ * SendNotificationRequest
2979
+ * @description Request model for sending a manual notification.
2751
2980
  */
2752
- ServiceSection: {
2981
+ SendNotificationRequest: {
2982
+ /** @description Event type to trigger */
2983
+ event_type: components["schemas"]["EventTypeEnum"];
2753
2984
  /**
2754
- * Service Code
2755
- * @description Unique code within org: online-tutoring, makeup-services
2985
+ * Recipient Type
2986
+ * @description Recipient type: consumer, expert, or admin
2756
2987
  */
2757
- service_code: string;
2988
+ recipient_type: string;
2758
2989
  /**
2759
- * Service Type
2760
- * @description org_service (SRV-at-org), expert_service (SRV-at-exp)
2990
+ * Recipient Id
2991
+ * @description User ID of recipient
2761
2992
  */
2762
- service_type: string;
2993
+ recipient_id: number;
2763
2994
  /**
2764
- * Enrollment Mode
2765
- * @description open, closed, invite_only, auto_approve
2766
- * @default open
2995
+ * Booking Id
2996
+ * @description Related booking ID
2767
2997
  */
2768
- enrollment_mode: string;
2998
+ booking_id?: string | null;
2769
2999
  /**
2770
- * Enrollment Requires Approval
2771
- * @description Admin must approve expert applications
2772
- * @default true
3000
+ * Channels
3001
+ * @description Override channels (uses defaults if not provided)
2773
3002
  */
2774
- enrollment_requires_approval: boolean;
3003
+ channels?: components["schemas"]["NotificationChannelEnum"][] | null;
2775
3004
  /**
2776
- * Max Experts
2777
- * @description Maximum experts allowed (NULL = unlimited)
3005
+ * Extra Data
3006
+ * @description Additional data for templates
2778
3007
  */
2779
- max_experts?: number | null;
3008
+ extra_data?: {
3009
+ [key: string]: unknown;
3010
+ } | null;
3011
+ };
3012
+ /** Body_updateServiceApplication */
3013
+ Body_updateServiceApplication: {
2780
3014
  /**
2781
- * Pricing Mode
2782
- * @description org_flat_rate, expert_defined
2783
- * @default expert_defined
3015
+ * Action
3016
+ * @description approve or reject
2784
3017
  */
2785
- pricing_mode: string;
3018
+ action: string;
3019
+ };
3020
+ /**
3021
+ * BookingCreateRequest
3022
+ * @description Request model for creating a booking.
3023
+ */
3024
+ BookingCreateRequest: {
2786
3025
  /**
2787
- * Org Flat Rate
2788
- * @description Flat rate if pricing_mode=org_flat_rate
3026
+ * Service Id
3027
+ * @description External service ID
2789
3028
  */
2790
- org_flat_rate?: number | null;
3029
+ service_id: string;
2791
3030
  /**
2792
- * Currency
2793
- * @description Currency code: USD, EUR, INR
2794
- * @default USD
3031
+ * Expert Id
3032
+ * @description Expert user ID
2795
3033
  */
2796
- currency: string;
3034
+ expert_id: number;
2797
3035
  /**
2798
- * Min Rate
2799
- * @description Minimum rate for experts (rate constraint)
3036
+ * Starts At
3037
+ * @description Start datetime in ISO format (UTC)
2800
3038
  */
2801
- min_rate?: number | null;
3039
+ starts_at: string;
2802
3040
  /**
2803
- * Max Rate
2804
- * @description Maximum rate for experts (rate constraint)
3041
+ * Duration Minutes
3042
+ * @description Session duration in minutes
2805
3043
  */
2806
- max_rate?: number | null;
3044
+ duration_minutes: number;
2807
3045
  /**
2808
- * Site Level
2809
- * @description True = org products (SRV-at-org), False = expert products (SRV-at-exp)
2810
- * @default true
3046
+ * Timezone
3047
+ * @description Consumer's timezone
3048
+ * @default UTC
2811
3049
  */
2812
- site_level: boolean;
2813
- };
2814
- /** Body_updateServiceApplication */
2815
- Body_updateServiceApplication: {
3050
+ timezone: string;
2816
3051
  /**
2817
- * Action
2818
- * @description approve or reject
3052
+ * Title
3053
+ * @description Session title
2819
3054
  */
2820
- action: string;
2821
- };
2822
- /**
2823
- * SendNotificationRequest
2824
- * @description Request model for sending a manual notification.
2825
- */
2826
- SendNotificationRequest: {
2827
- /** @description Event type to trigger */
2828
- event_type: components["schemas"]["EventTypeEnum"];
3055
+ title?: string | null;
2829
3056
  /**
2830
- * Recipient Type
2831
- * @description Recipient type: consumer, expert, or admin
3057
+ * Subject Id
3058
+ * @description Subject ID
2832
3059
  */
2833
- recipient_type: string;
3060
+ subject_id?: number | null;
2834
3061
  /**
2835
- * Recipient Id
2836
- * @description User ID of recipient
3062
+ * Topic Id
3063
+ * @description Topic ID
2837
3064
  */
2838
- recipient_id: number;
3065
+ topic_id?: number | null;
2839
3066
  /**
2840
- * Booking Id
2841
- * @description Related booking ID
3067
+ * Notes
3068
+ * @description Consumer notes
2842
3069
  */
2843
- booking_id?: string | null;
3070
+ notes?: string | null;
2844
3071
  /**
2845
- * Channels
2846
- * @description Override channels (uses defaults if not provided)
3072
+ * @description Location type
3073
+ * @default online
2847
3074
  */
2848
- channels?: components["schemas"]["NotificationChannelEnum"][] | null;
3075
+ location_type: components["schemas"]["LocationTypeEnum"];
2849
3076
  /**
2850
- * Extra Data
2851
- * @description Additional data for templates
3077
+ * Location Details
3078
+ * @description Location details (address for in-person)
2852
3079
  */
2853
- extra_data?: {
3080
+ location_details?: {
2854
3081
  [key: string]: unknown;
2855
3082
  } | null;
3083
+ /**
3084
+ * @description Booking source type
3085
+ * @default direct_booking
3086
+ */
3087
+ booking_source_type: components["schemas"]["BookingSourceTypeEnum"];
3088
+ /**
3089
+ * Booking Source Id
3090
+ * @description Source ID (pack_id, subscription_id)
3091
+ */
3092
+ booking_source_id?: number | null;
3093
+ /**
3094
+ * Is Trial
3095
+ * @description Is this a trial session?
3096
+ * @default false
3097
+ */
3098
+ is_trial: boolean;
2856
3099
  };
3100
+ /**
3101
+ * PricingMode
3102
+ * @description Service pricing mode enum.
3103
+ * @enum {string}
3104
+ */
3105
+ PricingMode: "org_flat_rate" | "expert_defined";
2857
3106
  /**
2858
3107
  * ProductPrice
2859
3108
  * @description Base product pricing (maps to product_pricings_tbl with variant_id=NULL)
@@ -2912,385 +3161,228 @@ export interface components {
2912
3161
  requires_payment_method_upfront: boolean;
2913
3162
  };
2914
3163
  /**
2915
- * ExpertInviteRequest
2916
- * @description Request model for inviting an expert to a service.
3164
+ * ServiceCreateRequest
3165
+ * @description Request model for creating a service.
2917
3166
  */
2918
- ExpertInviteRequest: {
3167
+ ServiceCreateRequest: {
2919
3168
  /**
2920
- * Expert Id
2921
- * @description User ID of expert to invite
3169
+ * Service Code
3170
+ * @description Unique code within org: online-tutoring, makeup-services
2922
3171
  */
2923
- expert_id: number;
3172
+ service_code: string;
3173
+ /** @description org_service (SRV-at-org) or expert_service (SRV-at-exp) */
3174
+ service_type: components["schemas"]["ServiceType"];
2924
3175
  /**
2925
- * Custom Rate
2926
- * @description Custom rate
3176
+ * Title
3177
+ * @description Display title
2927
3178
  */
2928
- custom_rate?: number | string | null;
3179
+ title: string;
2929
3180
  /**
2930
- * Subjects
2931
- * @description Subject codes/IDs
3181
+ * Description
3182
+ * @description Full description
2932
3183
  */
2933
- subjects?: string[] | null;
3184
+ description?: string | null;
2934
3185
  /**
2935
- * Topics
2936
- * @description Topic codes/IDs
3186
+ * Short Description
3187
+ * @description Short description
2937
3188
  */
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: {
3189
+ short_description?: string | null;
2960
3190
  /**
2961
- * Step Data
2962
- * @description Data for this step
3191
+ * Icon
3192
+ * @description Icon class
2963
3193
  */
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"];
3194
+ icon?: string | null;
2974
3195
  /**
2975
- * Enabled
2976
- * @default true
3196
+ * Banner Url
3197
+ * @description Banner image URL
2977
3198
  */
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: {
3199
+ banner_url?: string | null;
2993
3200
  /**
2994
- * Media Type
2995
- * @description logo, banner, promo_video, gallery_image, gallery_video, swatch
3201
+ * Display Order
3202
+ * @description Sort order
3203
+ * @default 100
2996
3204
  */
2997
- media_type: string;
3205
+ display_order: number;
2998
3206
  /**
2999
- * File Path
3000
- * @description Path to media file on storage (S3, CDN, local)
3207
+ * @description Expert enrollment mode
3208
+ * @default open
3001
3209
  */
3002
- file_path: string;
3210
+ enrollment_mode: components["schemas"]["EnrollmentMode"];
3003
3211
  /**
3004
- * File Name
3005
- * @description Original filename
3212
+ * Enrollment Requires Approval
3213
+ * @description Admin must approve applications
3214
+ * @default true
3006
3215
  */
3007
- file_name: string;
3216
+ enrollment_requires_approval: boolean;
3008
3217
  /**
3009
- * File Size
3010
- * @description File size in bytes
3218
+ * Max Experts
3219
+ * @description Max experts allowed
3011
3220
  */
3012
- file_size?: number | null;
3221
+ max_experts?: number | null;
3013
3222
  /**
3014
- * Mime Type
3015
- * @description MIME type (image/png, video/mp4, etc.)
3223
+ * @description Fee type for experts
3224
+ * @default free
3016
3225
  */
3017
- mime_type?: string | null;
3226
+ expert_fee_type: components["schemas"]["ExpertFeeType"];
3018
3227
  /**
3019
- * Width
3020
- * @description Width in pixels (for images/videos)
3228
+ * Expert Fee Product Id
3229
+ * @description Product ID for enrollment fee
3021
3230
  */
3022
- width?: number | null;
3231
+ expert_fee_product_id?: number | null;
3023
3232
  /**
3024
- * Height
3025
- * @description Height in pixels (for images/videos)
3233
+ * @description Pricing mode
3234
+ * @default expert_defined
3026
3235
  */
3027
- height?: number | null;
3236
+ pricing_mode: components["schemas"]["PricingMode"];
3028
3237
  /**
3029
- * Responsive Versions
3030
- * @description JSON with thumbnail, small, medium, large, xlarge, original paths
3238
+ * Org Flat Rate
3239
+ * @description Flat rate if org_flat_rate mode
3031
3240
  */
3032
- responsive_versions?: {
3033
- [key: string]: string;
3034
- } | null;
3241
+ org_flat_rate?: number | string | null;
3035
3242
  /**
3036
- * Alt Text
3037
- * @description Alt text for SEO/accessibility
3243
+ * Currency
3244
+ * @description Currency code
3245
+ * @default USD
3038
3246
  */
3039
- alt_text?: string | null;
3247
+ currency: string;
3040
3248
  /**
3041
- * Locale
3042
- * @description Media locale (en-US, es-PR, etc.)
3043
- * @default en-US
3249
+ * Min Rate
3250
+ * @description Minimum expert rate
3044
3251
  */
3045
- locale: string;
3252
+ min_rate?: number | string | null;
3046
3253
  /**
3047
- * Display Order
3048
- * @description Display order
3049
- * @default 0
3254
+ * Max Rate
3255
+ * @description Maximum expert rate
3050
3256
  */
3051
- display_order: number;
3257
+ max_rate?: number | string | null;
3052
3258
  /**
3053
- * Is Primary
3054
- * @description Mark as primary media
3055
- * @default false
3259
+ * Company Id
3260
+ * @description Company ID for multi-company orgs
3056
3261
  */
3057
- is_primary: boolean;
3262
+ company_id?: number | null;
3058
3263
  };
3059
3264
  /**
3060
- * WeeklyTemplateRequest
3061
- * @description Request model for updating weekly availability template.
3265
+ * MediaSection
3266
+ * @description Product media files - direct media data
3062
3267
  */
3063
- WeeklyTemplateRequest: {
3268
+ MediaSection: {
3064
3269
  /**
3065
- * Timezone
3066
- * @description Expert's timezone (IANA format)
3067
- * @default UTC
3270
+ * Media Items
3271
+ * @description List of media files to attach to product
3068
3272
  */
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;
3273
+ media_items?: components["schemas"]["MediaItem"][] | null;
3084
3274
  };
3085
3275
  /**
3086
- * PricingMode
3087
- * @description Service pricing mode enum.
3276
+ * OverrideTypeEnum
3277
+ * @description Override type enum.
3088
3278
  * @enum {string}
3089
3279
  */
3090
- PricingMode: "org_flat_rate" | "expert_defined";
3280
+ OverrideTypeEnum: "unavailable" | "custom";
3281
+ ErrorResponse: {
3282
+ /** @example about:blank */
3283
+ type?: string;
3284
+ /** @example GENERIC_ERROR */
3285
+ code?: string;
3286
+ /** @example Client Error */
3287
+ title?: string;
3288
+ /** @example 400 */
3289
+ status?: number;
3290
+ /** @example An error occurred */
3291
+ detail?: string;
3292
+ /** @example /v1/cart/items */
3293
+ instance?: string;
3294
+ extensions?: components["schemas"]["Extensions"];
3295
+ };
3091
3296
  /**
3092
- * ChannelPreference
3093
- * @description Channel-specific preference.
3297
+ * LocationTypeEnum
3298
+ * @description Location type enum.
3299
+ * @enum {string}
3094
3300
  */
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
- };
3301
+ LocationTypeEnum: "online" | "in_person";
3113
3302
  /**
3114
- * ServiceType
3115
- * @description Service type enum.
3303
+ * NotificationChannelEnum
3304
+ * @description Notification channel enum.
3116
3305
  * @enum {string}
3117
3306
  */
3118
- ServiceType: "org_service" | "expert_service";
3307
+ NotificationChannelEnum: "email" | "sms" | "push" | "inapp" | "webhook";
3119
3308
  /**
3120
- * SlotCheckRequest
3121
- * @description Request model for checking a specific slot.
3309
+ * IdentitySection
3310
+ * @description Localized product content (maps to product_identity_tbl)
3122
3311
  */
3123
- SlotCheckRequest: {
3312
+ IdentitySection: {
3124
3313
  /**
3125
- * Expert Id
3126
- * @description Expert user ID
3314
+ * Locale
3315
+ * @description Locale: en-US, es-PR, fr-FR, pt-BR, etc.
3316
+ * @default en-US
3127
3317
  */
3128
- expert_id: number;
3318
+ locale: string;
3129
3319
  /**
3130
- * Starts At
3131
- * @description Start datetime in ISO format (UTC)
3320
+ * Title
3321
+ * @description Product title
3132
3322
  */
3133
- starts_at: string;
3323
+ title: string;
3134
3324
  /**
3135
- * Duration Minutes
3136
- * @description Session duration in minutes
3325
+ * Subtitle
3326
+ * @description Product subtitle
3137
3327
  */
3138
- duration_minutes: number;
3328
+ subtitle?: string | null;
3329
+ /**
3330
+ * Description
3331
+ * @description Full product description
3332
+ */
3333
+ description?: string | null;
3334
+ /**
3335
+ * Short Description
3336
+ * @description Short description for listings/previews
3337
+ */
3338
+ short_description?: string | null;
3139
3339
  };
3140
3340
  /**
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)
3341
+ * TimeSlotRequest
3342
+ * @description Request model for a single time slot.
3149
3343
  */
3150
- PricingSection: {
3151
- /** @description Base product price (no variant) */
3152
- product_price?: components["schemas"]["ProductPrice"] | null;
3344
+ TimeSlotRequest: {
3153
3345
  /**
3154
- * Variant Prices
3155
- * @description Variant-specific prices
3346
+ * Starts At Time
3347
+ * @description Start time in HH:MM format
3156
3348
  */
3157
- variant_prices?: components["schemas"]["VariantPrice"][] | null;
3349
+ starts_at_time: string;
3350
+ /**
3351
+ * Ends At Time
3352
+ * @description End time in HH:MM format
3353
+ */
3354
+ ends_at_time: string;
3158
3355
  };
3159
3356
  /**
3160
- * OverrideCreateRequest
3161
- * @description Request model for creating an availability override.
3357
+ * ServiceSettingsRequest
3358
+ * @description Request model for service settings.
3162
3359
  */
3163
- OverrideCreateRequest: {
3360
+ ServiceSettingsRequest: {
3164
3361
  /**
3165
- * Override Date
3166
- * @description Date in YYYY-MM-DD format
3362
+ * Min Booking Duration
3363
+ * @description Min duration (minutes)
3167
3364
  */
3168
- override_date: string;
3169
- /** @description 'unavailable' or 'custom' */
3170
- override_type: components["schemas"]["OverrideTypeEnum"];
3365
+ min_booking_duration?: number | null;
3171
3366
  /**
3172
- * Starts At Time
3173
- * @description Start time for custom type (HH:MM)
3367
+ * Max Booking Duration
3368
+ * @description Max duration (minutes)
3174
3369
  */
3175
- starts_at_time?: string | null;
3370
+ max_booking_duration?: number | null;
3176
3371
  /**
3177
- * Ends At Time
3178
- * @description End time for custom type (HH:MM)
3372
+ * Booking Duration Step
3373
+ * @description Duration step (minutes)
3179
3374
  */
3180
- ends_at_time?: string | null;
3375
+ booking_duration_step?: number | null;
3181
3376
  /**
3182
- * Timezone
3183
- * @description Expert's timezone
3184
- * @default UTC
3377
+ * Booking Lead Time Value
3378
+ * @description Lead time (hours)
3185
3379
  */
3186
- timezone: string;
3380
+ booking_lead_time_value?: number | null;
3381
+ /** Booking Lead Time Handler */
3382
+ booking_lead_time_handler?: string | null;
3187
3383
  /**
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)
3384
+ * Buffer Time Before
3385
+ * @description Buffer before (minutes)
3294
3386
  */
3295
3387
  buffer_time_before?: number | null;
3296
3388
  /**
@@ -3345,279 +3437,187 @@ export interface components {
3345
3437
  trial_limit_per_consumer?: number | null;
3346
3438
  };
3347
3439
  /**
3348
- * VariantPrice
3349
- * @description Variant-specific pricing (maps to product_pricings_tbl with variant_id set)
3440
+ * ProductSection
3441
+ * @description Base product fields (maps to product_tbl)
3350
3442
  */
3351
- VariantPrice: {
3352
- /**
3353
- * Variant Index
3354
- * @description Index in variants array (0-based)
3355
- */
3356
- variant_index: number;
3357
- /**
3358
- * Price Type
3359
- * @description free, one_time, subscription, monthly_plan
3360
- */
3361
- price_type: string;
3362
- /**
3363
- * Currency
3364
- * @description Currency code
3365
- */
3366
- currency: string;
3443
+ ProductSection: {
3367
3444
  /**
3368
- * Amount
3369
- * @description Price amount
3445
+ * Visibility
3446
+ * @description public, private, hidden, unlisted
3447
+ * @default public
3370
3448
  */
3371
- amount: number;
3449
+ visibility: string;
3372
3450
  /**
3373
- * Compare At Amount
3374
- * @description Original/strike-through price
3451
+ * Is Digital
3452
+ * @description Digital product flag
3453
+ * @default true
3375
3454
  */
3376
- compare_at_amount?: number | null;
3455
+ is_digital: boolean;
3377
3456
  /**
3378
- * Interval
3379
- * @description day, week, month, year
3457
+ * Company Id
3458
+ * @description Multi-company support
3380
3459
  */
3381
- interval?: string | null;
3460
+ company_id?: number | null;
3382
3461
  /**
3383
- * Interval Count
3384
- * @description Number of intervals
3462
+ * Status
3463
+ * @description draft, published, archived, review_required, deleted
3464
+ * @default draft
3385
3465
  */
3386
- interval_count?: number | null;
3466
+ status: string;
3387
3467
  /**
3388
- * Trial Period Days
3389
- * @description Free trial days
3468
+ * Is Org Level
3469
+ * @description Org-level vs user-created product
3470
+ * @default true
3390
3471
  */
3391
- trial_period_days?: number | null;
3472
+ is_org_level: boolean;
3392
3473
  /**
3393
- * Initial Amount
3394
- * @description First payment amount
3474
+ * Staff Id
3475
+ * @description Staff/instructor delivering product
3395
3476
  */
3396
- initial_amount?: number | null;
3477
+ staff_id?: number | null;
3397
3478
  /**
3398
- * Gateway
3399
- * @description stripe, razorpay, paypal, etc.
3479
+ * Owner Id
3480
+ * @description Owner of the product
3400
3481
  */
3401
- gateway?: string | null;
3482
+ owner_id?: number | null;
3402
3483
  /**
3403
- * Requires Payment Method Upfront
3404
- * @description Require payment method before trial
3405
- * @default true
3484
+ * Featured
3485
+ * @description Featured product flag
3486
+ * @default false
3406
3487
  */
3407
- requires_payment_method_upfront: boolean;
3488
+ featured: boolean;
3408
3489
  };
3409
3490
  /**
3410
- * IdentitySection
3411
- * @description Localized product content (maps to product_identity_tbl)
3491
+ * EventTypeEnum
3492
+ * @description Booking event type enum.
3493
+ * @enum {string}
3412
3494
  */
3413
- IdentitySection: {
3414
- /**
3415
- * Locale
3416
- * @description Locale: en-US, es-PR, fr-FR, pt-BR, etc.
3417
- * @default en-US
3418
- */
3419
- locale: string;
3420
- /**
3421
- * Title
3422
- * @description Product title
3423
- */
3424
- title: string;
3425
- /**
3426
- * Subtitle
3427
- * @description Product subtitle
3428
- */
3429
- subtitle?: string | null;
3430
- /**
3431
- * Description
3432
- * @description Full product description
3433
- */
3434
- description?: string | null;
3435
- /**
3436
- * Short Description
3437
- * @description Short description for listings/previews
3438
- */
3439
- short_description?: string | null;
3440
- };
3495
+ 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";
3441
3496
  /**
3442
- * VariantItem
3443
- * @description Product variant (maps to product_variants_tbl)
3497
+ * WeeklyTemplateRequest
3498
+ * @description Request model for updating weekly availability template.
3444
3499
  */
3445
- VariantItem: {
3446
- /**
3447
- * Name
3448
- * @description Variant display name
3449
- */
3450
- name: string;
3451
- /**
3452
- * Sku
3453
- * @description Stock Keeping Unit
3454
- */
3455
- sku?: string | null;
3456
- /**
3457
- * Attributes
3458
- * @description Custom attributes
3459
- */
3460
- attributes?: {
3461
- [key: string]: unknown;
3462
- } | null;
3463
- /**
3464
- * Is Default
3465
- * @description Set as default variant
3466
- * @default false
3467
- */
3468
- is_default: boolean;
3469
- /**
3470
- * Track Inventory
3471
- * @description Track stock for this variant
3472
- * @default false
3473
- */
3474
- track_inventory: boolean;
3475
- /**
3476
- * Stock Quantity
3477
- * @description Initial stock
3478
- */
3479
- stock_quantity?: number | null;
3480
- /**
3481
- * Allow Backorder
3482
- * @description Allow orders when out of stock
3483
- * @default false
3484
- */
3485
- allow_backorder: boolean;
3486
- /**
3487
- * Weight
3488
- * @description Weight in kg
3489
- */
3490
- weight?: number | null;
3491
- /**
3492
- * Length
3493
- * @description Length in cm
3494
- */
3495
- length?: number | null;
3496
- /**
3497
- * Width
3498
- * @description Width in cm
3499
- */
3500
- width?: number | null;
3501
- /**
3502
- * Height
3503
- * @description Height in cm
3504
- */
3505
- height?: number | null;
3506
- /**
3507
- * Display Order
3508
- * @description Display order
3509
- * @default 100
3510
- */
3511
- display_order: number;
3500
+ WeeklyTemplateRequest: {
3512
3501
  /**
3513
- * Metadata
3514
- * @description Flexible metadata
3502
+ * Timezone
3503
+ * @description Expert's timezone (IANA format)
3504
+ * @default UTC
3515
3505
  */
3516
- metadata?: {
3517
- [key: string]: unknown;
3518
- } | null;
3506
+ timezone: string;
3507
+ /** Sunday */
3508
+ sunday?: components["schemas"]["TimeSlotRequest"][] | null;
3509
+ /** Monday */
3510
+ monday?: components["schemas"]["TimeSlotRequest"][] | null;
3511
+ /** Tuesday */
3512
+ tuesday?: components["schemas"]["TimeSlotRequest"][] | null;
3513
+ /** Wednesday */
3514
+ wednesday?: components["schemas"]["TimeSlotRequest"][] | null;
3515
+ /** Thursday */
3516
+ thursday?: components["schemas"]["TimeSlotRequest"][] | null;
3517
+ /** Friday */
3518
+ friday?: components["schemas"]["TimeSlotRequest"][] | null;
3519
+ /** Saturday */
3520
+ saturday?: components["schemas"]["TimeSlotRequest"][] | null;
3519
3521
  };
3520
3522
  /**
3521
- * ServiceCreateRequest
3522
- * @description Request model for creating a service.
3523
+ * ChannelPreference
3524
+ * @description Channel-specific preference.
3523
3525
  */
3524
- ServiceCreateRequest: {
3525
- /**
3526
- * Service Code
3527
- * @description Unique code within org: online-tutoring, makeup-services
3528
- */
3529
- service_code: string;
3530
- /** @description org_service (SRV-at-org) or expert_service (SRV-at-exp) */
3531
- service_type: components["schemas"]["ServiceType"];
3532
- /**
3533
- * Title
3534
- * @description Display title
3535
- */
3536
- title: string;
3537
- /**
3538
- * Description
3539
- * @description Full description
3540
- */
3541
- description?: string | null;
3542
- /**
3543
- * Short Description
3544
- * @description Short description
3545
- */
3546
- short_description?: string | null;
3547
- /**
3548
- * Icon
3549
- * @description Icon class
3550
- */
3551
- icon?: string | null;
3552
- /**
3553
- * Banner Url
3554
- * @description Banner image URL
3555
- */
3556
- banner_url?: string | null;
3557
- /**
3558
- * Display Order
3559
- * @description Sort order
3560
- * @default 100
3561
- */
3562
- display_order: number;
3563
- /**
3564
- * @description Expert enrollment mode
3565
- * @default open
3566
- */
3567
- enrollment_mode: components["schemas"]["EnrollmentMode"];
3526
+ ChannelPreference: {
3527
+ channel: components["schemas"]["NotificationChannelEnum"];
3568
3528
  /**
3569
- * Enrollment Requires Approval
3570
- * @description Admin must approve applications
3529
+ * Enabled
3571
3530
  * @default true
3572
3531
  */
3573
- enrollment_requires_approval: boolean;
3574
- /**
3575
- * Max Experts
3576
- * @description Max experts allowed
3577
- */
3578
- max_experts?: number | null;
3579
- /**
3580
- * @description Fee type for experts
3581
- * @default free
3582
- */
3583
- expert_fee_type: components["schemas"]["ExpertFeeType"];
3532
+ enabled: boolean;
3584
3533
  /**
3585
- * Expert Fee Product Id
3586
- * @description Product ID for enrollment fee
3534
+ * Quiet Hours Start
3535
+ * @description Start of quiet hours (HH:MM)
3587
3536
  */
3588
- expert_fee_product_id?: number | null;
3537
+ quiet_hours_start?: string | null;
3589
3538
  /**
3590
- * @description Pricing mode
3591
- * @default expert_defined
3539
+ * Quiet Hours End
3540
+ * @description End of quiet hours (HH:MM)
3592
3541
  */
3593
- pricing_mode: components["schemas"]["PricingMode"];
3542
+ quiet_hours_end?: string | null;
3543
+ };
3544
+ /**
3545
+ * BookingRescheduleRequest
3546
+ * @description Request model for rescheduling a booking.
3547
+ */
3548
+ BookingRescheduleRequest: {
3594
3549
  /**
3595
- * Org Flat Rate
3596
- * @description Flat rate if org_flat_rate mode
3550
+ * New Starts At
3551
+ * @description New start datetime in ISO format (UTC)
3597
3552
  */
3598
- org_flat_rate?: number | string | null;
3553
+ new_starts_at: string;
3554
+ };
3555
+ /**
3556
+ * BookingCompleteRequest
3557
+ * @description Request model for completing a booking.
3558
+ */
3559
+ BookingCompleteRequest: {
3599
3560
  /**
3600
- * Currency
3601
- * @description Currency code
3602
- * @default USD
3561
+ * Actual Duration Minutes
3562
+ * @description Actual session duration
3603
3563
  */
3604
- currency: string;
3564
+ actual_duration_minutes?: number | null;
3605
3565
  /**
3606
- * Min Rate
3607
- * @description Minimum expert rate
3566
+ * Consumer Attended
3567
+ * @description Consumer attended
3608
3568
  */
3609
- min_rate?: number | string | null;
3569
+ consumer_attended?: boolean | null;
3610
3570
  /**
3611
- * Max Rate
3612
- * @description Maximum expert rate
3571
+ * Expert Attended
3572
+ * @description Expert attended
3613
3573
  */
3614
- max_rate?: number | string | null;
3574
+ expert_attended?: boolean | null;
3575
+ };
3576
+ /**
3577
+ * CancellationPolicyRequest
3578
+ * @description Request model for cancellation policy.
3579
+ */
3580
+ CancellationPolicyRequest: {
3615
3581
  /**
3616
- * Company Id
3617
- * @description Company ID for multi-company orgs
3582
+ * Product Code
3583
+ * @description NULL for service-wide default
3618
3584
  */
3619
- company_id?: number | null;
3585
+ product_code?: string | null;
3586
+ /** Consumer Cancel Allowed */
3587
+ consumer_cancel_allowed?: boolean | null;
3588
+ /** Consumer Cancel Window Hours */
3589
+ consumer_cancel_window_hours?: number | null;
3590
+ /** Consumer In Window Credit */
3591
+ consumer_in_window_credit?: boolean | null;
3592
+ /** Consumer Out Window Credit */
3593
+ consumer_out_window_credit?: boolean | null;
3594
+ /** Consumer Cancel Reason Required */
3595
+ consumer_cancel_reason_required?: boolean | null;
3596
+ /** Consumer Reschedule Allowed */
3597
+ consumer_reschedule_allowed?: boolean | null;
3598
+ /** Expert Cancel Allowed */
3599
+ expert_cancel_allowed?: boolean | null;
3600
+ /** Expert Cancel Window Hours */
3601
+ expert_cancel_window_hours?: number | null;
3602
+ /** Expert In Window Credit */
3603
+ expert_in_window_credit?: boolean | null;
3604
+ /** Expert Out Window Credit */
3605
+ expert_out_window_credit?: boolean | null;
3606
+ /** Expert Reschedule Allowed */
3607
+ expert_reschedule_allowed?: boolean | null;
3608
+ /** Credit Expiry Hours */
3609
+ credit_expiry_hours?: number | null;
3610
+ /** Credit Type */
3611
+ credit_type?: string | null;
3612
+ /** Credit Transferable */
3613
+ credit_transferable?: boolean | null;
3620
3614
  };
3615
+ /**
3616
+ * EnrollmentMode
3617
+ * @description Expert enrollment mode enum.
3618
+ * @enum {string}
3619
+ */
3620
+ EnrollmentMode: "open" | "closed" | "invite_only" | "auto_approve";
3621
3621
  };
3622
3622
  responses: never;
3623
3623
  parameters: never;