@blezgo/api-sdk 0.1.4 → 0.1.6

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