@dakkitor/api-contracts 1.1.138 → 1.1.139

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 (31) hide show
  1. package/dist/abilities/abilities.contract.d.ts +2 -0
  2. package/dist/abilities/abilities.contract.d.ts.map +1 -1
  3. package/dist/abilities/abilities.contract.js +4 -1
  4. package/dist/abilities/cron-scheduler.abilities.json +10 -0
  5. package/dist/abilities/first-agent.abilities.json +12 -1
  6. package/dist/abilities/second-agent.abilities.json +14 -1
  7. package/dist/actives/actives.contract.d.ts +13693 -7831
  8. package/dist/actives/actives.contract.d.ts.map +1 -1
  9. package/dist/actives/actives.contract.js +290 -2
  10. package/dist/bookings/bookings.contract.d.ts +31994 -65342
  11. package/dist/bookings/bookings.contract.d.ts.map +1 -1
  12. package/dist/bookings/bookings.contract.js +223 -8
  13. package/dist/cron-executions/cron-executions.contract.d.ts +157 -33
  14. package/dist/cron-executions/cron-executions.contract.d.ts.map +1 -1
  15. package/dist/cron-executions/cron-executions.contract.js +14 -0
  16. package/dist/dashboards/dashboard-widgets.contract.d.ts +688 -164
  17. package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
  18. package/dist/dashboards/dashboard-widgets.contract.js +140 -7
  19. package/dist/index.d.ts +0 -3
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +0 -3
  22. package/dist/jobs/jobs.contract.d.ts +6264 -3810
  23. package/dist/jobs/jobs.contract.d.ts.map +1 -1
  24. package/dist/jobs/jobs.contract.js +77 -1
  25. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +434 -300
  26. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts.map +1 -1
  27. package/dist/lead-distribution/agent-lead-distribution.contract.js +7 -1
  28. package/dist/workers/workers.contract.d.ts +1086 -602
  29. package/dist/workers/workers.contract.d.ts.map +1 -1
  30. package/dist/workers/workers.contract.js +63 -2
  31. package/package.json +1 -1
@@ -53,11 +53,11 @@ export declare const FaPipelineWidgetSchema: z.ZodObject<{
53
53
  recentCount: z.ZodNumber;
54
54
  }, "strip", z.ZodTypeAny, {
55
55
  total: number;
56
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
56
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
57
57
  recentCount: number;
58
58
  }, {
59
59
  total: number;
60
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
60
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
61
61
  recentCount: number;
62
62
  }>;
63
63
  summary: z.ZodObject<{
@@ -77,7 +77,7 @@ export declare const FaPipelineWidgetSchema: z.ZodObject<{
77
77
  };
78
78
  collaborations: {
79
79
  total: number;
80
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
80
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
81
81
  recentCount: number;
82
82
  };
83
83
  }, {
@@ -87,7 +87,7 @@ export declare const FaPipelineWidgetSchema: z.ZodObject<{
87
87
  };
88
88
  collaborations: {
89
89
  total: number;
90
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
90
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
91
91
  recentCount: number;
92
92
  };
93
93
  }>;
@@ -101,12 +101,12 @@ export declare const FaClientsWidgetSchema: z.ZodObject<{
101
101
  pendingVerification: z.ZodNumber;
102
102
  }, "strip", z.ZodTypeAny, {
103
103
  total: number;
104
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
104
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
105
105
  recentlyAdded: number;
106
106
  pendingVerification: number;
107
107
  }, {
108
108
  total: number;
109
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
109
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
110
110
  recentlyAdded: number;
111
111
  pendingVerification: number;
112
112
  }>;
