@blezgo/api-sdk 0.1.3 → 0.1.5

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