@@ -135,13 +135,12 @@ export declare const FaCheckingsWidgetSchema: z.ZodObject<{
135
135
  export declare const FaCallHistoryWidgetSchema: z.ZodObject<{
136
136
  totalCalls: z.ZodNumber;
137
137
  callsToday: z.ZodNumber;
138
- callsThisWeek: z.ZodNumber;
139
138
  averageRatingToday: z.ZodNumber;
140
139
  efficientCallsToday: z.ZodNumber;
141
140
  conversionRate: z.ZodNumber;
142
141
  performanceScore: z.ZodNumber;
143
142
  performanceTier: z.ZodEnum<["high", "medium", "low", "new"]>;
144
- ratingBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
143
+ ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<typeof import("../common/call-rating.schema").CallRating>, z.ZodNumber>;
145
144
  assignmentCalls: z.ZodNumber;
146
145
  followUpCalls: z.ZodNumber;
147
146
  callbackCalls: z.ZodNumber;
@@ -150,15 +149,14 @@ export declare const FaCallHistoryWidgetSchema: z.ZodObject<{
150
149
  ownResearchLeadsExistingInSystem: z.ZodNumber;
151
150
  ownResearchLeadsNew: z.ZodNumber;
152
151
  }, "strip", z.ZodTypeAny, {
153
- conversionRate: number;
154
152
  totalCalls: number;
155
- performanceScore: number;
156
- performanceTier: "high" | "medium" | "low" | "new";
157
153
  callsToday: number;
158
- callsThisWeek: number;
159
154
  averageRatingToday: number;
160
155
  efficientCallsToday: number;
161
- ratingBreakdown: Record<string, number>;
156
+ conversionRate: number;
157
+ performanceScore: number;
158
+ performanceTier: "high" | "medium" | "low" | "new";
159
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
162
160
  assignmentCalls: number;
163
161
  followUpCalls: number;
164
162
  callbackCalls: number;
@@ -167,15 +165,14 @@ export declare const FaCallHistoryWidgetSchema: z.ZodObject<{
167
165
  ownResearchLeadsExistingInSystem: number;
168
166
  ownResearchLeadsNew: number;
169
167
  }, {
170
- conversionRate: number;
171
168
  totalCalls: number;
172
- performanceScore: number;
173
- performanceTier: "high" | "medium" | "low" | "new";
174
169
  callsToday: number;
175
- callsThisWeek: number;
176
170
  averageRatingToday: number;
177
171
  efficientCallsToday: number;
178
- ratingBreakdown: Record<string, number>;
172
+ conversionRate: number;
173
+ performanceScore: number;
174
+ performanceTier: "high" | "medium" | "low" | "new";
175
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
179
176
  assignmentCalls: number;
180
177
  followUpCalls: number;
181
178
  callbackCalls: number;
@@ -197,12 +194,12 @@ export declare const AllAgentsCallHistoryQuerySchema: z.ZodObject<{
197
194
  limit: number;
198
195
  page: number;
199
196
  date?: string | undefined;
200
- view?: "SA" | "FA" | undefined;
197
+ view?: "FA" | "SA" | undefined;
201
198
  }, {
199
+ date?: string | undefined;
202
200
  limit?: number | undefined;
203
201
  page?: number | undefined;
204
- date?: string | undefined;
205
- view?: "SA" | "FA" | undefined;
202
+ view?: "FA" | "SA" | undefined;
206
203
  }>;
207
204
  /**
208
205
  * FA Actives Widget - Today's active workers (FA perspective)
@@ -213,20 +210,20 @@ export declare const FaActivesWidgetSchema: z.ZodObject<{
213
210
  byStatusFa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
214
211
  }, "strip", z.ZodTypeAny, {
215
212
  total: number;
216
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
213
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
217
214
  }, {
218
215
  total: number;
219
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
216
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
220
217
  }>;
221
218
  }, "strip", z.ZodTypeAny, {
222
219
  today: {
223
220
  total: number;
224
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
221
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
225
222
  };
226
223
  }, {
227
224
  today: {
228
225
  total: number;
229
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
226
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
230
227
  };
231
228
  }>;
232
229
  /**
@@ -263,21 +260,12 @@ export declare const FaBookingsWidgetSchema: z.ZodObject<{
263
260
  export declare const SaWorkersWidgetSchema: z.ZodObject<{
264
261
  total: z.ZodNumber;
265
262
  addedToday: z.ZodNumber;
266
- addedThisWeek: z.ZodNumber;
267
- addedThisMonth: z.ZodNumber;
268
- byAvailability: z.ZodOptional<z.ZodRecord<z.ZodEnum<["AVAILABLE", "PARTIALLY_AVAILABLE", "UNAVAILABLE"]>, z.ZodNumber>>;
269
263
  }, "strip", z.ZodTypeAny, {
270
264
  total: number;
271
265
  addedToday: number;
272
- addedThisWeek: number;
273
- addedThisMonth: number;
274
- byAvailability?: Partial<Record<"AVAILABLE" | "PARTIALLY_AVAILABLE" | "UNAVAILABLE", number>> | undefined;
275
266
  }, {
276
267
  total: number;
277
268
  addedToday: number;
278
- addedThisWeek: number;
279
- addedThisMonth: number;
280
- byAvailability?: Partial<Record<"AVAILABLE" | "PARTIALLY_AVAILABLE" | "UNAVAILABLE", number>> | undefined;
281
269
  }>;
282
270
  /**
283
271
  * SA Bookings Widget - Booking management (SA perspective)
@@ -316,20 +304,266 @@ export declare const SaActivesWidgetSchema: z.ZodObject<{
316
304
  byStatusSa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
317
305
  }, "strip", z.ZodTypeAny, {
318
306
  total: number;
319
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
307
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
320
308
  }, {
321
309
  total: number;
322
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
310
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
323
311
  }>;
324
312
  }, "strip", z.ZodTypeAny, {
325
313
  today: {
326
314
  total: number;
327
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
315
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
328
316
  };
329
317
  }, {
330
318
  today: {
331
319
  total: number;
332
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
320
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
321
+ };
322
+ }>;
323
+ /**
324
+ * Admin FA Aggregate Widget - Summed FA stats across all agents for a date
325
+ */
326
+ export declare const AdminFaAggregateSchema: z.ZodObject<{
327
+ actives: z.ZodObject<{
328
+ /** Flat structure (unlike per-agent FaActivesWidgetSchema which nests under 'today') */
329
+ total: z.ZodNumber;
330
+ byStatusFa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
331
+ }, "strip", z.ZodTypeAny, {
332
+ total: number;
333
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
334
+ }, {
335
+ total: number;
336
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
337
+ }>;
338
+ bookings: z.ZodObject<{
339
+ totalToday: z.ZodNumber;
340
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
341
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
342
+ ongoingBookings: z.ZodNumber;
343
+ startingToday: z.ZodNumber;
344
+ pendingConfirmation: z.ZodNumber;
345
+ upcomingStarts: z.ZodNumber;
346
+ }, "strip", z.ZodTypeAny, {
347
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
348
+ totalToday: number;
349
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
350
+ ongoingBookings: number;
351
+ startingToday: number;
352
+ pendingConfirmation: number;
353
+ upcomingStarts: number;
354
+ }, {
355
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
356
+ totalToday: number;
357
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
358
+ ongoingBookings: number;
359
+ startingToday: number;
360
+ pendingConfirmation: number;
361
+ upcomingStarts: number;
362
+ }>;
363
+ callMetrics: z.ZodObject<{
364
+ /**
365
+ * Aggregate metrics across all FA agents.
366
+ * Note: `performanceTier` from FaCallHistoryWidgetSchema is omitted — it is not
367
+ * meaningful as an aggregate. `performanceScore` is renamed to `averagePerformanceScore`
368
+ * to make clear it is an average across agents.
369
+ */
370
+ totalCalls: z.ZodNumber;
371
+ callsToday: z.ZodNumber;
372
+ averageRatingToday: z.ZodNumber;
373
+ efficientCallsToday: z.ZodNumber;
374
+ conversionRate: z.ZodNumber;
375
+ averagePerformanceScore: z.ZodNumber;
376
+ ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<typeof import("../common/call-rating.schema").CallRating>, z.ZodNumber>;
377
+ assignmentCalls: z.ZodNumber;
378
+ followUpCalls: z.ZodNumber;
379
+ callbackCalls: z.ZodNumber;
380
+ ownResearchCalls: z.ZodNumber;
381
+ ownResearchLeadsAdded: z.ZodNumber;
382
+ ownResearchLeadsExistingInSystem: z.ZodNumber;
383
+ ownResearchLeadsNew: z.ZodNumber;
384
+ }, "strip", z.ZodTypeAny, {
385
+ totalCalls: number;
386
+ callsToday: number;
387
+ averageRatingToday: number;
388
+ efficientCallsToday: number;
389
+ conversionRate: number;
390
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
391
+ assignmentCalls: number;
392
+ followUpCalls: number;
393
+ callbackCalls: number;
394
+ ownResearchCalls: number;
395
+ ownResearchLeadsAdded: number;
396
+ ownResearchLeadsExistingInSystem: number;
397
+ ownResearchLeadsNew: number;
398
+ averagePerformanceScore: number;
399
+ }, {
400
+ totalCalls: number;
401
+ callsToday: number;
402
+ averageRatingToday: number;
403
+ efficientCallsToday: number;
404
+ conversionRate: number;
405
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
406
+ assignmentCalls: number;
407
+ followUpCalls: number;
408
+ callbackCalls: number;
409
+ ownResearchCalls: number;
410
+ ownResearchLeadsAdded: number;
411
+ ownResearchLeadsExistingInSystem: number;
412
+ ownResearchLeadsNew: number;
413
+ averagePerformanceScore: number;
414
+ }>;
415
+ agentCount: z.ZodNumber;
416
+ }, "strip", z.ZodTypeAny, {
417
+ bookings: {
418
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
419
+ totalToday: number;
420
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
421
+ ongoingBookings: number;
422
+ startingToday: number;
423
+ pendingConfirmation: number;
424
+ upcomingStarts: number;
425
+ };
426
+ actives: {
427
+ total: number;
428
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
429
+ };
430
+ callMetrics: {
431
+ totalCalls: number;
432
+ callsToday: number;
433
+ averageRatingToday: number;
434
+ efficientCallsToday: number;
435
+ conversionRate: number;
436
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
437
+ assignmentCalls: number;
438
+ followUpCalls: number;
439
+ callbackCalls: number;
440
+ ownResearchCalls: number;
441
+ ownResearchLeadsAdded: number;
442
+ ownResearchLeadsExistingInSystem: number;
443
+ ownResearchLeadsNew: number;
444
+ averagePerformanceScore: number;
445
+ };
446
+ agentCount: number;
447
+ }, {
448
+ bookings: {
449
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
450
+ totalToday: number;
451
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
452
+ ongoingBookings: number;
453
+ startingToday: number;
454
+ pendingConfirmation: number;
455
+ upcomingStarts: number;
456
+ };
457
+ actives: {
458
+ total: number;
459
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
460
+ };
461
+ callMetrics: {
462
+ totalCalls: number;
463
+ callsToday: number;
464
+ averageRatingToday: number;
465
+ efficientCallsToday: number;
466
+ conversionRate: number;
467
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
468
+ assignmentCalls: number;
469
+ followUpCalls: number;
470
+ callbackCalls: number;
471
+ ownResearchCalls: number;
472
+ ownResearchLeadsAdded: number;
473
+ ownResearchLeadsExistingInSystem: number;
474
+ ownResearchLeadsNew: number;
475
+ averagePerformanceScore: number;
476
+ };
477
+ agentCount: number;
478
+ }>;
479
+ /**
480
+ * Admin SA Aggregate Widget - Summed SA stats across all agents for a date
481
+ */
482
+ export declare const AdminSaAggregateSchema: z.ZodObject<{
483
+ actives: z.ZodObject<{
484
+ /** Flat structure (unlike per-agent SaActivesWidgetSchema which nests under 'today') */
485
+ total: z.ZodNumber;
486
+ byStatusSa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
487
+ }, "strip", z.ZodTypeAny, {
488
+ total: number;
489
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
490
+ }, {
491
+ total: number;
492
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
493
+ }>;
494
+ bookings: z.ZodObject<{
495
+ totalToday: z.ZodNumber;
496
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
497
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
498
+ ongoingBookings: z.ZodNumber;
499
+ startingToday: z.ZodNumber;
500
+ waitingForConfirmation: z.ZodNumber;
501
+ upcomingStarts: z.ZodNumber;
502
+ }, "strip", z.ZodTypeAny, {
503
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
504
+ totalToday: number;
505
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
506
+ ongoingBookings: number;
507
+ startingToday: number;
508
+ upcomingStarts: number;
509
+ waitingForConfirmation: number;
510
+ }, {
511
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
512
+ totalToday: number;
513
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
514
+ ongoingBookings: number;
515
+ startingToday: number;
516
+ upcomingStarts: number;
517
+ waitingForConfirmation: number;
518
+ }>;
519
+ workers: z.ZodObject<{
520
+ total: z.ZodNumber;
521
+ addedToday: z.ZodNumber;
522
+ }, "strip", z.ZodTypeAny, {
523
+ total: number;
524
+ addedToday: number;
525
+ }, {
526
+ total: number;
527
+ addedToday: number;
528
+ }>;
529
+ agentCount: z.ZodNumber;
530
+ }, "strip", z.ZodTypeAny, {
531
+ bookings: {
532
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
533
+ totalToday: number;
534
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
535
+ ongoingBookings: number;
536
+ startingToday: number;
537
+ upcomingStarts: number;
538
+ waitingForConfirmation: number;
539
+ };
540
+ actives: {
541
+ total: number;
542
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
543
+ };
544
+ agentCount: number;
545
+ workers: {
546
+ total: number;
547
+ addedToday: number;
548
+ };
549
+ }, {
550
+ bookings: {
551
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
552
+ totalToday: number;
553
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
554
+ ongoingBookings: number;
555
+ startingToday: number;
556
+ upcomingStarts: number;
557
+ waitingForConfirmation: number;
558
+ };
559
+ actives: {
560
+ total: number;
561
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
562
+ };
563
+ agentCount: number;
564
+ workers: {
565
+ total: number;
566
+ addedToday: number;
333
567
  };
334
568
  }>;
335
569
  /**
@@ -343,11 +577,11 @@ export declare const ActivesTrendSchema: z.ZodObject<{
343
577
  }, "strip", z.ZodTypeAny, {
344
578
  date: string;
345
579
  total: number;
346
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
580
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
347
581
  }, {
348
582
  date: string;
349
583
  total: number;
350
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
584
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
351
585
  }>, "many">;
352
586
  summary: z.ZodObject<{
353
587
  averageDaily: z.ZodNumber;
@@ -363,27 +597,27 @@ export declare const ActivesTrendSchema: z.ZodObject<{
363
597
  peakValue: number;
364
598
  }>;
365
599
  }, "strip", z.ZodTypeAny, {
600
+ data: {
601
+ date: string;
602
+ total: number;
603
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
604
+ }[];
366
605
  summary: {
367
606
  averageDaily: number;
368
607
  peakDay: string | null;
369
608
  peakValue: number;
370
609
  };
610
+ }, {
371
611
  data: {
372
612
  date: string;
373
613
  total: number;
374
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
614
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
375
615
  }[];
376
- }, {
377
616
  summary: {
378
617
  averageDaily: number;
379
618
  peakDay: string | null;
380
619
  peakValue: number;
381
620
  };
382
- data: {
383
- date: string;
384
- total: number;
385
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
386
- }[];
387
621
  }>;
388
622
  /**
389
623
  * Bookings trend data for charts
@@ -413,25 +647,25 @@ export declare const BookingsTrendSchema: z.ZodObject<{
413
647
  totalCreated: number;
414
648
  }>;
415
649
  }, "strip", z.ZodTypeAny, {
416
- summary: {
417
- averageDaily: number;
418
- totalCreated: number;
419
- };
420
650
  data: {
421
651
  date: string;
422
652
  total: number;
423
653
  byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
424
654
  }[];
425
- }, {
426
655
  summary: {
427
656
  averageDaily: number;
428
657
  totalCreated: number;
429
658
  };
659
+ }, {
430
660
  data: {
431
661
  date: string;
432
662
  total: number;
433
663
  byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
434
664
  }[];
665
+ summary: {
666
+ averageDaily: number;
667
+ totalCreated: number;
668
+ };
435
669
  }>;
436
670
  /**
437
671
  * Call performance trend data for charts
@@ -445,14 +679,14 @@ export declare const CallPerformanceTrendSchema: z.ZodObject<{
445
679
  performanceScore: z.ZodNumber;
446
680
  }, "strip", z.ZodTypeAny, {
447
681
  date: string;
448
- conversionRate: number;
449
682
  totalCalls: number;
683
+ conversionRate: number;
450
684
  performanceScore: number;
451
685
  averageRating: number;
452
686
  }, {
453
687
  date: string;
454
- conversionRate: number;
455
688
  totalCalls: number;
689
+ conversionRate: number;
456
690
  performanceScore: number;
457
691
  averageRating: number;
458
692
  }>, "many">;
@@ -470,31 +704,31 @@ export declare const CallPerformanceTrendSchema: z.ZodObject<{
470
704
  overallAverageRating: number;
471
705
  }>;
472
706
  }, "strip", z.ZodTypeAny, {
473
- summary: {
474
- averageDailyCalls: number;
475
- overallConversionRate: number;
476
- overallAverageRating: number;
477
- };
478
707
  data: {
479
708
  date: string;
480
- conversionRate: number;
481
709
  totalCalls: number;
710
+ conversionRate: number;
482
711
  performanceScore: number;
483
712
  averageRating: number;
484
713
  }[];
485
- }, {
486
714
  summary: {
487
715
  averageDailyCalls: number;
488
716
  overallConversionRate: number;
489
717
  overallAverageRating: number;
490
718
  };
719
+ }, {
491
720
  data: {
492
721
  date: string;
493
- conversionRate: number;
494
722
  totalCalls: number;
723
+ conversionRate: number;
495
724
  performanceScore: number;
496
725
  averageRating: number;
497
726
  }[];
727
+ summary: {
728
+ averageDailyCalls: number;
729
+ overallConversionRate: number;
730
+ overallAverageRating: number;
731
+ };
498
732
  }>;
499
733
  /**
500
734
  * Workers trend data for charts (SA only)
@@ -524,25 +758,25 @@ export declare const WorkersTrendSchema: z.ZodObject<{
524
758
  averagePerDay: number;
525
759
  }>;
526
760
  }, "strip", z.ZodTypeAny, {
527
- summary: {
528
- totalAdded: number;
529
- averagePerDay: number;
530
- };
531
761
  data: {
532
762
  date: string;
533
763
  added: number;
534
764
  cumulativeTotal: number;
535
765
  }[];
536
- }, {
537
766
  summary: {
538
767
  totalAdded: number;
539
768
  averagePerDay: number;
540
769
  };
770
+ }, {
541
771
  data: {
542
772
  date: string;
543
773
  added: number;
544
774
  cumulativeTotal: number;
545
775
  }[];
776
+ summary: {
777
+ totalAdded: number;
778
+ averagePerDay: number;
779
+ };
546
780
  }>;
547
781
  /**
548
782
  * Collaborations trend data for charts (FA only)
@@ -554,11 +788,11 @@ export declare const CollaborationsTrendSchema: z.ZodObject<{
554
788
  byStatus: z.ZodRecord<z.ZodEnum<["ACTIVE", "INACTIVE", "PENDING_APPROVAL", "REJECTED", "APPROVED", "CHANGED_COMPANY", "CHANGED_AGENT", "CHANGED_COMPANY_AND_AGENT"]>, z.ZodNumber>;
555
789
  }, "strip", z.ZodTypeAny, {
556
790
  date: string;
557
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
791
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
558
792
  created: number;
559
793
  }, {
560
794
  date: string;
561
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
795
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
562
796
  created: number;
563
797
  }>, "many">;
564
798
  summary: z.ZodObject<{
@@ -572,25 +806,25 @@ export declare const CollaborationsTrendSchema: z.ZodObject<{
572
806
  activeCount: number;
573
807
  }>;
574
808
  }, "strip", z.ZodTypeAny, {
575
- summary: {
576
- totalCreated: number;
577
- activeCount: number;
578
- };
579
809
  data: {
580
810
  date: string;
581
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
811
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
582
812
  created: number;
583
813
  }[];
584
- }, {
585
814
  summary: {
586
815
  totalCreated: number;
587
816
  activeCount: number;
588
817
  };
818
+ }, {
589
819
  data: {
590
820
  date: string;
591
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
821
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
592
822
  created: number;
593
823
  }[];
824
+ summary: {
825
+ totalCreated: number;
826
+ activeCount: number;
827
+ };
594
828
  }>;
595
829
  export declare const dashboardWidgetsContract: {
596
830
  getFaPipeline: {
@@ -613,11 +847,11 @@ export declare const dashboardWidgetsContract: {
613
847
  recentCount: z.ZodNumber;
614
848
  }, "strip", z.ZodTypeAny, {
615
849
  total: number;
616
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
850
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
617
851
  recentCount: number;
618
852
  }, {
619
853
  total: number;
620
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
854
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
621
855
  recentCount: number;
622
856
  }>;
623
857
  summary: z.ZodObject<{
@@ -637,7 +871,7 @@ export declare const dashboardWidgetsContract: {
637
871
  };
638
872
  collaborations: {
639
873
  total: number;
640
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
874
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
641
875
  recentCount: number;
642
876
  };
643
877
  }, {
@@ -647,7 +881,7 @@ export declare const dashboardWidgetsContract: {
647
881
  };
648
882
  collaborations: {
649
883
  total: number;
650
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
884
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
651
885
  recentCount: number;
652
886
  };
653
887
  }>;
@@ -673,12 +907,12 @@ export declare const dashboardWidgetsContract: {
673
907
  pendingVerification: z.ZodNumber;
674
908
  }, "strip", z.ZodTypeAny, {
675
909
  total: number;
676
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
910
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
677
911
  recentlyAdded: number;
678
912
  pendingVerification: number;
679
913
  }, {
680
914
  total: number;
681
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
915
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
682
916
  recentlyAdded: number;
683
917
  pendingVerification: number;
684
918
  }>;
@@ -731,13 +965,12 @@ export declare const dashboardWidgetsContract: {
731
965
  200: z.ZodObject<{
732
966
  totalCalls: z.ZodNumber;
733
967
  callsToday: z.ZodNumber;
734
- callsThisWeek: z.ZodNumber;
735
968
  averageRatingToday: z.ZodNumber;
736
969
  efficientCallsToday: z.ZodNumber;
737
970
  conversionRate: z.ZodNumber;
738
971
  performanceScore: z.ZodNumber;
739
972
  performanceTier: z.ZodEnum<["high", "medium", "low", "new"]>;
740
- ratingBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
973
+ ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<typeof import("../common/call-rating.schema").CallRating>, z.ZodNumber>;
741
974
  assignmentCalls: z.ZodNumber;
742
975
  followUpCalls: z.ZodNumber;
743
976
  callbackCalls: z.ZodNumber;
@@ -746,15 +979,14 @@ export declare const dashboardWidgetsContract: {
746
979
  ownResearchLeadsExistingInSystem: z.ZodNumber;
747
980
  ownResearchLeadsNew: z.ZodNumber;
748
981
  }, "strip", z.ZodTypeAny, {
749
- conversionRate: number;
750
982
  totalCalls: number;
751
- performanceScore: number;
752
- performanceTier: "high" | "medium" | "low" | "new";
753
983
  callsToday: number;
754
- callsThisWeek: number;
755
984
  averageRatingToday: number;
756
985
  efficientCallsToday: number;
757
- ratingBreakdown: Record<string, number>;
986
+ conversionRate: number;
987
+ performanceScore: number;
988
+ performanceTier: "high" | "medium" | "low" | "new";
989
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
758
990
  assignmentCalls: number;
759
991
  followUpCalls: number;
760
992
  callbackCalls: number;
@@ -763,15 +995,14 @@ export declare const dashboardWidgetsContract: {
763
995
  ownResearchLeadsExistingInSystem: number;
764
996
  ownResearchLeadsNew: number;
765
997
  }, {
766
- conversionRate: number;
767
998
  totalCalls: number;
768
- performanceScore: number;
769
- performanceTier: "high" | "medium" | "low" | "new";
770
999
  callsToday: number;
771
- callsThisWeek: number;
772
1000
  averageRatingToday: number;
773
1001
  efficientCallsToday: number;
774
- ratingBreakdown: Record<string, number>;
1002
+ conversionRate: number;
1003
+ performanceScore: number;
1004
+ performanceTier: "high" | "medium" | "low" | "new";
1005
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
775
1006
  assignmentCalls: number;
776
1007
  followUpCalls: number;
777
1008
  callbackCalls: number;
@@ -801,20 +1032,20 @@ export declare const dashboardWidgetsContract: {
801
1032
  byStatusFa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
802
1033
  }, "strip", z.ZodTypeAny, {
803
1034
  total: number;
804
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1035
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
805
1036
  }, {
806
1037
  total: number;
807
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1038
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
808
1039
  }>;
809
1040
  }, "strip", z.ZodTypeAny, {
810
1041
  today: {
811
1042
  total: number;
812
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1043
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
813
1044
  };
814
1045
  }, {
815
1046
  today: {
816
1047
  total: number;
817
- byStatusFa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1048
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
818
1049
  };
819
1050
  }>;
820
1051
  };
@@ -875,21 +1106,12 @@ export declare const dashboardWidgetsContract: {
875
1106
  200: z.ZodObject<{
876
1107
  total: z.ZodNumber;
877
1108
  addedToday: z.ZodNumber;
878
- addedThisWeek: z.ZodNumber;
879
- addedThisMonth: z.ZodNumber;
880
- byAvailability: z.ZodOptional<z.ZodRecord<z.ZodEnum<["AVAILABLE", "PARTIALLY_AVAILABLE", "UNAVAILABLE"]>, z.ZodNumber>>;
881
1109
  }, "strip", z.ZodTypeAny, {
882
1110
  total: number;
883
1111
  addedToday: number;
884
- addedThisWeek: number;
885
- addedThisMonth: number;
886
- byAvailability?: Partial<Record<"AVAILABLE" | "PARTIALLY_AVAILABLE" | "UNAVAILABLE", number>> | undefined;
887
1112
  }, {
888
1113
  total: number;
889
1114
  addedToday: number;
890
- addedThisWeek: number;
891
- addedThisMonth: number;
892
- byAvailability?: Partial<Record<"AVAILABLE" | "PARTIALLY_AVAILABLE" | "UNAVAILABLE", number>> | undefined;
893
1115
  }>;
894
1116
  };
895
1117
  };
@@ -952,20 +1174,20 @@ export declare const dashboardWidgetsContract: {
952
1174
  byStatusSa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
953
1175
  }, "strip", z.ZodTypeAny, {
954
1176
  total: number;
955
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1177
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
956
1178
  }, {
957
1179
  total: number;
958
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1180
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
959
1181
  }>;
960
1182
  }, "strip", z.ZodTypeAny, {
961
1183
  today: {
962
1184
  total: number;
963
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1185
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
964
1186
  };
965
1187
  }, {
966
1188
  today: {
967
1189
  total: number;
968
- byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1190
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
969
1191
  };
970
1192
  }>;
971
1193
  };
@@ -982,12 +1204,12 @@ export declare const dashboardWidgetsContract: {
982
1204
  limit: number;
983
1205
  page: number;
984
1206
  date?: string | undefined;
985
- view?: "SA" | "FA" | undefined;
1207
+ view?: "FA" | "SA" | undefined;
986
1208
  }, {
1209
+ date?: string | undefined;
987
1210
  limit?: number | undefined;
988
1211
  page?: number | undefined;
989
- date?: string | undefined;
990
- view?: "SA" | "FA" | undefined;
1212
+ view?: "FA" | "SA" | undefined;
991
1213
  }>;
992
1214
  summary: "Get daily stats for all agents (Admin)";
993
1215
  method: "GET";
@@ -1019,6 +1241,11 @@ export declare const dashboardWidgetsContract: {
1019
1241
  totalCalls: z.ZodNumber;
1020
1242
  averageRating: z.ZodNumber;
1021
1243
  conversionRate: z.ZodNumber;
1244
+ callsOnDate: z.ZodNumber;
1245
+ efficientCalls: z.ZodNumber;
1246
+ conversionsOnDate: z.ZodNumber;
1247
+ dailyConversionRate: z.ZodNumber;
1248
+ ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<typeof import("../common/call-rating.schema").CallRating>, z.ZodNumber>;
1022
1249
  performanceScore: z.ZodNumber;
1023
1250
  assignmentCalls: z.ZodNumber;
1024
1251
  followUpCalls: z.ZodNumber;
@@ -1029,9 +1256,10 @@ export declare const dashboardWidgetsContract: {
1029
1256
  ownResearchLeadsNew: z.ZodNumber;
1030
1257
  }, "strip", z.ZodTypeAny, {
1031
1258
  agentId: string;
1032
- conversionRate: number;
1033
1259
  totalCalls: number;
1260
+ conversionRate: number;
1034
1261
  performanceScore: number;
1262
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1035
1263
  assignmentCalls: number;
1036
1264
  followUpCalls: number;
1037
1265
  callbackCalls: number;
@@ -1043,15 +1271,19 @@ export declare const dashboardWidgetsContract: {
1043
1271
  agentName: string;
1044
1272
  agentEmail: string;
1045
1273
  activesFaTotal: number;
1046
- activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1274
+ activesFaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1047
1275
  activesSaTotal: number;
1048
- activesSaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1276
+ activesSaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1049
1277
  bookingsFaTotal: number;
1050
1278
  bookingsFaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1051
1279
  bookingsFaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1052
1280
  bookingsSaTotal: number;
1053
1281
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1054
1282
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1283
+ callsOnDate: number;
1284
+ efficientCalls: number;
1285
+ conversionsOnDate: number;
1286
+ dailyConversionRate: number;
1055
1287
  bookingsFaOngoing?: number | undefined;
1056
1288
  bookingsFaStartingToday?: number | undefined;
1057
1289
  bookingsFaPendingConfirmation?: number | undefined;
@@ -1062,9 +1294,10 @@ export declare const dashboardWidgetsContract: {
1062
1294
  bookingsSaUpcomingStarts?: number | undefined;
1063
1295
  }, {
1064
1296
  agentId: string;
1065
- conversionRate: number;
1066
1297
  totalCalls: number;
1298
+ conversionRate: number;
1067
1299
  performanceScore: number;
1300
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1068
1301
  assignmentCalls: number;
1069
1302
  followUpCalls: number;
1070
1303
  callbackCalls: number;
@@ -1076,15 +1309,19 @@ export declare const dashboardWidgetsContract: {
1076
1309
  agentName: string;
1077
1310
  agentEmail: string;
1078
1311
  activesFaTotal: number;
1079
- activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1312
+ activesFaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1080
1313
  activesSaTotal: number;
1081
- activesSaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1314
+ activesSaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1082
1315
  bookingsFaTotal: number;
1083
1316
  bookingsFaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1084
1317
  bookingsFaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1085
1318
  bookingsSaTotal: number;
1086
1319
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1087
1320
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1321
+ callsOnDate: number;
1322
+ efficientCalls: number;
1323
+ conversionsOnDate: number;
1324
+ dailyConversionRate: number;
1088
1325
  bookingsFaOngoing?: number | undefined;
1089
1326
  bookingsFaStartingToday?: number | undefined;
1090
1327
  bookingsFaPendingConfirmation?: number | undefined;
@@ -1103,9 +1340,10 @@ export declare const dashboardWidgetsContract: {
1103
1340
  limit: number;
1104
1341
  items: {
1105
1342
  agentId: string;
1106
- conversionRate: number;
1107
1343
  totalCalls: number;
1344
+ conversionRate: number;
1108
1345
  performanceScore: number;
1346
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1109
1347
  assignmentCalls: number;
1110
1348
  followUpCalls: number;
1111
1349
  callbackCalls: number;
@@ -1117,15 +1355,19 @@ export declare const dashboardWidgetsContract: {
1117
1355
  agentName: string;
1118
1356
  agentEmail: string;
1119
1357
  activesFaTotal: number;
1120
- activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1358
+ activesFaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1121
1359
  activesSaTotal: number;
1122
- activesSaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1360
+ activesSaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1123
1361
  bookingsFaTotal: number;
1124
1362
  bookingsFaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1125
1363
  bookingsFaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1126
1364
  bookingsSaTotal: number;
1127
1365
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1128
1366
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1367
+ callsOnDate: number;
1368
+ efficientCalls: number;
1369
+ conversionsOnDate: number;
1370
+ dailyConversionRate: number;
1129
1371
  bookingsFaOngoing?: number | undefined;
1130
1372
  bookingsFaStartingToday?: number | undefined;
1131
1373
  bookingsFaPendingConfirmation?: number | undefined;
@@ -1143,9 +1385,10 @@ export declare const dashboardWidgetsContract: {
1143
1385
  limit: number;
1144
1386
  items: {
1145
1387
  agentId: string;
1146
- conversionRate: number;
1147
1388
  totalCalls: number;
1389
+ conversionRate: number;
1148
1390
  performanceScore: number;
1391
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1149
1392
  assignmentCalls: number;
1150
1393
  followUpCalls: number;
1151
1394
  callbackCalls: number;
@@ -1157,15 +1400,19 @@ export declare const dashboardWidgetsContract: {
1157
1400
  agentName: string;
1158
1401
  agentEmail: string;
1159
1402
  activesFaTotal: number;
1160
- activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1403
+ activesFaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1161
1404
  activesSaTotal: number;
1162
- activesSaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1405
+ activesSaByStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1163
1406
  bookingsFaTotal: number;
1164
1407
  bookingsFaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1165
1408
  bookingsFaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1166
1409
  bookingsSaTotal: number;
1167
1410
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1168
1411
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1412
+ callsOnDate: number;
1413
+ efficientCalls: number;
1414
+ conversionsOnDate: number;
1415
+ dailyConversionRate: number;
1169
1416
  bookingsFaOngoing?: number | undefined;
1170
1417
  bookingsFaStartingToday?: number | undefined;
1171
1418
  bookingsFaPendingConfirmation?: number | undefined;
@@ -1182,6 +1429,276 @@ export declare const dashboardWidgetsContract: {
1182
1429
  }>;
1183
1430
  };
1184
1431
  };
1432
+ getAdminFaAggregate: {
1433
+ description: "Returns summed/averaged FA dashboard stats across all agents for a specific date.";
1434
+ query: z.ZodObject<{
1435
+ date: z.ZodOptional<z.ZodString>;
1436
+ }, "strip", z.ZodTypeAny, {
1437
+ date?: string | undefined;
1438
+ }, {
1439
+ date?: string | undefined;
1440
+ }>;
1441
+ summary: "Get aggregated FA stats across all agents (Admin)";
1442
+ method: "GET";
1443
+ path: "/widgets/admin/fa-aggregate";
1444
+ responses: {
1445
+ 200: z.ZodObject<{
1446
+ actives: z.ZodObject<{
1447
+ /** Flat structure (unlike per-agent FaActivesWidgetSchema which nests under 'today') */
1448
+ total: z.ZodNumber;
1449
+ byStatusFa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
1450
+ }, "strip", z.ZodTypeAny, {
1451
+ total: number;
1452
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1453
+ }, {
1454
+ total: number;
1455
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1456
+ }>;
1457
+ bookings: z.ZodObject<{
1458
+ totalToday: z.ZodNumber;
1459
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
1460
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
1461
+ ongoingBookings: z.ZodNumber;
1462
+ startingToday: z.ZodNumber;
1463
+ pendingConfirmation: z.ZodNumber;
1464
+ upcomingStarts: z.ZodNumber;
1465
+ }, "strip", z.ZodTypeAny, {
1466
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1467
+ totalToday: number;
1468
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1469
+ ongoingBookings: number;
1470
+ startingToday: number;
1471
+ pendingConfirmation: number;
1472
+ upcomingStarts: number;
1473
+ }, {
1474
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1475
+ totalToday: number;
1476
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1477
+ ongoingBookings: number;
1478
+ startingToday: number;
1479
+ pendingConfirmation: number;
1480
+ upcomingStarts: number;
1481
+ }>;
1482
+ callMetrics: z.ZodObject<{
1483
+ /**
1484
+ * Aggregate metrics across all FA agents.
1485
+ * Note: `performanceTier` from FaCallHistoryWidgetSchema is omitted — it is not
1486
+ * meaningful as an aggregate. `performanceScore` is renamed to `averagePerformanceScore`
1487
+ * to make clear it is an average across agents.
1488
+ */
1489
+ totalCalls: z.ZodNumber;
1490
+ callsToday: z.ZodNumber;
1491
+ averageRatingToday: z.ZodNumber;
1492
+ efficientCallsToday: z.ZodNumber;
1493
+ conversionRate: z.ZodNumber;
1494
+ averagePerformanceScore: z.ZodNumber;
1495
+ ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<typeof import("../common/call-rating.schema").CallRating>, z.ZodNumber>;
1496
+ assignmentCalls: z.ZodNumber;
1497
+ followUpCalls: z.ZodNumber;
1498
+ callbackCalls: z.ZodNumber;
1499
+ ownResearchCalls: z.ZodNumber;
1500
+ ownResearchLeadsAdded: z.ZodNumber;
1501
+ ownResearchLeadsExistingInSystem: z.ZodNumber;
1502
+ ownResearchLeadsNew: z.ZodNumber;
1503
+ }, "strip", z.ZodTypeAny, {
1504
+ totalCalls: number;
1505
+ callsToday: number;
1506
+ averageRatingToday: number;
1507
+ efficientCallsToday: number;
1508
+ conversionRate: number;
1509
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1510
+ assignmentCalls: number;
1511
+ followUpCalls: number;
1512
+ callbackCalls: number;
1513
+ ownResearchCalls: number;
1514
+ ownResearchLeadsAdded: number;
1515
+ ownResearchLeadsExistingInSystem: number;
1516
+ ownResearchLeadsNew: number;
1517
+ averagePerformanceScore: number;
1518
+ }, {
1519
+ totalCalls: number;
1520
+ callsToday: number;
1521
+ averageRatingToday: number;
1522
+ efficientCallsToday: number;
1523
+ conversionRate: number;
1524
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1525
+ assignmentCalls: number;
1526
+ followUpCalls: number;
1527
+ callbackCalls: number;
1528
+ ownResearchCalls: number;
1529
+ ownResearchLeadsAdded: number;
1530
+ ownResearchLeadsExistingInSystem: number;
1531
+ ownResearchLeadsNew: number;
1532
+ averagePerformanceScore: number;
1533
+ }>;
1534
+ agentCount: z.ZodNumber;
1535
+ }, "strip", z.ZodTypeAny, {
1536
+ bookings: {
1537
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1538
+ totalToday: number;
1539
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1540
+ ongoingBookings: number;
1541
+ startingToday: number;
1542
+ pendingConfirmation: number;
1543
+ upcomingStarts: number;
1544
+ };
1545
+ actives: {
1546
+ total: number;
1547
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1548
+ };
1549
+ callMetrics: {
1550
+ totalCalls: number;
1551
+ callsToday: number;
1552
+ averageRatingToday: number;
1553
+ efficientCallsToday: number;
1554
+ conversionRate: number;
1555
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1556
+ assignmentCalls: number;
1557
+ followUpCalls: number;
1558
+ callbackCalls: number;
1559
+ ownResearchCalls: number;
1560
+ ownResearchLeadsAdded: number;
1561
+ ownResearchLeadsExistingInSystem: number;
1562
+ ownResearchLeadsNew: number;
1563
+ averagePerformanceScore: number;
1564
+ };
1565
+ agentCount: number;
1566
+ }, {
1567
+ bookings: {
1568
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1569
+ totalToday: number;
1570
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1571
+ ongoingBookings: number;
1572
+ startingToday: number;
1573
+ pendingConfirmation: number;
1574
+ upcomingStarts: number;
1575
+ };
1576
+ actives: {
1577
+ total: number;
1578
+ byStatusFa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1579
+ };
1580
+ callMetrics: {
1581
+ totalCalls: number;
1582
+ callsToday: number;
1583
+ averageRatingToday: number;
1584
+ efficientCallsToday: number;
1585
+ conversionRate: number;
1586
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1587
+ assignmentCalls: number;
1588
+ followUpCalls: number;
1589
+ callbackCalls: number;
1590
+ ownResearchCalls: number;
1591
+ ownResearchLeadsAdded: number;
1592
+ ownResearchLeadsExistingInSystem: number;
1593
+ ownResearchLeadsNew: number;
1594
+ averagePerformanceScore: number;
1595
+ };
1596
+ agentCount: number;
1597
+ }>;
1598
+ };
1599
+ };
1600
+ getAdminSaAggregate: {
1601
+ description: "Returns summed/averaged SA dashboard stats across all agents for a specific date.";
1602
+ query: z.ZodObject<{
1603
+ date: z.ZodOptional<z.ZodString>;
1604
+ }, "strip", z.ZodTypeAny, {
1605
+ date?: string | undefined;
1606
+ }, {
1607
+ date?: string | undefined;
1608
+ }>;
1609
+ summary: "Get aggregated SA stats across all agents (Admin)";
1610
+ method: "GET";
1611
+ path: "/widgets/admin/sa-aggregate";
1612
+ responses: {
1613
+ 200: z.ZodObject<{
1614
+ actives: z.ZodObject<{
1615
+ /** Flat structure (unlike per-agent SaActivesWidgetSchema which nests under 'today') */
1616
+ total: z.ZodNumber;
1617
+ byStatusSa: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY"]>, z.ZodNumber>;
1618
+ }, "strip", z.ZodTypeAny, {
1619
+ total: number;
1620
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1621
+ }, {
1622
+ total: number;
1623
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1624
+ }>;
1625
+ bookings: z.ZodObject<{
1626
+ totalToday: z.ZodNumber;
1627
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
1628
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
1629
+ ongoingBookings: z.ZodNumber;
1630
+ startingToday: z.ZodNumber;
1631
+ waitingForConfirmation: z.ZodNumber;
1632
+ upcomingStarts: z.ZodNumber;
1633
+ }, "strip", z.ZodTypeAny, {
1634
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1635
+ totalToday: number;
1636
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1637
+ ongoingBookings: number;
1638
+ startingToday: number;
1639
+ upcomingStarts: number;
1640
+ waitingForConfirmation: number;
1641
+ }, {
1642
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1643
+ totalToday: number;
1644
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1645
+ ongoingBookings: number;
1646
+ startingToday: number;
1647
+ upcomingStarts: number;
1648
+ waitingForConfirmation: number;
1649
+ }>;
1650
+ workers: z.ZodObject<{
1651
+ total: z.ZodNumber;
1652
+ addedToday: z.ZodNumber;
1653
+ }, "strip", z.ZodTypeAny, {
1654
+ total: number;
1655
+ addedToday: number;
1656
+ }, {
1657
+ total: number;
1658
+ addedToday: number;
1659
+ }>;
1660
+ agentCount: z.ZodNumber;
1661
+ }, "strip", z.ZodTypeAny, {
1662
+ bookings: {
1663
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1664
+ totalToday: number;
1665
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1666
+ ongoingBookings: number;
1667
+ startingToday: number;
1668
+ upcomingStarts: number;
1669
+ waitingForConfirmation: number;
1670
+ };
1671
+ actives: {
1672
+ total: number;
1673
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1674
+ };
1675
+ agentCount: number;
1676
+ workers: {
1677
+ total: number;
1678
+ addedToday: number;
1679
+ };
1680
+ }, {
1681
+ bookings: {
1682
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1683
+ totalToday: number;
1684
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1685
+ ongoingBookings: number;
1686
+ startingToday: number;
1687
+ upcomingStarts: number;
1688
+ waitingForConfirmation: number;
1689
+ };
1690
+ actives: {
1691
+ total: number;
1692
+ byStatusSa: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1693
+ };
1694
+ agentCount: number;
1695
+ workers: {
1696
+ total: number;
1697
+ addedToday: number;
1698
+ };
1699
+ }>;
1700
+ };
1701
+ };
1185
1702
  getActivesTrend: {
1186
1703
  description: "Returns time-series data for actives over a date range";
1187
1704
  query: z.ZodObject<{
@@ -1206,11 +1723,11 @@ export declare const dashboardWidgetsContract: {
1206
1723
  }, "strip", z.ZodTypeAny, {
1207
1724
  date: string;
1208
1725
  total: number;
1209
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1726
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1210
1727
  }, {
1211
1728
  date: string;
1212
1729
  total: number;
1213
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1730
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1214
1731
  }>, "many">;
1215
1732
  summary: z.ZodObject<{
1216
1733
  averageDaily: z.ZodNumber;
@@ -1226,27 +1743,27 @@ export declare const dashboardWidgetsContract: {
1226
1743
  peakValue: number;
1227
1744
  }>;
1228
1745
  }, "strip", z.ZodTypeAny, {
1746
+ data: {
1747
+ date: string;
1748
+ total: number;
1749
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1750
+ }[];
1229
1751
  summary: {
1230
1752
  averageDaily: number;
1231
1753
  peakDay: string | null;
1232
1754
  peakValue: number;
1233
1755
  };
1756
+ }, {
1234
1757
  data: {
1235
1758
  date: string;
1236
1759
  total: number;
1237
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1760
+ byStatus: Partial<Record<"PENDING" | "ACTIVE" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1238
1761
  }[];
1239
- }, {
1240
1762
  summary: {
1241
1763
  averageDaily: number;
1242
1764
  peakDay: string | null;
1243
1765
  peakValue: number;
1244
1766
  };
1245
- data: {
1246
- date: string;
1247
- total: number;
1248
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY", number>>;
1249
- }[];
1250
1767
  }>;
1251
1768
  };
1252
1769
  };
@@ -1291,25 +1808,25 @@ export declare const dashboardWidgetsContract: {
1291
1808
  totalCreated: number;
1292
1809
  }>;
1293
1810
  }, "strip", z.ZodTypeAny, {
1294
- summary: {
1295
- averageDaily: number;
1296
- totalCreated: number;
1297
- };
1298
1811
  data: {
1299
1812
  date: string;
1300
1813
  total: number;
1301
1814
  byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1302
1815
  }[];
1303
- }, {
1304
1816
  summary: {
1305
1817
  averageDaily: number;
1306
1818
  totalCreated: number;
1307
1819
  };
1820
+ }, {
1308
1821
  data: {
1309
1822
  date: string;
1310
1823
  total: number;
1311
1824
  byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1312
1825
  }[];
1826
+ summary: {
1827
+ averageDaily: number;
1828
+ totalCreated: number;
1829
+ };
1313
1830
  }>;
1314
1831
  };
1315
1832
  };
@@ -1338,14 +1855,14 @@ export declare const dashboardWidgetsContract: {
1338
1855
  performanceScore: z.ZodNumber;
1339
1856
  }, "strip", z.ZodTypeAny, {
1340
1857
  date: string;
1341
- conversionRate: number;
1342
1858
  totalCalls: number;
1859
+ conversionRate: number;
1343
1860
  performanceScore: number;
1344
1861
  averageRating: number;
1345
1862
  }, {
1346
1863
  date: string;
1347
- conversionRate: number;
1348
1864
  totalCalls: number;
1865
+ conversionRate: number;
1349
1866
  performanceScore: number;
1350
1867
  averageRating: number;
1351
1868
  }>, "many">;
@@ -1363,31 +1880,31 @@ export declare const dashboardWidgetsContract: {
1363
1880
  overallAverageRating: number;
1364
1881
  }>;
1365
1882
  }, "strip", z.ZodTypeAny, {
1366
- summary: {
1367
- averageDailyCalls: number;
1368
- overallConversionRate: number;
1369
- overallAverageRating: number;
1370
- };
1371
1883
  data: {
1372
1884
  date: string;
1373
- conversionRate: number;
1374
1885
  totalCalls: number;
1886
+ conversionRate: number;
1375
1887
  performanceScore: number;
1376
1888
  averageRating: number;
1377
1889
  }[];
1378
- }, {
1379
1890
  summary: {
1380
1891
  averageDailyCalls: number;
1381
1892
  overallConversionRate: number;
1382
1893
  overallAverageRating: number;
1383
1894
  };
1895
+ }, {
1384
1896
  data: {
1385
1897
  date: string;
1386
- conversionRate: number;
1387
1898
  totalCalls: number;
1899
+ conversionRate: number;
1388
1900
  performanceScore: number;
1389
1901
  averageRating: number;
1390
1902
  }[];
1903
+ summary: {
1904
+ averageDailyCalls: number;
1905
+ overallConversionRate: number;
1906
+ overallAverageRating: number;
1907
+ };
1391
1908
  }>;
1392
1909
  };
1393
1910
  };
@@ -1432,25 +1949,25 @@ export declare const dashboardWidgetsContract: {
1432
1949
  averagePerDay: number;
1433
1950
  }>;
1434
1951
  }, "strip", z.ZodTypeAny, {
1435
- summary: {
1436
- totalAdded: number;
1437
- averagePerDay: number;
1438
- };
1439
1952
  data: {
1440
1953
  date: string;
1441
1954
  added: number;
1442
1955
  cumulativeTotal: number;
1443
1956
  }[];
1444
- }, {
1445
1957
  summary: {
1446
1958
  totalAdded: number;
1447
1959
  averagePerDay: number;
1448
1960
  };
1961
+ }, {
1449
1962
  data: {
1450
1963
  date: string;
1451
1964
  added: number;
1452
1965
  cumulativeTotal: number;
1453
1966
  }[];
1967
+ summary: {
1968
+ totalAdded: number;
1969
+ averagePerDay: number;
1970
+ };
1454
1971
  }>;
1455
1972
  };
1456
1973
  };
@@ -1477,11 +1994,11 @@ export declare const dashboardWidgetsContract: {
1477
1994
  byStatus: z.ZodRecord<z.ZodEnum<["ACTIVE", "INACTIVE", "PENDING_APPROVAL", "REJECTED", "APPROVED", "CHANGED_COMPANY", "CHANGED_AGENT", "CHANGED_COMPANY_AND_AGENT"]>, z.ZodNumber>;
1478
1995
  }, "strip", z.ZodTypeAny, {
1479
1996
  date: string;
1480
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1997
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1481
1998
  created: number;
1482
1999
  }, {
1483
2000
  date: string;
1484
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2001
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1485
2002
  created: number;
1486
2003
  }>, "many">;
1487
2004
  summary: z.ZodObject<{
@@ -1495,25 +2012,25 @@ export declare const dashboardWidgetsContract: {
1495
2012
  activeCount: number;
1496
2013
  }>;
1497
2014
  }, "strip", z.ZodTypeAny, {
1498
- summary: {
1499
- totalCreated: number;
1500
- activeCount: number;
1501
- };
1502
2015
  data: {
1503
2016
  date: string;
1504
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2017
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1505
2018
  created: number;
1506
2019
  }[];
1507
- }, {
1508
2020
  summary: {
1509
2021
  totalCreated: number;
1510
2022
  activeCount: number;
1511
2023
  };
2024
+ }, {
1512
2025
  data: {
1513
2026
  date: string;
1514
- byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "REJECTED" | "INACTIVE" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2027
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1515
2028
  created: number;
1516
2029
  }[];
2030
+ summary: {
2031
+ totalCreated: number;
2032
+ activeCount: number;
2033
+ };
1517
2034
  }>;
1518
2035
  };
1519
2036
  };
@@ -1561,6 +2078,11 @@ export type AdminAgentStatsResponse = z.infer<ReturnType<typeof createPaginatedR
1561
2078
  totalCalls: z.ZodNumber;
1562
2079
  averageRating: z.ZodNumber;
1563
2080
  conversionRate: z.ZodNumber;
2081
+ callsOnDate: z.ZodNumber;
2082
+ efficientCalls: z.ZodNumber;
2083
+ conversionsOnDate: z.ZodNumber;
2084
+ dailyConversionRate: z.ZodNumber;
2085
+ ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<any>, z.ZodNumber>;
1564
2086
  performanceScore: z.ZodNumber;
1565
2087
  assignmentCalls: z.ZodNumber;
1566
2088
  followUpCalls: z.ZodNumber;
@@ -1571,4 +2093,6 @@ export type AdminAgentStatsResponse = z.infer<ReturnType<typeof createPaginatedR
1571
2093
  ownResearchLeadsNew: z.ZodNumber;
1572
2094
  }>>>>;
1573
2095
  export type AdminAgentStatsItem = AdminAgentStatsResponse['items'][number];
2096
+ export type AdminFaAggregate = z.infer<typeof AdminFaAggregateSchema>;
2097
+ export type AdminSaAggregate = z.infer<typeof AdminSaAggregateSchema>;
1574
2098
  //# sourceMappingURL=dashboard-widgets.contract.d.ts.map