@dakkitor/api-contracts 1.9.1 → 1.9.2

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 (111) hide show
  1. package/dist/abilities/abilities.contract.d.ts +28 -1
  2. package/dist/abilities/abilities.contract.d.ts.map +1 -1
  3. package/dist/abilities/abilities.contract.js +31 -1
  4. package/dist/abilities/abilities.contract.spec.js +52 -3
  5. package/dist/abilities/admin-dashboard.abilities.test.js +1 -0
  6. package/dist/abilities/automatic-caller.abilities.json +1 -0
  7. package/dist/abilities/first-agent.abilities.json +14 -0
  8. package/dist/abilities/interconnection.abilities.json +17 -1
  9. package/dist/abilities/office-manager.abilities.json +4 -0
  10. package/dist/abilities/second-agent.abilities.json +32 -1
  11. package/dist/abilities/worker-curator.abilities.json +17 -1
  12. package/dist/actives/actives.contract.d.ts +7200 -6919
  13. package/dist/actives/actives.contract.d.ts.map +1 -1
  14. package/dist/agent-client-links/agent-client-links.contract.d.ts +137 -137
  15. package/dist/auth/auth.contract.d.ts +85 -85
  16. package/dist/bookings/backdate-guard.spec.js +24 -32
  17. package/dist/bookings/bookings.contract.d.ts +10542 -10116
  18. package/dist/bookings/bookings.contract.d.ts.map +1 -1
  19. package/dist/bookings/bookings.contract.js +2 -16
  20. package/dist/call-history/call-history.contract.d.ts +315 -140
  21. package/dist/call-history/call-history.contract.d.ts.map +1 -1
  22. package/dist/calls-feed/calls-feed.contract.d.ts +39 -6
  23. package/dist/calls-feed/calls-feed.contract.d.ts.map +1 -1
  24. package/dist/candidate-calling/candidate-calling.contract.d.ts +6847 -1872
  25. package/dist/candidate-calling/candidate-calling.contract.d.ts.map +1 -1
  26. package/dist/candidate-calling/candidate-calling.contract.js +304 -16
  27. package/dist/candidate-calling/candidate-calling.contract.spec.js +164 -0
  28. package/dist/candidate-calling/candidate-dialpad-call.schemas.d.ts +10 -0
  29. package/dist/candidate-calling/candidate-dialpad-call.schemas.d.ts.map +1 -0
  30. package/dist/candidate-calling/candidate-dialpad-call.schemas.js +33 -0
  31. package/dist/client-contacts/client-contacts.contract.d.ts +622 -622
  32. package/dist/clients/clients.contract.d.ts +289 -289
  33. package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +601 -601
  34. package/dist/collaborations/collaborations.contract.d.ts +538 -538
  35. package/dist/common/callback-slots.d.ts +4 -0
  36. package/dist/common/callback-slots.d.ts.map +1 -0
  37. package/dist/common/callback-slots.js +20 -0
  38. package/dist/common/common-schemas.d.ts +10 -4
  39. package/dist/common/common-schemas.d.ts.map +1 -1
  40. package/dist/common/common-schemas.js +6 -0
  41. package/dist/companies/companies.contract.d.ts +120 -120
  42. package/dist/crews/crews.contract.d.ts +278 -278
  43. package/dist/cron-executions/cron-executions.contract.d.ts +238 -238
  44. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts +2154 -1296
  45. package/dist/curated-worker-leads/candidate-coordination.contract.d.ts.map +1 -1
  46. package/dist/curated-worker-leads/candidate-coordination.contract.js +36 -3
  47. package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +300 -300
  48. package/dist/curated-worker-leads/contact-history.spec.js +86 -0
  49. package/dist/curated-worker-leads/job-candidate-cards.spec.js +19 -0
  50. package/dist/curated-worker-leads/job-candidates.spec.js +179 -0
  51. package/dist/curated-worker-leads/jobs-tab.contract.d.ts +8598 -2519
  52. package/dist/curated-worker-leads/jobs-tab.contract.d.ts.map +1 -1
  53. package/dist/curated-worker-leads/jobs-tab.contract.js +126 -1
  54. package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts +110 -110
  55. package/dist/curated-workers/curated-workers.contract.d.ts +1213 -1131
  56. package/dist/curated-workers/curated-workers.contract.d.ts.map +1 -1
  57. package/dist/dashboards/dashboard-widgets.contact-history.spec.d.ts +2 -0
  58. package/dist/dashboards/dashboard-widgets.contact-history.spec.d.ts.map +1 -0
  59. package/dist/dashboards/dashboard-widgets.contact-history.spec.js +160 -0
  60. package/dist/dashboards/dashboard-widgets.contract.d.ts +1278 -535
  61. package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
  62. package/dist/dashboards/dashboard-widgets.contract.js +46 -1
  63. package/dist/dashboards/dashboard.contract.d.ts +8 -8
  64. package/dist/document-intake/document-intake.contract.d.ts +1145 -1145
  65. package/dist/export-jobs/export-jobs.contract.d.ts +663 -663
  66. package/dist/exports-events/exports-events.schemas.d.ts +2 -2
  67. package/dist/index.d.ts +1 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +1 -0
  70. package/dist/jobs/jobs.contract.d.ts +5586 -3381
  71. package/dist/jobs/jobs.contract.d.ts.map +1 -1
  72. package/dist/jobs/jobs.contract.js +95 -2
  73. package/dist/jobs/jobs.contract.spec.js +231 -1
  74. package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +123 -123
  75. package/dist/lead-assignments/lead-assignments.contract.d.ts +1897 -122
  76. package/dist/lead-assignments/lead-assignments.contract.d.ts.map +1 -1
  77. package/dist/lead-assignments/lead-assignments.contract.js +102 -2
  78. package/dist/lead-assignments/lead-assignments.contract.spec.d.ts +2 -0
  79. package/dist/lead-assignments/lead-assignments.contract.spec.d.ts.map +1 -0
  80. package/dist/lead-assignments/lead-assignments.contract.spec.js +51 -0
  81. package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +103 -103
  82. package/dist/leads/leads.contract.d.ts +210 -210
  83. package/dist/locations/location-enrichment.contract.spec.d.ts +2 -0
  84. package/dist/locations/location-enrichment.contract.spec.d.ts.map +1 -0
  85. package/dist/locations/location-enrichment.contract.spec.js +50 -0
  86. package/dist/locations/locations.contract.d.ts +132 -98
  87. package/dist/locations/locations.contract.d.ts.map +1 -1
  88. package/dist/locations/locations.contract.js +10 -0
  89. package/dist/notifications/notifications.contract.d.ts +512 -40
  90. package/dist/notifications/notifications.contract.d.ts.map +1 -1
  91. package/dist/notifications/notifications.contract.js +36 -2
  92. package/dist/notifications/notifications.contract.spec.d.ts +2 -0
  93. package/dist/notifications/notifications.contract.spec.d.ts.map +1 -0
  94. package/dist/notifications/notifications.contract.spec.js +39 -0
  95. package/dist/own-research/own-research.contract.d.ts +196 -130
  96. package/dist/own-research/own-research.contract.d.ts.map +1 -1
  97. package/dist/proofs/proofs.contract.d.ts +356 -356
  98. package/dist/proofs/proofs.dtos.d.ts +148 -148
  99. package/dist/realtime/job-call-priority-updated.d.ts +18 -0
  100. package/dist/realtime/job-call-priority-updated.d.ts.map +1 -0
  101. package/dist/realtime/job-call-priority-updated.js +17 -0
  102. package/dist/shared/summary-schemas.d.ts +36 -27
  103. package/dist/shared/summary-schemas.d.ts.map +1 -1
  104. package/dist/shared/summary-schemas.js +7 -0
  105. package/dist/sheets-sync/sheets-sync.contract.d.ts +683 -683
  106. package/dist/user-access-grants/user-access-grants.contract.d.ts +55 -55
  107. package/dist/users/users.contract.d.ts +236 -236
  108. package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts +69 -69
  109. package/dist/workers/workers.contract.d.ts +2620 -2420
  110. package/dist/workers/workers.contract.d.ts.map +1 -1
  111. package/package.json +1 -1
@@ -7,6 +7,7 @@
7
7
  */
8
8
  import { z } from 'zod';
9
9
  import { createPaginatedResponseSchema } from '../common/pagination.schema';
10
+ import { CandidateContactHistoryOutcomeSchema } from '../curated-worker-leads/candidate-coordination.contract';
10
11
  /**
11
12
  * Common query parameters for dashboard widgets
12
13
  */
@@ -108,11 +109,11 @@ export declare const FaPipelineWidgetSchema: z.ZodObject<{
108
109
  recentCount: z.ZodNumber;
109
110
  }, "strip", z.ZodTypeAny, {
110
111
  total: number;
111
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
112
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
112
113
  recentCount: number;
113
114
  }, {
114
115
  total: number;
115
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
116
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
116
117
  recentCount: number;
117
118
  }>;
118
119
  summary: z.ZodObject<{
@@ -132,7 +133,7 @@ export declare const FaPipelineWidgetSchema: z.ZodObject<{
132
133
  };
133
134
  collaborations: {
134
135
  total: number;
135
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
136
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
136
137
  recentCount: number;
137
138
  };
138
139
  }, {
@@ -142,7 +143,7 @@ export declare const FaPipelineWidgetSchema: z.ZodObject<{
142
143
  };
143
144
  collaborations: {
144
145
  total: number;
145
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
146
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
146
147
  recentCount: number;
147
148
  };
148
149
  }>;
@@ -156,12 +157,12 @@ export declare const FaClientsWidgetSchema: z.ZodObject<{
156
157
  pendingVerification: z.ZodNumber;
157
158
  }, "strip", z.ZodTypeAny, {
158
159
  total: number;
159
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
160
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
160
161
  recentlyAdded: number;
161
162
  pendingVerification: number;
162
163
  }, {
163
164
  total: number;
164
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
165
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
165
166
  recentlyAdded: number;
166
167
  pendingVerification: number;
167
168
  }>;
@@ -204,13 +205,13 @@ export declare const FaCallHistoryWidgetSchema: z.ZodObject<{
204
205
  ownResearchLeadsExistingInSystem: z.ZodNumber;
205
206
  ownResearchLeadsNew: z.ZodNumber;
206
207
  }, "strip", z.ZodTypeAny, {
208
+ conversionRate: number;
207
209
  totalCalls: number;
210
+ performanceScore: number;
211
+ performanceTier: "high" | "medium" | "low" | "new";
208
212
  callsToday: number;
209
213
  averageRatingToday: number;
210
214
  efficientCallsToday: number;
211
- conversionRate: number;
212
- performanceScore: number;
213
- performanceTier: "high" | "medium" | "low" | "new";
214
215
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
215
216
  assignmentCalls: number;
216
217
  followUpCalls: number;
@@ -220,13 +221,13 @@ export declare const FaCallHistoryWidgetSchema: z.ZodObject<{
220
221
  ownResearchLeadsExistingInSystem: number;
221
222
  ownResearchLeadsNew: number;
222
223
  }, {
224
+ conversionRate: number;
223
225
  totalCalls: number;
226
+ performanceScore: number;
227
+ performanceTier: "high" | "medium" | "low" | "new";
224
228
  callsToday: number;
225
229
  averageRatingToday: number;
226
230
  efficientCallsToday: number;
227
- conversionRate: number;
228
- performanceScore: number;
229
- performanceTier: "high" | "medium" | "low" | "new";
230
231
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
231
232
  assignmentCalls: number;
232
233
  followUpCalls: number;
@@ -252,10 +253,10 @@ export declare const AllAgentsCallHistoryQuerySchema: z.ZodObject<{
252
253
  field: z.ZodEnum<["agentName", "activesFaActive", "activesFaOthers", "activesSaActive", "activesSaOthers", "bookingsFaAttempts", "bookingsFaFailed", "bookingsFaInProgress", "bookingsFaCompleted", "bookingsFaCancelled", "bookingsSaAttempts", "bookingsSaFailed", "bookingsSaInProgress", "bookingsSaCompleted", "bookingsSaCancelled", "callsOnDate", "efficientCalls", "conversionsOnDate", "dailyConversionRate", "performanceScore", "ownResearchLeadsAdded", "jobsCreatedOnDate", "jobsTotalOpenPositions", "jobsFilledPositions", "workersAddedToday", "offersSent", "offersBooked"]>;
253
254
  order: z.ZodEnum<["ASC", "DESC"]>;
254
255
  }, "strip", z.ZodTypeAny, {
255
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
256
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
256
257
  order: "ASC" | "DESC";
257
258
  }, {
258
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
259
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
259
260
  order: "ASC" | "DESC";
260
261
  }>, "many">>>>;
261
262
  search: z.ZodOptional<z.ZodString>;
@@ -264,11 +265,11 @@ export declare const AllAgentsCallHistoryQuerySchema: z.ZodObject<{
264
265
  minScore: z.ZodOptional<z.ZodNumber>;
265
266
  maxScore: z.ZodOptional<z.ZodNumber>;
266
267
  }, "strip", z.ZodTypeAny, {
268
+ status: "ACTIVE" | "INACTIVE";
267
269
  page: number;
268
270
  limit: number;
269
- status: "ACTIVE" | "INACTIVE";
270
271
  sort?: {
271
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
272
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
272
273
  order: "ASC" | "DESC";
273
274
  }[] | null | undefined;
274
275
  startDate?: string | undefined;
@@ -280,13 +281,13 @@ export declare const AllAgentsCallHistoryQuerySchema: z.ZodObject<{
280
281
  minScore?: number | undefined;
281
282
  maxScore?: number | undefined;
282
283
  }, {
284
+ status?: "ACTIVE" | "INACTIVE" | undefined;
283
285
  sort?: {
284
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
286
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
285
287
  order: "ASC" | "DESC";
286
288
  }[] | null | undefined;
287
289
  page?: number | undefined;
288
290
  limit?: number | undefined;
289
- status?: "ACTIVE" | "INACTIVE" | undefined;
290
291
  startDate?: string | undefined;
291
292
  endDate?: string | undefined;
292
293
  date?: string | undefined;
@@ -873,11 +874,11 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
873
874
  ownResearchLeadsExistingInSystem: z.ZodNumber;
874
875
  ownResearchLeadsNew: z.ZodNumber;
875
876
  }, "strip", z.ZodTypeAny, {
877
+ conversionRate: number;
876
878
  totalCalls: number;
877
879
  callsToday: number;
878
880
  averageRatingToday: number;
879
881
  efficientCallsToday: number;
880
- conversionRate: number;
881
882
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
882
883
  assignmentCalls: number;
883
884
  followUpCalls: number;
@@ -888,11 +889,11 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
888
889
  ownResearchLeadsNew: number;
889
890
  averagePerformanceScore: number;
890
891
  }, {
892
+ conversionRate: number;
891
893
  totalCalls: number;
892
894
  callsToday: number;
893
895
  averageRatingToday: number;
894
896
  efficientCallsToday: number;
895
- conversionRate: number;
896
897
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
897
898
  assignmentCalls: number;
898
899
  followUpCalls: number;
@@ -982,11 +983,11 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
982
983
  overbookedCount: number;
983
984
  };
984
985
  callMetrics: {
986
+ conversionRate: number;
985
987
  totalCalls: number;
986
988
  callsToday: number;
987
989
  averageRatingToday: number;
988
990
  efficientCallsToday: number;
989
- conversionRate: number;
990
991
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
991
992
  assignmentCalls: number;
992
993
  followUpCalls: number;
@@ -1045,11 +1046,11 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
1045
1046
  overbookedCount: number;
1046
1047
  };
1047
1048
  callMetrics: {
1049
+ conversionRate: number;
1048
1050
  totalCalls: number;
1049
1051
  callsToday: number;
1050
1052
  averageRatingToday: number;
1051
1053
  efficientCallsToday: number;
1052
- conversionRate: number;
1053
1054
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
1054
1055
  assignmentCalls: number;
1055
1056
  followUpCalls: number;
@@ -1267,11 +1268,11 @@ export declare const AdminSaAggregateSchema: z.ZodObject<{
1267
1268
  pendingConfirmation: number;
1268
1269
  upcomingStarts: number;
1269
1270
  };
1270
- agentCount: number;
1271
1271
  workers: {
1272
1272
  total: number;
1273
1273
  addedToday: number;
1274
1274
  };
1275
+ agentCount: number;
1275
1276
  }, {
1276
1277
  actives: {
1277
1278
  total: number;
@@ -1307,78 +1308,417 @@ export declare const AdminSaAggregateSchema: z.ZodObject<{
1307
1308
  pendingConfirmation: number;
1308
1309
  upcomingStarts: number;
1309
1310
  };
1310
- agentCount: number;
1311
1311
  workers: {
1312
1312
  total: number;
1313
1313
  addedToday: number;
1314
1314
  };
1315
+ agentCount: number;
1315
1316
  }>;
1316
- /**
1317
- * Actives trend data for charts
1318
- */
1319
- export declare const ActivesTrendSchema: z.ZodObject<{
1320
- data: z.ZodArray<z.ZodObject<{
1321
- date: z.ZodString;
1317
+ /** Shared office-wide metrics that do not belong to either agent role tab. */
1318
+ export declare const AdminSharedAggregateSchema: z.ZodObject<{
1319
+ actives: z.ZodObject<{
1320
+ /** Flat structure (unlike per-agent FaActivesWidgetSchema which nests under 'today') */
1322
1321
  total: z.ZodNumber;
1322
+ /**
1323
+ * Actives grouped by unified status, counting every active in scope (FA OR SA
1324
+ * in office). Replaces the former separate byStatusFa/byStatusSa breakdowns now
1325
+ * that the FA/SA status fields are unified into a single `status`.
1326
+ */
1323
1327
  byStatus: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY", "OFF_SCHEDULE"]>, z.ZodNumber>;
1324
1328
  }, "strip", z.ZodTypeAny, {
1325
- date: string;
1326
1329
  total: number;
1327
1330
  byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1328
1331
  }, {
1329
- date: string;
1330
1332
  total: number;
1331
1333
  byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1332
- }>, "many">;
1333
- summary: z.ZodObject<{
1334
- averageDaily: z.ZodNumber;
1335
- peakDay: z.ZodNullable<z.ZodString>;
1336
- peakValue: z.ZodNumber;
1334
+ }>;
1335
+ bookings: z.ZodObject<{
1336
+ forToday: z.ZodObject<{
1337
+ byStatusFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
1338
+ byStatusSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
1339
+ byStatusFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
1340
+ byCategoryFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
1341
+ byCategorySa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
1342
+ byCategoryFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
1343
+ total: z.ZodNumber;
1344
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
1345
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
1346
+ /**
1347
+ * Bookings that start on this day AND were created on this day (booked and
1348
+ * starting same-day). A subset of the start-side count, so the share of
1349
+ * today's starts = sameDay / starting. Only populated for the `forToday`
1350
+ * bucket (meaningless for `createdToday`).
1351
+ */
1352
+ sameDay: z.ZodOptional<z.ZodNumber>;
1353
+ }, "strip", z.ZodTypeAny, {
1354
+ total: number;
1355
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1356
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1357
+ byStatusFa?: unknown;
1358
+ sameDay?: number | undefined;
1359
+ byStatusSa?: unknown;
1360
+ byStatusFaSa?: unknown;
1361
+ byCategoryFa?: unknown;
1362
+ byCategorySa?: unknown;
1363
+ byCategoryFaSa?: unknown;
1364
+ }, {
1365
+ total: number;
1366
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1367
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1368
+ byStatusFa?: unknown;
1369
+ sameDay?: number | undefined;
1370
+ byStatusSa?: unknown;
1371
+ byStatusFaSa?: unknown;
1372
+ byCategoryFa?: unknown;
1373
+ byCategorySa?: unknown;
1374
+ byCategoryFaSa?: unknown;
1375
+ }>;
1376
+ createdToday: z.ZodObject<{
1377
+ byStatusFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
1378
+ byStatusSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
1379
+ byStatusFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
1380
+ byCategoryFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
1381
+ byCategorySa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
1382
+ byCategoryFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
1383
+ total: z.ZodNumber;
1384
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
1385
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
1386
+ /**
1387
+ * Bookings that start on this day AND were created on this day (booked and
1388
+ * starting same-day). A subset of the start-side count, so the share of
1389
+ * today's starts = sameDay / starting. Only populated for the `forToday`
1390
+ * bucket (meaningless for `createdToday`).
1391
+ */
1392
+ sameDay: z.ZodOptional<z.ZodNumber>;
1393
+ }, "strip", z.ZodTypeAny, {
1394
+ total: number;
1395
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1396
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1397
+ byStatusFa?: unknown;
1398
+ sameDay?: number | undefined;
1399
+ byStatusSa?: unknown;
1400
+ byStatusFaSa?: unknown;
1401
+ byCategoryFa?: unknown;
1402
+ byCategorySa?: unknown;
1403
+ byCategoryFaSa?: unknown;
1404
+ }, {
1405
+ total: number;
1406
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1407
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1408
+ byStatusFa?: unknown;
1409
+ sameDay?: number | undefined;
1410
+ byStatusSa?: unknown;
1411
+ byStatusFaSa?: unknown;
1412
+ byCategoryFa?: unknown;
1413
+ byCategorySa?: unknown;
1414
+ byCategoryFaSa?: unknown;
1415
+ }>;
1416
+ ongoingBookings: z.ZodNumber;
1417
+ startingToday: z.ZodNumber;
1418
+ pendingConfirmation: z.ZodNumber;
1419
+ upcomingStarts: z.ZodNumber;
1337
1420
  }, "strip", z.ZodTypeAny, {
1338
- averageDaily: number;
1339
- peakDay: string | null;
1340
- peakValue: number;
1421
+ forToday: {
1422
+ total: number;
1423
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1424
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1425
+ byStatusFa?: unknown;
1426
+ sameDay?: number | undefined;
1427
+ byStatusSa?: unknown;
1428
+ byStatusFaSa?: unknown;
1429
+ byCategoryFa?: unknown;
1430
+ byCategorySa?: unknown;
1431
+ byCategoryFaSa?: unknown;
1432
+ };
1433
+ createdToday: {
1434
+ total: number;
1435
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1436
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1437
+ byStatusFa?: unknown;
1438
+ sameDay?: number | undefined;
1439
+ byStatusSa?: unknown;
1440
+ byStatusFaSa?: unknown;
1441
+ byCategoryFa?: unknown;
1442
+ byCategorySa?: unknown;
1443
+ byCategoryFaSa?: unknown;
1444
+ };
1445
+ ongoingBookings: number;
1446
+ startingToday: number;
1447
+ pendingConfirmation: number;
1448
+ upcomingStarts: number;
1341
1449
  }, {
1342
- averageDaily: number;
1343
- peakDay: string | null;
1344
- peakValue: number;
1450
+ forToday: {
1451
+ total: number;
1452
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1453
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1454
+ byStatusFa?: unknown;
1455
+ sameDay?: number | undefined;
1456
+ byStatusSa?: unknown;
1457
+ byStatusFaSa?: unknown;
1458
+ byCategoryFa?: unknown;
1459
+ byCategorySa?: unknown;
1460
+ byCategoryFaSa?: unknown;
1461
+ };
1462
+ createdToday: {
1463
+ total: number;
1464
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1465
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1466
+ byStatusFa?: unknown;
1467
+ sameDay?: number | undefined;
1468
+ byStatusSa?: unknown;
1469
+ byStatusFaSa?: unknown;
1470
+ byCategoryFa?: unknown;
1471
+ byCategorySa?: unknown;
1472
+ byCategoryFaSa?: unknown;
1473
+ };
1474
+ ongoingBookings: number;
1475
+ startingToday: number;
1476
+ pendingConfirmation: number;
1477
+ upcomingStarts: number;
1345
1478
  }>;
1346
1479
  }, "strip", z.ZodTypeAny, {
1347
- data: {
1348
- date: string;
1480
+ actives: {
1349
1481
  total: number;
1350
1482
  byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1351
- }[];
1352
- summary: {
1353
- averageDaily: number;
1354
- peakDay: string | null;
1355
- peakValue: number;
1483
+ };
1484
+ bookings: {
1485
+ forToday: {
1486
+ total: number;
1487
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1488
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1489
+ byStatusFa?: unknown;
1490
+ sameDay?: number | undefined;
1491
+ byStatusSa?: unknown;
1492
+ byStatusFaSa?: unknown;
1493
+ byCategoryFa?: unknown;
1494
+ byCategorySa?: unknown;
1495
+ byCategoryFaSa?: unknown;
1496
+ };
1497
+ createdToday: {
1498
+ total: number;
1499
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1500
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1501
+ byStatusFa?: unknown;
1502
+ sameDay?: number | undefined;
1503
+ byStatusSa?: unknown;
1504
+ byStatusFaSa?: unknown;
1505
+ byCategoryFa?: unknown;
1506
+ byCategorySa?: unknown;
1507
+ byCategoryFaSa?: unknown;
1508
+ };
1509
+ ongoingBookings: number;
1510
+ startingToday: number;
1511
+ pendingConfirmation: number;
1512
+ upcomingStarts: number;
1356
1513
  };
1357
1514
  }, {
1358
- data: {
1359
- date: string;
1515
+ actives: {
1360
1516
  total: number;
1361
1517
  byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1362
- }[];
1363
- summary: {
1364
- averageDaily: number;
1365
- peakDay: string | null;
1366
- peakValue: number;
1367
1518
  };
1368
- }>;
1369
- /**
1370
- * Bookings trend data for charts.
1371
- *
1372
- * Per day we expose TWO views of the same timeline:
1373
- * - created* : bookings CREATED on that day (the line) — `total`/`byStatus`
1374
- * kept under their legacy names for backward compatibility.
1375
- * - forDay* : bookings whose startDate OR endDate is that day (the stacked
1376
- * bars), grouped by category, with per-status detail for tooltips.
1377
- */
1378
- export declare const BookingsTrendSchema: z.ZodObject<{
1379
- data: z.ZodArray<z.ZodObject<{
1380
- date: z.ZodString;
1381
- total: z.ZodNumber;
1519
+ bookings: {
1520
+ forToday: {
1521
+ total: number;
1522
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1523
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1524
+ byStatusFa?: unknown;
1525
+ sameDay?: number | undefined;
1526
+ byStatusSa?: unknown;
1527
+ byStatusFaSa?: unknown;
1528
+ byCategoryFa?: unknown;
1529
+ byCategorySa?: unknown;
1530
+ byCategoryFaSa?: unknown;
1531
+ };
1532
+ createdToday: {
1533
+ total: number;
1534
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1535
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1536
+ byStatusFa?: unknown;
1537
+ sameDay?: number | undefined;
1538
+ byStatusSa?: unknown;
1539
+ byStatusFaSa?: unknown;
1540
+ byCategoryFa?: unknown;
1541
+ byCategorySa?: unknown;
1542
+ byCategoryFaSa?: unknown;
1543
+ };
1544
+ ongoingBookings: number;
1545
+ startingToday: number;
1546
+ pendingConfirmation: number;
1547
+ upcomingStarts: number;
1548
+ };
1549
+ }>;
1550
+ /** Normalized candidate-contact history metrics for Second Agents. */
1551
+ export declare const AdminContactHistoryMetricsSchema: z.ZodObject<{
1552
+ phone: z.ZodObject<{
1553
+ total: z.ZodNumber;
1554
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
1555
+ }, "strip", z.ZodTypeAny, {
1556
+ total: number;
1557
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1558
+ }, {
1559
+ total: number;
1560
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1561
+ }>;
1562
+ whatsapp: z.ZodObject<{
1563
+ total: z.ZodNumber;
1564
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
1565
+ }, "strip", z.ZodTypeAny, {
1566
+ total: number;
1567
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1568
+ }, {
1569
+ total: number;
1570
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1571
+ }>;
1572
+ data: z.ZodArray<z.ZodObject<{
1573
+ date: z.ZodString;
1574
+ phone: z.ZodObject<{
1575
+ total: z.ZodNumber;
1576
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
1577
+ }, "strip", z.ZodTypeAny, {
1578
+ total: number;
1579
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1580
+ }, {
1581
+ total: number;
1582
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1583
+ }>;
1584
+ whatsapp: z.ZodObject<{
1585
+ total: z.ZodNumber;
1586
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
1587
+ }, "strip", z.ZodTypeAny, {
1588
+ total: number;
1589
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1590
+ }, {
1591
+ total: number;
1592
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1593
+ }>;
1594
+ }, "strip", z.ZodTypeAny, {
1595
+ phone: {
1596
+ total: number;
1597
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1598
+ };
1599
+ date: string;
1600
+ whatsapp: {
1601
+ total: number;
1602
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1603
+ };
1604
+ }, {
1605
+ phone: {
1606
+ total: number;
1607
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1608
+ };
1609
+ date: string;
1610
+ whatsapp: {
1611
+ total: number;
1612
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1613
+ };
1614
+ }>, "many">;
1615
+ }, "strip", z.ZodTypeAny, {
1616
+ phone: {
1617
+ total: number;
1618
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1619
+ };
1620
+ data: {
1621
+ phone: {
1622
+ total: number;
1623
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1624
+ };
1625
+ date: string;
1626
+ whatsapp: {
1627
+ total: number;
1628
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1629
+ };
1630
+ }[];
1631
+ whatsapp: {
1632
+ total: number;
1633
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1634
+ };
1635
+ }, {
1636
+ phone: {
1637
+ total: number;
1638
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1639
+ };
1640
+ data: {
1641
+ phone: {
1642
+ total: number;
1643
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1644
+ };
1645
+ date: string;
1646
+ whatsapp: {
1647
+ total: number;
1648
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1649
+ };
1650
+ }[];
1651
+ whatsapp: {
1652
+ total: number;
1653
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
1654
+ };
1655
+ }>;
1656
+ /**
1657
+ * Actives trend data for charts
1658
+ */
1659
+ export declare const ActivesTrendSchema: z.ZodObject<{
1660
+ data: z.ZodArray<z.ZodObject<{
1661
+ date: z.ZodString;
1662
+ total: z.ZodNumber;
1663
+ byStatus: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY", "OFF_SCHEDULE"]>, z.ZodNumber>;
1664
+ }, "strip", z.ZodTypeAny, {
1665
+ date: string;
1666
+ total: number;
1667
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1668
+ }, {
1669
+ date: string;
1670
+ total: number;
1671
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1672
+ }>, "many">;
1673
+ summary: z.ZodObject<{
1674
+ averageDaily: z.ZodNumber;
1675
+ peakDay: z.ZodNullable<z.ZodString>;
1676
+ peakValue: z.ZodNumber;
1677
+ }, "strip", z.ZodTypeAny, {
1678
+ averageDaily: number;
1679
+ peakDay: string | null;
1680
+ peakValue: number;
1681
+ }, {
1682
+ averageDaily: number;
1683
+ peakDay: string | null;
1684
+ peakValue: number;
1685
+ }>;
1686
+ }, "strip", z.ZodTypeAny, {
1687
+ summary: {
1688
+ averageDaily: number;
1689
+ peakDay: string | null;
1690
+ peakValue: number;
1691
+ };
1692
+ data: {
1693
+ date: string;
1694
+ total: number;
1695
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1696
+ }[];
1697
+ }, {
1698
+ summary: {
1699
+ averageDaily: number;
1700
+ peakDay: string | null;
1701
+ peakValue: number;
1702
+ };
1703
+ data: {
1704
+ date: string;
1705
+ total: number;
1706
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
1707
+ }[];
1708
+ }>;
1709
+ /**
1710
+ * Bookings trend data for charts.
1711
+ *
1712
+ * Per day we expose TWO views of the same timeline:
1713
+ * - created* : bookings CREATED on that day (the line) — `total`/`byStatus`
1714
+ * kept under their legacy names for backward compatibility.
1715
+ * - forDay* : bookings whose startDate OR endDate is that day (the stacked
1716
+ * bars), grouped by category, with per-status detail for tooltips.
1717
+ */
1718
+ export declare const BookingsTrendSchema: z.ZodObject<{
1719
+ data: z.ZodArray<z.ZodObject<{
1720
+ date: z.ZodString;
1721
+ total: z.ZodNumber;
1382
1722
  byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
1383
1723
  forDayTotal: z.ZodNumber;
1384
1724
  forDayByCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
@@ -1409,6 +1749,10 @@ export declare const BookingsTrendSchema: z.ZodObject<{
1409
1749
  averageDaily: number;
1410
1750
  }>;
1411
1751
  }, "strip", z.ZodTypeAny, {
1752
+ summary: {
1753
+ totalCreated: number;
1754
+ averageDaily: number;
1755
+ };
1412
1756
  data: {
1413
1757
  date: string;
1414
1758
  total: number;
@@ -1417,11 +1761,11 @@ export declare const BookingsTrendSchema: z.ZodObject<{
1417
1761
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1418
1762
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1419
1763
  }[];
1764
+ }, {
1420
1765
  summary: {
1421
1766
  totalCreated: number;
1422
1767
  averageDaily: number;
1423
1768
  };
1424
- }, {
1425
1769
  data: {
1426
1770
  date: string;
1427
1771
  total: number;
@@ -1430,10 +1774,6 @@ export declare const BookingsTrendSchema: z.ZodObject<{
1430
1774
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
1431
1775
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
1432
1776
  }[];
1433
- summary: {
1434
- totalCreated: number;
1435
- averageDaily: number;
1436
- };
1437
1777
  }>;
1438
1778
  /**
1439
1779
  * Call performance trend data for charts
@@ -1448,15 +1788,15 @@ export declare const CallPerformanceTrendSchema: z.ZodObject<{
1448
1788
  ratingBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
1449
1789
  }, "strip", z.ZodTypeAny, {
1450
1790
  date: string;
1451
- totalCalls: number;
1452
1791
  conversionRate: number;
1792
+ totalCalls: number;
1453
1793
  performanceScore: number;
1454
1794
  ratingBreakdown: Record<string, number>;
1455
1795
  averageRating: number;
1456
1796
  }, {
1457
1797
  date: string;
1458
- totalCalls: number;
1459
1798
  conversionRate: number;
1799
+ totalCalls: number;
1460
1800
  performanceScore: number;
1461
1801
  ratingBreakdown: Record<string, number>;
1462
1802
  averageRating: number;
@@ -1475,33 +1815,33 @@ export declare const CallPerformanceTrendSchema: z.ZodObject<{
1475
1815
  overallAverageRating: number;
1476
1816
  }>;
1477
1817
  }, "strip", z.ZodTypeAny, {
1818
+ summary: {
1819
+ averageDailyCalls: number;
1820
+ overallConversionRate: number;
1821
+ overallAverageRating: number;
1822
+ };
1478
1823
  data: {
1479
1824
  date: string;
1480
- totalCalls: number;
1481
1825
  conversionRate: number;
1826
+ totalCalls: number;
1482
1827
  performanceScore: number;
1483
1828
  ratingBreakdown: Record<string, number>;
1484
1829
  averageRating: number;
1485
1830
  }[];
1831
+ }, {
1486
1832
  summary: {
1487
1833
  averageDailyCalls: number;
1488
1834
  overallConversionRate: number;
1489
1835
  overallAverageRating: number;
1490
1836
  };
1491
- }, {
1492
1837
  data: {
1493
1838
  date: string;
1494
- totalCalls: number;
1495
1839
  conversionRate: number;
1840
+ totalCalls: number;
1496
1841
  performanceScore: number;
1497
1842
  ratingBreakdown: Record<string, number>;
1498
1843
  averageRating: number;
1499
1844
  }[];
1500
- summary: {
1501
- averageDailyCalls: number;
1502
- overallConversionRate: number;
1503
- overallAverageRating: number;
1504
- };
1505
1845
  }>;
1506
1846
  /**
1507
1847
  * Workers trend data for charts (SA only)
@@ -1531,25 +1871,25 @@ export declare const WorkersTrendSchema: z.ZodObject<{
1531
1871
  averagePerDay: number;
1532
1872
  }>;
1533
1873
  }, "strip", z.ZodTypeAny, {
1874
+ summary: {
1875
+ totalAdded: number;
1876
+ averagePerDay: number;
1877
+ };
1534
1878
  data: {
1535
1879
  date: string;
1536
1880
  added: number;
1537
1881
  cumulativeTotal: number;
1538
1882
  }[];
1883
+ }, {
1539
1884
  summary: {
1540
1885
  totalAdded: number;
1541
1886
  averagePerDay: number;
1542
1887
  };
1543
- }, {
1544
1888
  data: {
1545
1889
  date: string;
1546
1890
  added: number;
1547
1891
  cumulativeTotal: number;
1548
1892
  }[];
1549
- summary: {
1550
- totalAdded: number;
1551
- averagePerDay: number;
1552
- };
1553
1893
  }>;
1554
1894
  /**
1555
1895
  * Jobs trend data for charts (FA). created/day bars; open positions is the
@@ -1564,14 +1904,14 @@ export declare const JobsTrendSchema: z.ZodObject<{
1564
1904
  fillRate: z.ZodNumber;
1565
1905
  }, "strip", z.ZodTypeAny, {
1566
1906
  date: string;
1567
- fillRate: number;
1568
1907
  created: number;
1908
+ fillRate: number;
1569
1909
  openPositions: number;
1570
1910
  filled: number;
1571
1911
  }, {
1572
1912
  date: string;
1573
- fillRate: number;
1574
1913
  created: number;
1914
+ fillRate: number;
1575
1915
  openPositions: number;
1576
1916
  filled: number;
1577
1917
  }>, "many">;
@@ -1592,33 +1932,33 @@ export declare const JobsTrendSchema: z.ZodObject<{
1592
1932
  endOpenPositions: number;
1593
1933
  }>;
1594
1934
  }, "strip", z.ZodTypeAny, {
1595
- data: {
1596
- date: string;
1597
- fillRate: number;
1598
- created: number;
1599
- openPositions: number;
1600
- filled: number;
1601
- }[];
1602
1935
  summary: {
1603
1936
  totalCreated: number;
1604
1937
  fillRate: number;
1605
1938
  totalFilled: number;
1606
1939
  endOpenPositions: number;
1607
1940
  };
1608
- }, {
1609
1941
  data: {
1610
1942
  date: string;
1611
- fillRate: number;
1612
1943
  created: number;
1944
+ fillRate: number;
1613
1945
  openPositions: number;
1614
1946
  filled: number;
1615
1947
  }[];
1948
+ }, {
1616
1949
  summary: {
1617
1950
  totalCreated: number;
1618
1951
  fillRate: number;
1619
1952
  totalFilled: number;
1620
1953
  endOpenPositions: number;
1621
1954
  };
1955
+ data: {
1956
+ date: string;
1957
+ created: number;
1958
+ fillRate: number;
1959
+ openPositions: number;
1960
+ filled: number;
1961
+ }[];
1622
1962
  }>;
1623
1963
  /**
1624
1964
  * Collaborations trend data for charts (FA only)
@@ -1630,12 +1970,12 @@ export declare const CollaborationsTrendSchema: z.ZodObject<{
1630
1970
  byStatus: z.ZodRecord<z.ZodEnum<["ACTIVE", "INACTIVE", "PENDING_APPROVAL", "REJECTED", "APPROVED", "CHANGED_COMPANY", "CHANGED_AGENT", "CHANGED_COMPANY_AND_AGENT"]>, z.ZodNumber>;
1631
1971
  }, "strip", z.ZodTypeAny, {
1632
1972
  date: string;
1633
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1634
1973
  created: number;
1974
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1635
1975
  }, {
1636
1976
  date: string;
1637
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1638
1977
  created: number;
1978
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1639
1979
  }>, "many">;
1640
1980
  summary: z.ZodObject<{
1641
1981
  totalCreated: z.ZodNumber;
@@ -1648,25 +1988,25 @@ export declare const CollaborationsTrendSchema: z.ZodObject<{
1648
1988
  totalCreated: number;
1649
1989
  }>;
1650
1990
  }, "strip", z.ZodTypeAny, {
1651
- data: {
1652
- date: string;
1653
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1654
- created: number;
1655
- }[];
1656
1991
  summary: {
1657
1992
  activeCount: number;
1658
1993
  totalCreated: number;
1659
1994
  };
1660
- }, {
1661
1995
  data: {
1662
1996
  date: string;
1663
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1664
1997
  created: number;
1998
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1665
1999
  }[];
2000
+ }, {
1666
2001
  summary: {
1667
2002
  activeCount: number;
1668
2003
  totalCreated: number;
1669
2004
  };
2005
+ data: {
2006
+ date: string;
2007
+ created: number;
2008
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2009
+ }[];
1670
2010
  }>;
1671
2011
  /**
1672
2012
  * Proofs widget — section-entry counts split by category, each broken down by
@@ -1678,41 +2018,41 @@ export declare const ProofsWidgetSchema: z.ZodObject<{
1678
2018
  byType: z.ZodRecord<z.ZodEnum<["FACEBOOK", "TELEGRAM", "WHATSAPP", "VIBER", "OTHER"]>, z.ZodNumber>;
1679
2019
  }, "strip", z.ZodTypeAny, {
1680
2020
  total: number;
1681
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2021
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1682
2022
  }, {
1683
2023
  total: number;
1684
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2024
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1685
2025
  }>;
1686
2026
  booking: z.ZodObject<{
1687
2027
  total: z.ZodNumber;
1688
2028
  byType: z.ZodRecord<z.ZodEnum<["CONFIRMATION", "DISTANCE", "MORNING_STATUS"]>, z.ZodNumber>;
1689
2029
  }, "strip", z.ZodTypeAny, {
1690
2030
  total: number;
1691
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2031
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1692
2032
  }, {
1693
2033
  total: number;
1694
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2034
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1695
2035
  }>;
1696
2036
  total: z.ZodNumber;
1697
2037
  }, "strip", z.ZodTypeAny, {
1698
2038
  booking: {
1699
2039
  total: number;
1700
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2040
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1701
2041
  };
1702
2042
  total: number;
1703
2043
  post: {
1704
2044
  total: number;
1705
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2045
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1706
2046
  };
1707
2047
  }, {
1708
2048
  booking: {
1709
2049
  total: number;
1710
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2050
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1711
2051
  };
1712
2052
  total: number;
1713
2053
  post: {
1714
2054
  total: number;
1715
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2055
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1716
2056
  };
1717
2057
  }>;
1718
2058
  /**
@@ -1727,43 +2067,43 @@ export declare const ProofsTrendSchema: z.ZodObject<{
1727
2067
  byType: z.ZodRecord<z.ZodEnum<["FACEBOOK", "TELEGRAM", "WHATSAPP", "VIBER", "OTHER"]>, z.ZodNumber>;
1728
2068
  }, "strip", z.ZodTypeAny, {
1729
2069
  total: number;
1730
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2070
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1731
2071
  }, {
1732
2072
  total: number;
1733
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2073
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1734
2074
  }>;
1735
2075
  booking: z.ZodObject<{
1736
2076
  total: z.ZodNumber;
1737
2077
  byType: z.ZodRecord<z.ZodEnum<["CONFIRMATION", "DISTANCE", "MORNING_STATUS"]>, z.ZodNumber>;
1738
2078
  }, "strip", z.ZodTypeAny, {
1739
2079
  total: number;
1740
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2080
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1741
2081
  }, {
1742
2082
  total: number;
1743
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2083
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1744
2084
  }>;
1745
2085
  total: z.ZodNumber;
1746
2086
  }, "strip", z.ZodTypeAny, {
1747
2087
  date: string;
1748
2088
  booking: {
1749
2089
  total: number;
1750
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2090
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1751
2091
  };
1752
2092
  total: number;
1753
2093
  post: {
1754
2094
  total: number;
1755
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2095
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1756
2096
  };
1757
2097
  }, {
1758
2098
  date: string;
1759
2099
  booking: {
1760
2100
  total: number;
1761
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2101
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1762
2102
  };
1763
2103
  total: number;
1764
2104
  post: {
1765
2105
  total: number;
1766
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2106
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1767
2107
  };
1768
2108
  }>, "many">;
1769
2109
  summary: z.ZodObject<{
@@ -1773,53 +2113,53 @@ export declare const ProofsTrendSchema: z.ZodObject<{
1773
2113
  averageDaily: z.ZodNumber;
1774
2114
  }, "strip", z.ZodTypeAny, {
1775
2115
  total: number;
1776
- averageDaily: number;
1777
2116
  totalPost: number;
1778
2117
  totalBooking: number;
2118
+ averageDaily: number;
1779
2119
  }, {
1780
2120
  total: number;
1781
- averageDaily: number;
1782
2121
  totalPost: number;
1783
2122
  totalBooking: number;
2123
+ averageDaily: number;
1784
2124
  }>;
1785
2125
  }, "strip", z.ZodTypeAny, {
2126
+ summary: {
2127
+ total: number;
2128
+ totalPost: number;
2129
+ totalBooking: number;
2130
+ averageDaily: number;
2131
+ };
1786
2132
  data: {
1787
2133
  date: string;
1788
2134
  booking: {
1789
2135
  total: number;
1790
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2136
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1791
2137
  };
1792
2138
  total: number;
1793
2139
  post: {
1794
2140
  total: number;
1795
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2141
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1796
2142
  };
1797
2143
  }[];
2144
+ }, {
1798
2145
  summary: {
1799
2146
  total: number;
1800
- averageDaily: number;
1801
2147
  totalPost: number;
1802
2148
  totalBooking: number;
2149
+ averageDaily: number;
1803
2150
  };
1804
- }, {
1805
2151
  data: {
1806
2152
  date: string;
1807
2153
  booking: {
1808
2154
  total: number;
1809
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2155
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
1810
2156
  };
1811
2157
  total: number;
1812
2158
  post: {
1813
2159
  total: number;
1814
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2160
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
1815
2161
  };
1816
2162
  }[];
1817
- summary: {
1818
- total: number;
1819
- averageDaily: number;
1820
- totalPost: number;
1821
- totalBooking: number;
1822
- };
1823
2163
  }>;
1824
2164
  /**
1825
2165
  * Lead activity outcome keys (curated lead event types)
@@ -1836,11 +2176,11 @@ export declare const LeadActivityTrendSchema: z.ZodObject<{
1836
2176
  }, "strip", z.ZodTypeAny, {
1837
2177
  date: string;
1838
2178
  total: number;
1839
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
2179
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
1840
2180
  }, {
1841
2181
  date: string;
1842
2182
  total: number;
1843
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
2183
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
1844
2184
  }>, "many">;
1845
2185
  summary: z.ZodObject<{
1846
2186
  averageDaily: z.ZodNumber;
@@ -1856,27 +2196,27 @@ export declare const LeadActivityTrendSchema: z.ZodObject<{
1856
2196
  peakValue: number;
1857
2197
  }>;
1858
2198
  }, "strip", z.ZodTypeAny, {
1859
- data: {
1860
- date: string;
1861
- total: number;
1862
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
1863
- }[];
1864
2199
  summary: {
1865
2200
  averageDaily: number;
1866
2201
  peakDay: string | null;
1867
2202
  peakValue: number;
1868
2203
  };
1869
- }, {
1870
2204
  data: {
1871
2205
  date: string;
1872
2206
  total: number;
1873
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
2207
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
1874
2208
  }[];
2209
+ }, {
1875
2210
  summary: {
1876
2211
  averageDaily: number;
1877
2212
  peakDay: string | null;
1878
2213
  peakValue: number;
1879
2214
  };
2215
+ data: {
2216
+ date: string;
2217
+ total: number;
2218
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
2219
+ }[];
1880
2220
  }>;
1881
2221
  export type LeadActivityTrend = z.infer<typeof LeadActivityTrendSchema>;
1882
2222
  export declare const dashboardWidgetsContract: {
@@ -1903,11 +2243,11 @@ export declare const dashboardWidgetsContract: {
1903
2243
  recentCount: z.ZodNumber;
1904
2244
  }, "strip", z.ZodTypeAny, {
1905
2245
  total: number;
1906
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2246
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1907
2247
  recentCount: number;
1908
2248
  }, {
1909
2249
  total: number;
1910
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2250
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1911
2251
  recentCount: number;
1912
2252
  }>;
1913
2253
  summary: z.ZodObject<{
@@ -1927,7 +2267,7 @@ export declare const dashboardWidgetsContract: {
1927
2267
  };
1928
2268
  collaborations: {
1929
2269
  total: number;
1930
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2270
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1931
2271
  recentCount: number;
1932
2272
  };
1933
2273
  }, {
@@ -1937,7 +2277,7 @@ export declare const dashboardWidgetsContract: {
1937
2277
  };
1938
2278
  collaborations: {
1939
2279
  total: number;
1940
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
2280
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
1941
2281
  recentCount: number;
1942
2282
  };
1943
2283
  }>;
@@ -1966,12 +2306,12 @@ export declare const dashboardWidgetsContract: {
1966
2306
  pendingVerification: z.ZodNumber;
1967
2307
  }, "strip", z.ZodTypeAny, {
1968
2308
  total: number;
1969
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
2309
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
1970
2310
  recentlyAdded: number;
1971
2311
  pendingVerification: number;
1972
2312
  }, {
1973
2313
  total: number;
1974
- byStatus: Partial<Record<"BLACKLISTED" | "APPROVED" | "PENDING_VERIFICATION", number>>;
2314
+ byStatus: Partial<Record<"APPROVED" | "PENDING_VERIFICATION" | "BLACKLISTED", number>>;
1975
2315
  recentlyAdded: number;
1976
2316
  pendingVerification: number;
1977
2317
  }>;
@@ -2044,13 +2384,13 @@ export declare const dashboardWidgetsContract: {
2044
2384
  ownResearchLeadsExistingInSystem: z.ZodNumber;
2045
2385
  ownResearchLeadsNew: z.ZodNumber;
2046
2386
  }, "strip", z.ZodTypeAny, {
2387
+ conversionRate: number;
2047
2388
  totalCalls: number;
2389
+ performanceScore: number;
2390
+ performanceTier: "high" | "medium" | "low" | "new";
2048
2391
  callsToday: number;
2049
2392
  averageRatingToday: number;
2050
2393
  efficientCallsToday: number;
2051
- conversionRate: number;
2052
- performanceScore: number;
2053
- performanceTier: "high" | "medium" | "low" | "new";
2054
2394
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
2055
2395
  assignmentCalls: number;
2056
2396
  followUpCalls: number;
@@ -2060,13 +2400,13 @@ export declare const dashboardWidgetsContract: {
2060
2400
  ownResearchLeadsExistingInSystem: number;
2061
2401
  ownResearchLeadsNew: number;
2062
2402
  }, {
2403
+ conversionRate: number;
2063
2404
  totalCalls: number;
2405
+ performanceScore: number;
2406
+ performanceTier: "high" | "medium" | "low" | "new";
2064
2407
  callsToday: number;
2065
2408
  averageRatingToday: number;
2066
2409
  efficientCallsToday: number;
2067
- conversionRate: number;
2068
- performanceScore: number;
2069
- performanceTier: "high" | "medium" | "low" | "new";
2070
2410
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
2071
2411
  assignmentCalls: number;
2072
2412
  followUpCalls: number;
@@ -2351,41 +2691,41 @@ export declare const dashboardWidgetsContract: {
2351
2691
  byType: z.ZodRecord<z.ZodEnum<["FACEBOOK", "TELEGRAM", "WHATSAPP", "VIBER", "OTHER"]>, z.ZodNumber>;
2352
2692
  }, "strip", z.ZodTypeAny, {
2353
2693
  total: number;
2354
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2694
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2355
2695
  }, {
2356
2696
  total: number;
2357
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2697
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2358
2698
  }>;
2359
2699
  booking: z.ZodObject<{
2360
2700
  total: z.ZodNumber;
2361
2701
  byType: z.ZodRecord<z.ZodEnum<["CONFIRMATION", "DISTANCE", "MORNING_STATUS"]>, z.ZodNumber>;
2362
2702
  }, "strip", z.ZodTypeAny, {
2363
2703
  total: number;
2364
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2704
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2365
2705
  }, {
2366
2706
  total: number;
2367
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2707
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2368
2708
  }>;
2369
2709
  total: z.ZodNumber;
2370
2710
  }, "strip", z.ZodTypeAny, {
2371
2711
  booking: {
2372
2712
  total: number;
2373
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2713
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2374
2714
  };
2375
2715
  total: number;
2376
2716
  post: {
2377
2717
  total: number;
2378
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2718
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2379
2719
  };
2380
2720
  }, {
2381
2721
  booking: {
2382
2722
  total: number;
2383
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2723
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2384
2724
  };
2385
2725
  total: number;
2386
2726
  post: {
2387
2727
  total: number;
2388
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2728
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2389
2729
  };
2390
2730
  }>;
2391
2731
  };
@@ -2414,43 +2754,43 @@ export declare const dashboardWidgetsContract: {
2414
2754
  byType: z.ZodRecord<z.ZodEnum<["FACEBOOK", "TELEGRAM", "WHATSAPP", "VIBER", "OTHER"]>, z.ZodNumber>;
2415
2755
  }, "strip", z.ZodTypeAny, {
2416
2756
  total: number;
2417
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2757
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2418
2758
  }, {
2419
2759
  total: number;
2420
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2760
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2421
2761
  }>;
2422
2762
  booking: z.ZodObject<{
2423
2763
  total: z.ZodNumber;
2424
2764
  byType: z.ZodRecord<z.ZodEnum<["CONFIRMATION", "DISTANCE", "MORNING_STATUS"]>, z.ZodNumber>;
2425
2765
  }, "strip", z.ZodTypeAny, {
2426
2766
  total: number;
2427
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2767
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2428
2768
  }, {
2429
2769
  total: number;
2430
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2770
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2431
2771
  }>;
2432
2772
  total: z.ZodNumber;
2433
2773
  }, "strip", z.ZodTypeAny, {
2434
2774
  date: string;
2435
2775
  booking: {
2436
2776
  total: number;
2437
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2777
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2438
2778
  };
2439
2779
  total: number;
2440
2780
  post: {
2441
2781
  total: number;
2442
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2782
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2443
2783
  };
2444
2784
  }, {
2445
2785
  date: string;
2446
2786
  booking: {
2447
2787
  total: number;
2448
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2788
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2449
2789
  };
2450
2790
  total: number;
2451
2791
  post: {
2452
2792
  total: number;
2453
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2793
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2454
2794
  };
2455
2795
  }>, "many">;
2456
2796
  summary: z.ZodObject<{
@@ -2460,53 +2800,53 @@ export declare const dashboardWidgetsContract: {
2460
2800
  averageDaily: z.ZodNumber;
2461
2801
  }, "strip", z.ZodTypeAny, {
2462
2802
  total: number;
2463
- averageDaily: number;
2464
2803
  totalPost: number;
2465
2804
  totalBooking: number;
2805
+ averageDaily: number;
2466
2806
  }, {
2467
2807
  total: number;
2468
- averageDaily: number;
2469
2808
  totalPost: number;
2470
2809
  totalBooking: number;
2810
+ averageDaily: number;
2471
2811
  }>;
2472
2812
  }, "strip", z.ZodTypeAny, {
2813
+ summary: {
2814
+ total: number;
2815
+ totalPost: number;
2816
+ totalBooking: number;
2817
+ averageDaily: number;
2818
+ };
2473
2819
  data: {
2474
2820
  date: string;
2475
2821
  booking: {
2476
2822
  total: number;
2477
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2823
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2478
2824
  };
2479
2825
  total: number;
2480
2826
  post: {
2481
2827
  total: number;
2482
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2828
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2483
2829
  };
2484
2830
  }[];
2831
+ }, {
2485
2832
  summary: {
2486
2833
  total: number;
2487
- averageDaily: number;
2488
2834
  totalPost: number;
2489
2835
  totalBooking: number;
2836
+ averageDaily: number;
2490
2837
  };
2491
- }, {
2492
2838
  data: {
2493
2839
  date: string;
2494
2840
  booking: {
2495
2841
  total: number;
2496
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2842
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2497
2843
  };
2498
2844
  total: number;
2499
2845
  post: {
2500
2846
  total: number;
2501
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2847
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2502
2848
  };
2503
2849
  }[];
2504
- summary: {
2505
- total: number;
2506
- averageDaily: number;
2507
- totalPost: number;
2508
- totalBooking: number;
2509
- };
2510
2850
  }>;
2511
2851
  };
2512
2852
  };
@@ -2532,41 +2872,41 @@ export declare const dashboardWidgetsContract: {
2532
2872
  byType: z.ZodRecord<z.ZodEnum<["FACEBOOK", "TELEGRAM", "WHATSAPP", "VIBER", "OTHER"]>, z.ZodNumber>;
2533
2873
  }, "strip", z.ZodTypeAny, {
2534
2874
  total: number;
2535
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2875
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2536
2876
  }, {
2537
2877
  total: number;
2538
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2878
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2539
2879
  }>;
2540
2880
  booking: z.ZodObject<{
2541
2881
  total: z.ZodNumber;
2542
2882
  byType: z.ZodRecord<z.ZodEnum<["CONFIRMATION", "DISTANCE", "MORNING_STATUS"]>, z.ZodNumber>;
2543
2883
  }, "strip", z.ZodTypeAny, {
2544
2884
  total: number;
2545
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2885
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2546
2886
  }, {
2547
2887
  total: number;
2548
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2888
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2549
2889
  }>;
2550
2890
  total: z.ZodNumber;
2551
2891
  }, "strip", z.ZodTypeAny, {
2552
2892
  booking: {
2553
2893
  total: number;
2554
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2894
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2555
2895
  };
2556
2896
  total: number;
2557
2897
  post: {
2558
2898
  total: number;
2559
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2899
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2560
2900
  };
2561
2901
  }, {
2562
2902
  booking: {
2563
2903
  total: number;
2564
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2904
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2565
2905
  };
2566
2906
  total: number;
2567
2907
  post: {
2568
2908
  total: number;
2569
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2909
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2570
2910
  };
2571
2911
  }>;
2572
2912
  };
@@ -2599,43 +2939,43 @@ export declare const dashboardWidgetsContract: {
2599
2939
  byType: z.ZodRecord<z.ZodEnum<["FACEBOOK", "TELEGRAM", "WHATSAPP", "VIBER", "OTHER"]>, z.ZodNumber>;
2600
2940
  }, "strip", z.ZodTypeAny, {
2601
2941
  total: number;
2602
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2942
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2603
2943
  }, {
2604
2944
  total: number;
2605
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2945
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2606
2946
  }>;
2607
2947
  booking: z.ZodObject<{
2608
2948
  total: z.ZodNumber;
2609
2949
  byType: z.ZodRecord<z.ZodEnum<["CONFIRMATION", "DISTANCE", "MORNING_STATUS"]>, z.ZodNumber>;
2610
2950
  }, "strip", z.ZodTypeAny, {
2611
2951
  total: number;
2612
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2952
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2613
2953
  }, {
2614
2954
  total: number;
2615
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2955
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2616
2956
  }>;
2617
2957
  total: z.ZodNumber;
2618
2958
  }, "strip", z.ZodTypeAny, {
2619
2959
  date: string;
2620
2960
  booking: {
2621
2961
  total: number;
2622
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2962
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2623
2963
  };
2624
2964
  total: number;
2625
2965
  post: {
2626
2966
  total: number;
2627
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2967
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2628
2968
  };
2629
2969
  }, {
2630
2970
  date: string;
2631
2971
  booking: {
2632
2972
  total: number;
2633
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
2973
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2634
2974
  };
2635
2975
  total: number;
2636
2976
  post: {
2637
2977
  total: number;
2638
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
2978
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2639
2979
  };
2640
2980
  }>, "many">;
2641
2981
  summary: z.ZodObject<{
@@ -2645,53 +2985,53 @@ export declare const dashboardWidgetsContract: {
2645
2985
  averageDaily: z.ZodNumber;
2646
2986
  }, "strip", z.ZodTypeAny, {
2647
2987
  total: number;
2648
- averageDaily: number;
2649
2988
  totalPost: number;
2650
2989
  totalBooking: number;
2990
+ averageDaily: number;
2651
2991
  }, {
2652
2992
  total: number;
2653
- averageDaily: number;
2654
2993
  totalPost: number;
2655
2994
  totalBooking: number;
2995
+ averageDaily: number;
2656
2996
  }>;
2657
2997
  }, "strip", z.ZodTypeAny, {
2998
+ summary: {
2999
+ total: number;
3000
+ totalPost: number;
3001
+ totalBooking: number;
3002
+ averageDaily: number;
3003
+ };
2658
3004
  data: {
2659
3005
  date: string;
2660
3006
  booking: {
2661
3007
  total: number;
2662
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
3008
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2663
3009
  };
2664
3010
  total: number;
2665
3011
  post: {
2666
3012
  total: number;
2667
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
3013
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2668
3014
  };
2669
3015
  }[];
3016
+ }, {
2670
3017
  summary: {
2671
3018
  total: number;
2672
- averageDaily: number;
2673
3019
  totalPost: number;
2674
3020
  totalBooking: number;
3021
+ averageDaily: number;
2675
3022
  };
2676
- }, {
2677
3023
  data: {
2678
3024
  date: string;
2679
3025
  booking: {
2680
3026
  total: number;
2681
- byType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
3027
+ byType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
2682
3028
  };
2683
3029
  total: number;
2684
3030
  post: {
2685
3031
  total: number;
2686
- byType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
3032
+ byType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
2687
3033
  };
2688
3034
  }[];
2689
- summary: {
2690
- total: number;
2691
- averageDaily: number;
2692
- totalPost: number;
2693
- totalBooking: number;
2694
- };
2695
3035
  }>;
2696
3036
  };
2697
3037
  };
@@ -2935,11 +3275,11 @@ export declare const dashboardWidgetsContract: {
2935
3275
  id: z.ZodString;
2936
3276
  name: z.ZodString;
2937
3277
  }, "strip", z.ZodTypeAny, {
2938
- name: string;
2939
3278
  id: string;
2940
- }, {
2941
3279
  name: string;
3280
+ }, {
2942
3281
  id: string;
3282
+ name: string;
2943
3283
  }>, "many">;
2944
3284
  };
2945
3285
  };
@@ -2957,10 +3297,10 @@ export declare const dashboardWidgetsContract: {
2957
3297
  field: z.ZodEnum<["agentName", "activesFaActive", "activesFaOthers", "activesSaActive", "activesSaOthers", "bookingsFaAttempts", "bookingsFaFailed", "bookingsFaInProgress", "bookingsFaCompleted", "bookingsFaCancelled", "bookingsSaAttempts", "bookingsSaFailed", "bookingsSaInProgress", "bookingsSaCompleted", "bookingsSaCancelled", "callsOnDate", "efficientCalls", "conversionsOnDate", "dailyConversionRate", "performanceScore", "ownResearchLeadsAdded", "jobsCreatedOnDate", "jobsTotalOpenPositions", "jobsFilledPositions", "workersAddedToday", "offersSent", "offersBooked"]>;
2958
3298
  order: z.ZodEnum<["ASC", "DESC"]>;
2959
3299
  }, "strip", z.ZodTypeAny, {
2960
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
3300
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
2961
3301
  order: "ASC" | "DESC";
2962
3302
  }, {
2963
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
3303
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
2964
3304
  order: "ASC" | "DESC";
2965
3305
  }>, "many">>>>;
2966
3306
  search: z.ZodOptional<z.ZodString>;
@@ -2969,11 +3309,11 @@ export declare const dashboardWidgetsContract: {
2969
3309
  minScore: z.ZodOptional<z.ZodNumber>;
2970
3310
  maxScore: z.ZodOptional<z.ZodNumber>;
2971
3311
  }, "strip", z.ZodTypeAny, {
3312
+ status: "ACTIVE" | "INACTIVE";
2972
3313
  page: number;
2973
3314
  limit: number;
2974
- status: "ACTIVE" | "INACTIVE";
2975
3315
  sort?: {
2976
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
3316
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
2977
3317
  order: "ASC" | "DESC";
2978
3318
  }[] | null | undefined;
2979
3319
  startDate?: string | undefined;
@@ -2985,13 +3325,13 @@ export declare const dashboardWidgetsContract: {
2985
3325
  minScore?: number | undefined;
2986
3326
  maxScore?: number | undefined;
2987
3327
  }, {
3328
+ status?: "ACTIVE" | "INACTIVE" | undefined;
2988
3329
  sort?: {
2989
- field: "performanceScore" | "ownResearchLeadsAdded" | "agentName" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
3330
+ field: "agentName" | "performanceScore" | "ownResearchLeadsAdded" | "activesFaActive" | "activesFaOthers" | "activesSaActive" | "activesSaOthers" | "bookingsFaAttempts" | "bookingsFaFailed" | "bookingsFaInProgress" | "bookingsFaCompleted" | "bookingsFaCancelled" | "bookingsSaAttempts" | "bookingsSaFailed" | "bookingsSaInProgress" | "bookingsSaCompleted" | "bookingsSaCancelled" | "callsOnDate" | "efficientCalls" | "conversionsOnDate" | "dailyConversionRate" | "jobsCreatedOnDate" | "jobsTotalOpenPositions" | "jobsFilledPositions" | "workersAddedToday" | "offersSent" | "offersBooked";
2990
3331
  order: "ASC" | "DESC";
2991
3332
  }[] | null | undefined;
2992
3333
  page?: number | undefined;
2993
3334
  limit?: number | undefined;
2994
- status?: "ACTIVE" | "INACTIVE" | undefined;
2995
3335
  startDate?: string | undefined;
2996
3336
  endDate?: string | undefined;
2997
3337
  date?: string | undefined;
@@ -3056,10 +3396,15 @@ export declare const dashboardWidgetsContract: {
3056
3396
  proofsBookingByType: z.ZodRecord<z.ZodEnum<["CONFIRMATION", "DISTANCE", "MORNING_STATUS"]>, z.ZodNumber>;
3057
3397
  offersSent: z.ZodNumber;
3058
3398
  offersBooked: z.ZodNumber;
3399
+ phoneContacts: z.ZodNumber;
3400
+ phoneContactsByOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
3401
+ whatsappContacts: z.ZodNumber;
3402
+ whatsappContactsByOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
3059
3403
  }, "strip", z.ZodTypeAny, {
3060
3404
  agentId: string;
3061
- totalCalls: number;
3062
3405
  conversionRate: number;
3406
+ totalCalls: number;
3407
+ agentName: string;
3063
3408
  performanceScore: number;
3064
3409
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3065
3410
  assignmentCalls: number;
@@ -3069,7 +3414,6 @@ export declare const dashboardWidgetsContract: {
3069
3414
  ownResearchLeadsAdded: number;
3070
3415
  ownResearchLeadsExistingInSystem: number;
3071
3416
  ownResearchLeadsNew: number;
3072
- agentName: string;
3073
3417
  callsOnDate: number;
3074
3418
  efficientCalls: number;
3075
3419
  conversionsOnDate: number;
@@ -3080,7 +3424,6 @@ export declare const dashboardWidgetsContract: {
3080
3424
  workersAddedToday: number;
3081
3425
  offersSent: number;
3082
3426
  offersBooked: number;
3083
- averageRating: number;
3084
3427
  officeName: string | null;
3085
3428
  activesFaTotal: number;
3086
3429
  activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
@@ -3092,12 +3435,17 @@ export declare const dashboardWidgetsContract: {
3092
3435
  bookingsSaTotal: number;
3093
3436
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3094
3437
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3438
+ averageRating: number;
3095
3439
  jobsTransitionCounts: Record<string, number>;
3096
3440
  jobsFillRate: number;
3097
3441
  jobsPositionsAdjusted: number;
3098
3442
  jobsOverbooked: number;
3099
- proofsPostByType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
3100
- proofsBookingByType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
3443
+ proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
3444
+ proofsBookingByType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
3445
+ phoneContacts: number;
3446
+ phoneContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3447
+ whatsappContacts: number;
3448
+ whatsappContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3101
3449
  bookingsFaOngoing?: number | undefined;
3102
3450
  bookingsFaStartingToday?: number | undefined;
3103
3451
  bookingsFaPendingConfirmation?: number | undefined;
@@ -3108,8 +3456,9 @@ export declare const dashboardWidgetsContract: {
3108
3456
  bookingsSaUpcomingStarts?: number | undefined;
3109
3457
  }, {
3110
3458
  agentId: string;
3111
- totalCalls: number;
3112
3459
  conversionRate: number;
3460
+ totalCalls: number;
3461
+ agentName: string;
3113
3462
  performanceScore: number;
3114
3463
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3115
3464
  assignmentCalls: number;
@@ -3119,7 +3468,6 @@ export declare const dashboardWidgetsContract: {
3119
3468
  ownResearchLeadsAdded: number;
3120
3469
  ownResearchLeadsExistingInSystem: number;
3121
3470
  ownResearchLeadsNew: number;
3122
- agentName: string;
3123
3471
  callsOnDate: number;
3124
3472
  efficientCalls: number;
3125
3473
  conversionsOnDate: number;
@@ -3130,7 +3478,6 @@ export declare const dashboardWidgetsContract: {
3130
3478
  workersAddedToday: number;
3131
3479
  offersSent: number;
3132
3480
  offersBooked: number;
3133
- averageRating: number;
3134
3481
  officeName: string | null;
3135
3482
  activesFaTotal: number;
3136
3483
  activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
@@ -3142,12 +3489,17 @@ export declare const dashboardWidgetsContract: {
3142
3489
  bookingsSaTotal: number;
3143
3490
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3144
3491
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3492
+ averageRating: number;
3145
3493
  jobsTransitionCounts: Record<string, number>;
3146
3494
  jobsFillRate: number;
3147
3495
  jobsPositionsAdjusted: number;
3148
3496
  jobsOverbooked: number;
3149
- proofsPostByType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
3150
- proofsBookingByType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
3497
+ proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
3498
+ proofsBookingByType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
3499
+ phoneContacts: number;
3500
+ phoneContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3501
+ whatsappContacts: number;
3502
+ whatsappContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3151
3503
  bookingsFaOngoing?: number | undefined;
3152
3504
  bookingsFaStartingToday?: number | undefined;
3153
3505
  bookingsFaPendingConfirmation?: number | undefined;
@@ -3166,8 +3518,9 @@ export declare const dashboardWidgetsContract: {
3166
3518
  limit: number;
3167
3519
  items: {
3168
3520
  agentId: string;
3169
- totalCalls: number;
3170
3521
  conversionRate: number;
3522
+ totalCalls: number;
3523
+ agentName: string;
3171
3524
  performanceScore: number;
3172
3525
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3173
3526
  assignmentCalls: number;
@@ -3177,7 +3530,6 @@ export declare const dashboardWidgetsContract: {
3177
3530
  ownResearchLeadsAdded: number;
3178
3531
  ownResearchLeadsExistingInSystem: number;
3179
3532
  ownResearchLeadsNew: number;
3180
- agentName: string;
3181
3533
  callsOnDate: number;
3182
3534
  efficientCalls: number;
3183
3535
  conversionsOnDate: number;
@@ -3188,7 +3540,6 @@ export declare const dashboardWidgetsContract: {
3188
3540
  workersAddedToday: number;
3189
3541
  offersSent: number;
3190
3542
  offersBooked: number;
3191
- averageRating: number;
3192
3543
  officeName: string | null;
3193
3544
  activesFaTotal: number;
3194
3545
  activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
@@ -3200,12 +3551,17 @@ export declare const dashboardWidgetsContract: {
3200
3551
  bookingsSaTotal: number;
3201
3552
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3202
3553
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3554
+ averageRating: number;
3203
3555
  jobsTransitionCounts: Record<string, number>;
3204
3556
  jobsFillRate: number;
3205
3557
  jobsPositionsAdjusted: number;
3206
3558
  jobsOverbooked: number;
3207
- proofsPostByType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
3208
- proofsBookingByType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
3559
+ proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
3560
+ proofsBookingByType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
3561
+ phoneContacts: number;
3562
+ phoneContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3563
+ whatsappContacts: number;
3564
+ whatsappContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3209
3565
  bookingsFaOngoing?: number | undefined;
3210
3566
  bookingsFaStartingToday?: number | undefined;
3211
3567
  bookingsFaPendingConfirmation?: number | undefined;
@@ -3223,8 +3579,9 @@ export declare const dashboardWidgetsContract: {
3223
3579
  limit: number;
3224
3580
  items: {
3225
3581
  agentId: string;
3226
- totalCalls: number;
3227
3582
  conversionRate: number;
3583
+ totalCalls: number;
3584
+ agentName: string;
3228
3585
  performanceScore: number;
3229
3586
  ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3230
3587
  assignmentCalls: number;
@@ -3234,7 +3591,6 @@ export declare const dashboardWidgetsContract: {
3234
3591
  ownResearchLeadsAdded: number;
3235
3592
  ownResearchLeadsExistingInSystem: number;
3236
3593
  ownResearchLeadsNew: number;
3237
- agentName: string;
3238
3594
  callsOnDate: number;
3239
3595
  efficientCalls: number;
3240
3596
  conversionsOnDate: number;
@@ -3245,7 +3601,6 @@ export declare const dashboardWidgetsContract: {
3245
3601
  workersAddedToday: number;
3246
3602
  offersSent: number;
3247
3603
  offersBooked: number;
3248
- averageRating: number;
3249
3604
  officeName: string | null;
3250
3605
  activesFaTotal: number;
3251
3606
  activesFaByStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
@@ -3257,12 +3612,17 @@ export declare const dashboardWidgetsContract: {
3257
3612
  bookingsSaTotal: number;
3258
3613
  bookingsSaByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3259
3614
  bookingsSaByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3615
+ averageRating: number;
3260
3616
  jobsTransitionCounts: Record<string, number>;
3261
3617
  jobsFillRate: number;
3262
3618
  jobsPositionsAdjusted: number;
3263
3619
  jobsOverbooked: number;
3264
- proofsPostByType: Partial<Record<"FACEBOOK" | "TELEGRAM" | "WHATSAPP" | "VIBER" | "OTHER", number>>;
3265
- proofsBookingByType: Partial<Record<"CONFIRMATION" | "DISTANCE" | "MORNING_STATUS", number>>;
3620
+ proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
3621
+ proofsBookingByType: Partial<Record<"DISTANCE" | "CONFIRMATION" | "MORNING_STATUS", number>>;
3622
+ phoneContacts: number;
3623
+ phoneContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3624
+ whatsappContacts: number;
3625
+ whatsappContactsByOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3266
3626
  bookingsFaOngoing?: number | undefined;
3267
3627
  bookingsFaStartingToday?: number | undefined;
3268
3628
  bookingsFaPendingConfirmation?: number | undefined;
@@ -3279,8 +3639,398 @@ export declare const dashboardWidgetsContract: {
3279
3639
  }>;
3280
3640
  };
3281
3641
  };
3282
- getAdminFaAggregate: {
3283
- description: "Returns summed/averaged FA dashboard stats across all agents for a specific date.";
3642
+ getAdminFaAggregate: {
3643
+ description: "Returns summed/averaged FA dashboard stats across all agents for a specific date.";
3644
+ query: z.ZodObject<{
3645
+ date: z.ZodOptional<z.ZodString>;
3646
+ office: z.ZodOptional<z.ZodString>;
3647
+ }, "strip", z.ZodTypeAny, {
3648
+ date?: string | undefined;
3649
+ office?: string | undefined;
3650
+ }, {
3651
+ date?: string | undefined;
3652
+ office?: string | undefined;
3653
+ }>;
3654
+ summary: "Get aggregated FA stats across all agents (Admin)";
3655
+ method: "GET";
3656
+ path: "/widgets/admin/fa-aggregate";
3657
+ responses: {
3658
+ 200: z.ZodObject<{
3659
+ actives: z.ZodObject<{
3660
+ /** Flat structure (unlike per-agent FaActivesWidgetSchema which nests under 'today') */
3661
+ total: z.ZodNumber;
3662
+ /**
3663
+ * Actives grouped by unified status, counting every active in scope (FA OR SA
3664
+ * in office). Replaces the former separate byStatusFa/byStatusSa breakdowns now
3665
+ * that the FA/SA status fields are unified into a single `status`.
3666
+ */
3667
+ byStatus: z.ZodRecord<z.ZodEnum<["PENDING", "ACTIVE", "VACATION", "LEFT_THE_SITE", "MEDICAL_LEAVE", "DAY_OFF", "INJURY", "OFF_SCHEDULE"]>, z.ZodNumber>;
3668
+ }, "strip", z.ZodTypeAny, {
3669
+ total: number;
3670
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
3671
+ }, {
3672
+ total: number;
3673
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
3674
+ }>;
3675
+ bookings: z.ZodObject<{
3676
+ forToday: z.ZodObject<{
3677
+ byStatusFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
3678
+ byStatusSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
3679
+ byStatusFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
3680
+ byCategoryFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
3681
+ byCategorySa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
3682
+ byCategoryFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
3683
+ total: z.ZodNumber;
3684
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
3685
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
3686
+ /**
3687
+ * Bookings that start on this day AND were created on this day (booked and
3688
+ * starting same-day). A subset of the start-side count, so the share of
3689
+ * today's starts = sameDay / starting. Only populated for the `forToday`
3690
+ * bucket (meaningless for `createdToday`).
3691
+ */
3692
+ sameDay: z.ZodOptional<z.ZodNumber>;
3693
+ }, "strip", z.ZodTypeAny, {
3694
+ total: number;
3695
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3696
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3697
+ byStatusFa?: unknown;
3698
+ sameDay?: number | undefined;
3699
+ byStatusSa?: unknown;
3700
+ byStatusFaSa?: unknown;
3701
+ byCategoryFa?: unknown;
3702
+ byCategorySa?: unknown;
3703
+ byCategoryFaSa?: unknown;
3704
+ }, {
3705
+ total: number;
3706
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3707
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3708
+ byStatusFa?: unknown;
3709
+ sameDay?: number | undefined;
3710
+ byStatusSa?: unknown;
3711
+ byStatusFaSa?: unknown;
3712
+ byCategoryFa?: unknown;
3713
+ byCategorySa?: unknown;
3714
+ byCategoryFaSa?: unknown;
3715
+ }>;
3716
+ createdToday: z.ZodObject<{
3717
+ byStatusFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
3718
+ byStatusSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
3719
+ byStatusFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>> | undefined;
3720
+ byCategoryFa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
3721
+ byCategorySa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
3722
+ byCategoryFaSa?: z.ZodOptional<z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>> | undefined;
3723
+ total: z.ZodNumber;
3724
+ byStatus: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingType>, z.ZodNumber>;
3725
+ byCategory: z.ZodRecord<z.ZodNativeEnum<typeof import("../bookings/bookings.contract").BookingCategory>, z.ZodNumber>;
3726
+ /**
3727
+ * Bookings that start on this day AND were created on this day (booked and
3728
+ * starting same-day). A subset of the start-side count, so the share of
3729
+ * today's starts = sameDay / starting. Only populated for the `forToday`
3730
+ * bucket (meaningless for `createdToday`).
3731
+ */
3732
+ sameDay: z.ZodOptional<z.ZodNumber>;
3733
+ }, "strip", z.ZodTypeAny, {
3734
+ total: number;
3735
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3736
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3737
+ byStatusFa?: unknown;
3738
+ sameDay?: number | undefined;
3739
+ byStatusSa?: unknown;
3740
+ byStatusFaSa?: unknown;
3741
+ byCategoryFa?: unknown;
3742
+ byCategorySa?: unknown;
3743
+ byCategoryFaSa?: unknown;
3744
+ }, {
3745
+ total: number;
3746
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3747
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3748
+ byStatusFa?: unknown;
3749
+ sameDay?: number | undefined;
3750
+ byStatusSa?: unknown;
3751
+ byStatusFaSa?: unknown;
3752
+ byCategoryFa?: unknown;
3753
+ byCategorySa?: unknown;
3754
+ byCategoryFaSa?: unknown;
3755
+ }>;
3756
+ ongoingBookings: z.ZodNumber;
3757
+ startingToday: z.ZodNumber;
3758
+ pendingConfirmation: z.ZodNumber;
3759
+ upcomingStarts: z.ZodNumber;
3760
+ }, "strip", z.ZodTypeAny, {
3761
+ forToday: {
3762
+ total: number;
3763
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3764
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3765
+ byStatusFa?: unknown;
3766
+ sameDay?: number | undefined;
3767
+ byStatusSa?: unknown;
3768
+ byStatusFaSa?: unknown;
3769
+ byCategoryFa?: unknown;
3770
+ byCategorySa?: unknown;
3771
+ byCategoryFaSa?: unknown;
3772
+ };
3773
+ createdToday: {
3774
+ total: number;
3775
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3776
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3777
+ byStatusFa?: unknown;
3778
+ sameDay?: number | undefined;
3779
+ byStatusSa?: unknown;
3780
+ byStatusFaSa?: unknown;
3781
+ byCategoryFa?: unknown;
3782
+ byCategorySa?: unknown;
3783
+ byCategoryFaSa?: unknown;
3784
+ };
3785
+ ongoingBookings: number;
3786
+ startingToday: number;
3787
+ pendingConfirmation: number;
3788
+ upcomingStarts: number;
3789
+ }, {
3790
+ forToday: {
3791
+ total: number;
3792
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3793
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3794
+ byStatusFa?: unknown;
3795
+ sameDay?: number | undefined;
3796
+ byStatusSa?: unknown;
3797
+ byStatusFaSa?: unknown;
3798
+ byCategoryFa?: unknown;
3799
+ byCategorySa?: unknown;
3800
+ byCategoryFaSa?: unknown;
3801
+ };
3802
+ createdToday: {
3803
+ total: number;
3804
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3805
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3806
+ byStatusFa?: unknown;
3807
+ sameDay?: number | undefined;
3808
+ byStatusSa?: unknown;
3809
+ byStatusFaSa?: unknown;
3810
+ byCategoryFa?: unknown;
3811
+ byCategorySa?: unknown;
3812
+ byCategoryFaSa?: unknown;
3813
+ };
3814
+ ongoingBookings: number;
3815
+ startingToday: number;
3816
+ pendingConfirmation: number;
3817
+ upcomingStarts: number;
3818
+ }>;
3819
+ callMetrics: z.ZodObject<{
3820
+ /**
3821
+ * Aggregate metrics across all FA agents.
3822
+ * Note: `performanceTier` from FaCallHistoryWidgetSchema is omitted — it is not
3823
+ * meaningful as an aggregate. `performanceScore` is renamed to `averagePerformanceScore`
3824
+ * to make clear it is an average across agents.
3825
+ */
3826
+ totalCalls: z.ZodNumber;
3827
+ callsToday: z.ZodNumber;
3828
+ averageRatingToday: z.ZodNumber;
3829
+ efficientCallsToday: z.ZodNumber;
3830
+ conversionRate: z.ZodNumber;
3831
+ averagePerformanceScore: z.ZodNumber;
3832
+ ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<typeof import("../common/call-rating.schema").CallRating>, z.ZodNumber>;
3833
+ assignmentCalls: z.ZodNumber;
3834
+ followUpCalls: z.ZodNumber;
3835
+ callbackCalls: z.ZodNumber;
3836
+ ownResearchCalls: z.ZodNumber;
3837
+ ownResearchLeadsAdded: z.ZodNumber;
3838
+ ownResearchLeadsExistingInSystem: z.ZodNumber;
3839
+ ownResearchLeadsNew: z.ZodNumber;
3840
+ }, "strip", z.ZodTypeAny, {
3841
+ conversionRate: number;
3842
+ totalCalls: number;
3843
+ callsToday: number;
3844
+ averageRatingToday: number;
3845
+ efficientCallsToday: number;
3846
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3847
+ assignmentCalls: number;
3848
+ followUpCalls: number;
3849
+ callbackCalls: number;
3850
+ ownResearchCalls: number;
3851
+ ownResearchLeadsAdded: number;
3852
+ ownResearchLeadsExistingInSystem: number;
3853
+ ownResearchLeadsNew: number;
3854
+ averagePerformanceScore: number;
3855
+ }, {
3856
+ conversionRate: number;
3857
+ totalCalls: number;
3858
+ callsToday: number;
3859
+ averageRatingToday: number;
3860
+ efficientCallsToday: number;
3861
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3862
+ assignmentCalls: number;
3863
+ followUpCalls: number;
3864
+ callbackCalls: number;
3865
+ ownResearchCalls: number;
3866
+ ownResearchLeadsAdded: number;
3867
+ ownResearchLeadsExistingInSystem: number;
3868
+ ownResearchLeadsNew: number;
3869
+ averagePerformanceScore: number;
3870
+ }>;
3871
+ jobs: z.ZodObject<{
3872
+ totalOpenPositions: z.ZodNumber;
3873
+ availableJobs: z.ZodNumber;
3874
+ createdToday: z.ZodNumber;
3875
+ filledPositions: z.ZodNumber;
3876
+ transitionCounts: z.ZodRecord<z.ZodString, z.ZodNumber>;
3877
+ fillRate: z.ZodNumber;
3878
+ positionsAdjusted: z.ZodNumber;
3879
+ positionsNetChange: z.ZodNumber;
3880
+ overbookedCount: z.ZodNumber;
3881
+ }, "strip", z.ZodTypeAny, {
3882
+ filledPositions: number;
3883
+ createdToday: number;
3884
+ totalOpenPositions: number;
3885
+ availableJobs: number;
3886
+ transitionCounts: Record<string, number>;
3887
+ fillRate: number;
3888
+ positionsAdjusted: number;
3889
+ positionsNetChange: number;
3890
+ overbookedCount: number;
3891
+ }, {
3892
+ filledPositions: number;
3893
+ createdToday: number;
3894
+ totalOpenPositions: number;
3895
+ availableJobs: number;
3896
+ transitionCounts: Record<string, number>;
3897
+ fillRate: number;
3898
+ positionsAdjusted: number;
3899
+ positionsNetChange: number;
3900
+ overbookedCount: number;
3901
+ }>;
3902
+ agentCount: z.ZodNumber;
3903
+ }, "strip", z.ZodTypeAny, {
3904
+ actives: {
3905
+ total: number;
3906
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
3907
+ };
3908
+ bookings: {
3909
+ forToday: {
3910
+ total: number;
3911
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3912
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3913
+ byStatusFa?: unknown;
3914
+ sameDay?: number | undefined;
3915
+ byStatusSa?: unknown;
3916
+ byStatusFaSa?: unknown;
3917
+ byCategoryFa?: unknown;
3918
+ byCategorySa?: unknown;
3919
+ byCategoryFaSa?: unknown;
3920
+ };
3921
+ createdToday: {
3922
+ total: number;
3923
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3924
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3925
+ byStatusFa?: unknown;
3926
+ sameDay?: number | undefined;
3927
+ byStatusSa?: unknown;
3928
+ byStatusFaSa?: unknown;
3929
+ byCategoryFa?: unknown;
3930
+ byCategorySa?: unknown;
3931
+ byCategoryFaSa?: unknown;
3932
+ };
3933
+ ongoingBookings: number;
3934
+ startingToday: number;
3935
+ pendingConfirmation: number;
3936
+ upcomingStarts: number;
3937
+ };
3938
+ jobs: {
3939
+ filledPositions: number;
3940
+ createdToday: number;
3941
+ totalOpenPositions: number;
3942
+ availableJobs: number;
3943
+ transitionCounts: Record<string, number>;
3944
+ fillRate: number;
3945
+ positionsAdjusted: number;
3946
+ positionsNetChange: number;
3947
+ overbookedCount: number;
3948
+ };
3949
+ callMetrics: {
3950
+ conversionRate: number;
3951
+ totalCalls: number;
3952
+ callsToday: number;
3953
+ averageRatingToday: number;
3954
+ efficientCallsToday: number;
3955
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3956
+ assignmentCalls: number;
3957
+ followUpCalls: number;
3958
+ callbackCalls: number;
3959
+ ownResearchCalls: number;
3960
+ ownResearchLeadsAdded: number;
3961
+ ownResearchLeadsExistingInSystem: number;
3962
+ ownResearchLeadsNew: number;
3963
+ averagePerformanceScore: number;
3964
+ };
3965
+ agentCount: number;
3966
+ }, {
3967
+ actives: {
3968
+ total: number;
3969
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
3970
+ };
3971
+ bookings: {
3972
+ forToday: {
3973
+ total: number;
3974
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3975
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3976
+ byStatusFa?: unknown;
3977
+ sameDay?: number | undefined;
3978
+ byStatusSa?: unknown;
3979
+ byStatusFaSa?: unknown;
3980
+ byCategoryFa?: unknown;
3981
+ byCategorySa?: unknown;
3982
+ byCategoryFaSa?: unknown;
3983
+ };
3984
+ createdToday: {
3985
+ total: number;
3986
+ byStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
3987
+ byCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
3988
+ byStatusFa?: unknown;
3989
+ sameDay?: number | undefined;
3990
+ byStatusSa?: unknown;
3991
+ byStatusFaSa?: unknown;
3992
+ byCategoryFa?: unknown;
3993
+ byCategorySa?: unknown;
3994
+ byCategoryFaSa?: unknown;
3995
+ };
3996
+ ongoingBookings: number;
3997
+ startingToday: number;
3998
+ pendingConfirmation: number;
3999
+ upcomingStarts: number;
4000
+ };
4001
+ jobs: {
4002
+ filledPositions: number;
4003
+ createdToday: number;
4004
+ totalOpenPositions: number;
4005
+ availableJobs: number;
4006
+ transitionCounts: Record<string, number>;
4007
+ fillRate: number;
4008
+ positionsAdjusted: number;
4009
+ positionsNetChange: number;
4010
+ overbookedCount: number;
4011
+ };
4012
+ callMetrics: {
4013
+ conversionRate: number;
4014
+ totalCalls: number;
4015
+ callsToday: number;
4016
+ averageRatingToday: number;
4017
+ efficientCallsToday: number;
4018
+ ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
4019
+ assignmentCalls: number;
4020
+ followUpCalls: number;
4021
+ callbackCalls: number;
4022
+ ownResearchCalls: number;
4023
+ ownResearchLeadsAdded: number;
4024
+ ownResearchLeadsExistingInSystem: number;
4025
+ ownResearchLeadsNew: number;
4026
+ averagePerformanceScore: number;
4027
+ };
4028
+ agentCount: number;
4029
+ }>;
4030
+ };
4031
+ };
4032
+ getAdminSharedAggregate: {
4033
+ description: "Returns Bookings and Actives independently of the selected FA/SA tab.";
3284
4034
  query: z.ZodObject<{
3285
4035
  date: z.ZodOptional<z.ZodString>;
3286
4036
  office: z.ZodOptional<z.ZodString>;
@@ -3291,9 +4041,9 @@ export declare const dashboardWidgetsContract: {
3291
4041
  date?: string | undefined;
3292
4042
  office?: string | undefined;
3293
4043
  }>;
3294
- summary: "Get aggregated FA stats across all agents (Admin)";
4044
+ summary: "Get shared office-wide dashboard metrics (Admin)";
3295
4045
  method: "GET";
3296
- path: "/widgets/admin/fa-aggregate";
4046
+ path: "/widgets/admin/shared-aggregate";
3297
4047
  responses: {
3298
4048
  200: z.ZodObject<{
3299
4049
  actives: z.ZodObject<{
@@ -3456,90 +4206,6 @@ export declare const dashboardWidgetsContract: {
3456
4206
  pendingConfirmation: number;
3457
4207
  upcomingStarts: number;
3458
4208
  }>;
3459
- callMetrics: z.ZodObject<{
3460
- /**
3461
- * Aggregate metrics across all FA agents.
3462
- * Note: `performanceTier` from FaCallHistoryWidgetSchema is omitted — it is not
3463
- * meaningful as an aggregate. `performanceScore` is renamed to `averagePerformanceScore`
3464
- * to make clear it is an average across agents.
3465
- */
3466
- totalCalls: z.ZodNumber;
3467
- callsToday: z.ZodNumber;
3468
- averageRatingToday: z.ZodNumber;
3469
- efficientCallsToday: z.ZodNumber;
3470
- conversionRate: z.ZodNumber;
3471
- averagePerformanceScore: z.ZodNumber;
3472
- ratingBreakdown: z.ZodRecord<z.ZodNativeEnum<typeof import("../common/call-rating.schema").CallRating>, z.ZodNumber>;
3473
- assignmentCalls: z.ZodNumber;
3474
- followUpCalls: z.ZodNumber;
3475
- callbackCalls: z.ZodNumber;
3476
- ownResearchCalls: z.ZodNumber;
3477
- ownResearchLeadsAdded: z.ZodNumber;
3478
- ownResearchLeadsExistingInSystem: z.ZodNumber;
3479
- ownResearchLeadsNew: z.ZodNumber;
3480
- }, "strip", z.ZodTypeAny, {
3481
- totalCalls: number;
3482
- callsToday: number;
3483
- averageRatingToday: number;
3484
- efficientCallsToday: number;
3485
- conversionRate: number;
3486
- ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3487
- assignmentCalls: number;
3488
- followUpCalls: number;
3489
- callbackCalls: number;
3490
- ownResearchCalls: number;
3491
- ownResearchLeadsAdded: number;
3492
- ownResearchLeadsExistingInSystem: number;
3493
- ownResearchLeadsNew: number;
3494
- averagePerformanceScore: number;
3495
- }, {
3496
- totalCalls: number;
3497
- callsToday: number;
3498
- averageRatingToday: number;
3499
- efficientCallsToday: number;
3500
- conversionRate: number;
3501
- ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3502
- assignmentCalls: number;
3503
- followUpCalls: number;
3504
- callbackCalls: number;
3505
- ownResearchCalls: number;
3506
- ownResearchLeadsAdded: number;
3507
- ownResearchLeadsExistingInSystem: number;
3508
- ownResearchLeadsNew: number;
3509
- averagePerformanceScore: number;
3510
- }>;
3511
- jobs: z.ZodObject<{
3512
- totalOpenPositions: z.ZodNumber;
3513
- availableJobs: z.ZodNumber;
3514
- createdToday: z.ZodNumber;
3515
- filledPositions: z.ZodNumber;
3516
- transitionCounts: z.ZodRecord<z.ZodString, z.ZodNumber>;
3517
- fillRate: z.ZodNumber;
3518
- positionsAdjusted: z.ZodNumber;
3519
- positionsNetChange: z.ZodNumber;
3520
- overbookedCount: z.ZodNumber;
3521
- }, "strip", z.ZodTypeAny, {
3522
- filledPositions: number;
3523
- createdToday: number;
3524
- totalOpenPositions: number;
3525
- availableJobs: number;
3526
- transitionCounts: Record<string, number>;
3527
- fillRate: number;
3528
- positionsAdjusted: number;
3529
- positionsNetChange: number;
3530
- overbookedCount: number;
3531
- }, {
3532
- filledPositions: number;
3533
- createdToday: number;
3534
- totalOpenPositions: number;
3535
- availableJobs: number;
3536
- transitionCounts: Record<string, number>;
3537
- fillRate: number;
3538
- positionsAdjusted: number;
3539
- positionsNetChange: number;
3540
- overbookedCount: number;
3541
- }>;
3542
- agentCount: z.ZodNumber;
3543
4209
  }, "strip", z.ZodTypeAny, {
3544
4210
  actives: {
3545
4211
  total: number;
@@ -3575,34 +4241,6 @@ export declare const dashboardWidgetsContract: {
3575
4241
  pendingConfirmation: number;
3576
4242
  upcomingStarts: number;
3577
4243
  };
3578
- jobs: {
3579
- filledPositions: number;
3580
- createdToday: number;
3581
- totalOpenPositions: number;
3582
- availableJobs: number;
3583
- transitionCounts: Record<string, number>;
3584
- fillRate: number;
3585
- positionsAdjusted: number;
3586
- positionsNetChange: number;
3587
- overbookedCount: number;
3588
- };
3589
- callMetrics: {
3590
- totalCalls: number;
3591
- callsToday: number;
3592
- averageRatingToday: number;
3593
- efficientCallsToday: number;
3594
- conversionRate: number;
3595
- ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3596
- assignmentCalls: number;
3597
- followUpCalls: number;
3598
- callbackCalls: number;
3599
- ownResearchCalls: number;
3600
- ownResearchLeadsAdded: number;
3601
- ownResearchLeadsExistingInSystem: number;
3602
- ownResearchLeadsNew: number;
3603
- averagePerformanceScore: number;
3604
- };
3605
- agentCount: number;
3606
4244
  }, {
3607
4245
  actives: {
3608
4246
  total: number;
@@ -3638,34 +4276,6 @@ export declare const dashboardWidgetsContract: {
3638
4276
  pendingConfirmation: number;
3639
4277
  upcomingStarts: number;
3640
4278
  };
3641
- jobs: {
3642
- filledPositions: number;
3643
- createdToday: number;
3644
- totalOpenPositions: number;
3645
- availableJobs: number;
3646
- transitionCounts: Record<string, number>;
3647
- fillRate: number;
3648
- positionsAdjusted: number;
3649
- positionsNetChange: number;
3650
- overbookedCount: number;
3651
- };
3652
- callMetrics: {
3653
- totalCalls: number;
3654
- callsToday: number;
3655
- averageRatingToday: number;
3656
- efficientCallsToday: number;
3657
- conversionRate: number;
3658
- ratingBreakdown: Record<import("../common/call-rating.schema").CallRating, number>;
3659
- assignmentCalls: number;
3660
- followUpCalls: number;
3661
- callbackCalls: number;
3662
- ownResearchCalls: number;
3663
- ownResearchLeadsAdded: number;
3664
- ownResearchLeadsExistingInSystem: number;
3665
- ownResearchLeadsNew: number;
3666
- averagePerformanceScore: number;
3667
- };
3668
- agentCount: number;
3669
4279
  }>;
3670
4280
  };
3671
4281
  };
@@ -3887,11 +4497,11 @@ export declare const dashboardWidgetsContract: {
3887
4497
  pendingConfirmation: number;
3888
4498
  upcomingStarts: number;
3889
4499
  };
3890
- agentCount: number;
3891
4500
  workers: {
3892
4501
  total: number;
3893
4502
  addedToday: number;
3894
4503
  };
4504
+ agentCount: number;
3895
4505
  }, {
3896
4506
  actives: {
3897
4507
  total: number;
@@ -3927,10 +4537,137 @@ export declare const dashboardWidgetsContract: {
3927
4537
  pendingConfirmation: number;
3928
4538
  upcomingStarts: number;
3929
4539
  };
3930
- agentCount: number;
3931
4540
  workers: {
3932
4541
  total: number;
3933
- addedToday: number;
4542
+ addedToday: number;
4543
+ };
4544
+ agentCount: number;
4545
+ }>;
4546
+ };
4547
+ };
4548
+ getAdminSaContactHistory: {
4549
+ description: "Returns Phone and WhatsApp contact totals and normalized outcome breakdowns for the selected range.";
4550
+ query: z.ZodObject<{
4551
+ startDate: z.ZodString;
4552
+ endDate: z.ZodString;
4553
+ } & {
4554
+ office: z.ZodOptional<z.ZodString>;
4555
+ }, "strip", z.ZodTypeAny, {
4556
+ startDate: string;
4557
+ endDate: string;
4558
+ office?: string | undefined;
4559
+ }, {
4560
+ startDate: string;
4561
+ endDate: string;
4562
+ office?: string | undefined;
4563
+ }>;
4564
+ summary: "Get normalized Second Agent contact-history metrics (Admin)";
4565
+ method: "GET";
4566
+ path: "/widgets/admin/sa-contact-history";
4567
+ responses: {
4568
+ 200: z.ZodObject<{
4569
+ phone: z.ZodObject<{
4570
+ total: z.ZodNumber;
4571
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
4572
+ }, "strip", z.ZodTypeAny, {
4573
+ total: number;
4574
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4575
+ }, {
4576
+ total: number;
4577
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4578
+ }>;
4579
+ whatsapp: z.ZodObject<{
4580
+ total: z.ZodNumber;
4581
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
4582
+ }, "strip", z.ZodTypeAny, {
4583
+ total: number;
4584
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4585
+ }, {
4586
+ total: number;
4587
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4588
+ }>;
4589
+ data: z.ZodArray<z.ZodObject<{
4590
+ date: z.ZodString;
4591
+ phone: z.ZodObject<{
4592
+ total: z.ZodNumber;
4593
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
4594
+ }, "strip", z.ZodTypeAny, {
4595
+ total: number;
4596
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4597
+ }, {
4598
+ total: number;
4599
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4600
+ }>;
4601
+ whatsapp: z.ZodObject<{
4602
+ total: z.ZodNumber;
4603
+ byOutcome: z.ZodRecord<z.ZodEnum<["AWAITING_FEEDBACK", "INTERESTED", "CONNECTED", "NO_ANSWER", "BUSY", "NOT_INTERESTED", "INVALID_NUMBER", "FAILED"]>, z.ZodNumber>;
4604
+ }, "strip", z.ZodTypeAny, {
4605
+ total: number;
4606
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4607
+ }, {
4608
+ total: number;
4609
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4610
+ }>;
4611
+ }, "strip", z.ZodTypeAny, {
4612
+ phone: {
4613
+ total: number;
4614
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4615
+ };
4616
+ date: string;
4617
+ whatsapp: {
4618
+ total: number;
4619
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4620
+ };
4621
+ }, {
4622
+ phone: {
4623
+ total: number;
4624
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4625
+ };
4626
+ date: string;
4627
+ whatsapp: {
4628
+ total: number;
4629
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4630
+ };
4631
+ }>, "many">;
4632
+ }, "strip", z.ZodTypeAny, {
4633
+ phone: {
4634
+ total: number;
4635
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4636
+ };
4637
+ data: {
4638
+ phone: {
4639
+ total: number;
4640
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4641
+ };
4642
+ date: string;
4643
+ whatsapp: {
4644
+ total: number;
4645
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4646
+ };
4647
+ }[];
4648
+ whatsapp: {
4649
+ total: number;
4650
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4651
+ };
4652
+ }, {
4653
+ phone: {
4654
+ total: number;
4655
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4656
+ };
4657
+ data: {
4658
+ phone: {
4659
+ total: number;
4660
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4661
+ };
4662
+ date: string;
4663
+ whatsapp: {
4664
+ total: number;
4665
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
4666
+ };
4667
+ }[];
4668
+ whatsapp: {
4669
+ total: number;
4670
+ byOutcome: Partial<Record<"NO_ANSWER" | "INVALID_NUMBER" | "INTERESTED" | "NOT_INTERESTED" | "CONNECTED" | "BUSY" | "AWAITING_FEEDBACK" | "FAILED", number>>;
3934
4671
  };
3935
4672
  }>;
3936
4673
  };
@@ -3983,27 +4720,27 @@ export declare const dashboardWidgetsContract: {
3983
4720
  peakValue: number;
3984
4721
  }>;
3985
4722
  }, "strip", z.ZodTypeAny, {
3986
- data: {
3987
- date: string;
3988
- total: number;
3989
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
3990
- }[];
3991
4723
  summary: {
3992
4724
  averageDaily: number;
3993
4725
  peakDay: string | null;
3994
4726
  peakValue: number;
3995
4727
  };
3996
- }, {
3997
4728
  data: {
3998
4729
  date: string;
3999
4730
  total: number;
4000
4731
  byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
4001
4732
  }[];
4733
+ }, {
4002
4734
  summary: {
4003
4735
  averageDaily: number;
4004
4736
  peakDay: string | null;
4005
4737
  peakValue: number;
4006
4738
  };
4739
+ data: {
4740
+ date: string;
4741
+ total: number;
4742
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
4743
+ }[];
4007
4744
  }>;
4008
4745
  };
4009
4746
  };
@@ -4061,6 +4798,10 @@ export declare const dashboardWidgetsContract: {
4061
4798
  averageDaily: number;
4062
4799
  }>;
4063
4800
  }, "strip", z.ZodTypeAny, {
4801
+ summary: {
4802
+ totalCreated: number;
4803
+ averageDaily: number;
4804
+ };
4064
4805
  data: {
4065
4806
  date: string;
4066
4807
  total: number;
@@ -4069,11 +4810,11 @@ export declare const dashboardWidgetsContract: {
4069
4810
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
4070
4811
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
4071
4812
  }[];
4813
+ }, {
4072
4814
  summary: {
4073
4815
  totalCreated: number;
4074
4816
  averageDaily: number;
4075
4817
  };
4076
- }, {
4077
4818
  data: {
4078
4819
  date: string;
4079
4820
  total: number;
@@ -4082,10 +4823,6 @@ export declare const dashboardWidgetsContract: {
4082
4823
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
4083
4824
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
4084
4825
  }[];
4085
- summary: {
4086
- totalCreated: number;
4087
- averageDaily: number;
4088
- };
4089
4826
  }>;
4090
4827
  };
4091
4828
  };
@@ -4115,15 +4852,15 @@ export declare const dashboardWidgetsContract: {
4115
4852
  ratingBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
4116
4853
  }, "strip", z.ZodTypeAny, {
4117
4854
  date: string;
4118
- totalCalls: number;
4119
4855
  conversionRate: number;
4856
+ totalCalls: number;
4120
4857
  performanceScore: number;
4121
4858
  ratingBreakdown: Record<string, number>;
4122
4859
  averageRating: number;
4123
4860
  }, {
4124
4861
  date: string;
4125
- totalCalls: number;
4126
4862
  conversionRate: number;
4863
+ totalCalls: number;
4127
4864
  performanceScore: number;
4128
4865
  ratingBreakdown: Record<string, number>;
4129
4866
  averageRating: number;
@@ -4142,33 +4879,33 @@ export declare const dashboardWidgetsContract: {
4142
4879
  overallAverageRating: number;
4143
4880
  }>;
4144
4881
  }, "strip", z.ZodTypeAny, {
4882
+ summary: {
4883
+ averageDailyCalls: number;
4884
+ overallConversionRate: number;
4885
+ overallAverageRating: number;
4886
+ };
4145
4887
  data: {
4146
4888
  date: string;
4147
- totalCalls: number;
4148
4889
  conversionRate: number;
4890
+ totalCalls: number;
4149
4891
  performanceScore: number;
4150
4892
  ratingBreakdown: Record<string, number>;
4151
4893
  averageRating: number;
4152
4894
  }[];
4895
+ }, {
4153
4896
  summary: {
4154
4897
  averageDailyCalls: number;
4155
4898
  overallConversionRate: number;
4156
4899
  overallAverageRating: number;
4157
4900
  };
4158
- }, {
4159
4901
  data: {
4160
4902
  date: string;
4161
- totalCalls: number;
4162
4903
  conversionRate: number;
4904
+ totalCalls: number;
4163
4905
  performanceScore: number;
4164
4906
  ratingBreakdown: Record<string, number>;
4165
4907
  averageRating: number;
4166
4908
  }[];
4167
- summary: {
4168
- averageDailyCalls: number;
4169
- overallConversionRate: number;
4170
- overallAverageRating: number;
4171
- };
4172
4909
  }>;
4173
4910
  };
4174
4911
  };
@@ -4213,25 +4950,25 @@ export declare const dashboardWidgetsContract: {
4213
4950
  averagePerDay: number;
4214
4951
  }>;
4215
4952
  }, "strip", z.ZodTypeAny, {
4953
+ summary: {
4954
+ totalAdded: number;
4955
+ averagePerDay: number;
4956
+ };
4216
4957
  data: {
4217
4958
  date: string;
4218
4959
  added: number;
4219
4960
  cumulativeTotal: number;
4220
4961
  }[];
4962
+ }, {
4221
4963
  summary: {
4222
4964
  totalAdded: number;
4223
4965
  averagePerDay: number;
4224
4966
  };
4225
- }, {
4226
4967
  data: {
4227
4968
  date: string;
4228
4969
  added: number;
4229
4970
  cumulativeTotal: number;
4230
4971
  }[];
4231
- summary: {
4232
- totalAdded: number;
4233
- averagePerDay: number;
4234
- };
4235
4972
  }>;
4236
4973
  };
4237
4974
  };
@@ -4258,12 +4995,12 @@ export declare const dashboardWidgetsContract: {
4258
4995
  byStatus: z.ZodRecord<z.ZodEnum<["ACTIVE", "INACTIVE", "PENDING_APPROVAL", "REJECTED", "APPROVED", "CHANGED_COMPANY", "CHANGED_AGENT", "CHANGED_COMPANY_AND_AGENT"]>, z.ZodNumber>;
4259
4996
  }, "strip", z.ZodTypeAny, {
4260
4997
  date: string;
4261
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
4262
4998
  created: number;
4999
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
4263
5000
  }, {
4264
5001
  date: string;
4265
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
4266
5002
  created: number;
5003
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
4267
5004
  }>, "many">;
4268
5005
  summary: z.ZodObject<{
4269
5006
  totalCreated: z.ZodNumber;
@@ -4276,25 +5013,25 @@ export declare const dashboardWidgetsContract: {
4276
5013
  totalCreated: number;
4277
5014
  }>;
4278
5015
  }, "strip", z.ZodTypeAny, {
4279
- data: {
4280
- date: string;
4281
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
4282
- created: number;
4283
- }[];
4284
5016
  summary: {
4285
5017
  activeCount: number;
4286
5018
  totalCreated: number;
4287
5019
  };
4288
- }, {
4289
5020
  data: {
4290
5021
  date: string;
4291
- byStatus: Partial<Record<"ACTIVE" | "INACTIVE" | "PENDING_APPROVAL" | "REJECTED" | "APPROVED" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
4292
5022
  created: number;
5023
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
4293
5024
  }[];
5025
+ }, {
4294
5026
  summary: {
4295
5027
  activeCount: number;
4296
5028
  totalCreated: number;
4297
5029
  };
5030
+ data: {
5031
+ date: string;
5032
+ created: number;
5033
+ byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
5034
+ }[];
4298
5035
  }>;
4299
5036
  };
4300
5037
  };
@@ -4323,14 +5060,14 @@ export declare const dashboardWidgetsContract: {
4323
5060
  fillRate: z.ZodNumber;
4324
5061
  }, "strip", z.ZodTypeAny, {
4325
5062
  date: string;
4326
- fillRate: number;
4327
5063
  created: number;
5064
+ fillRate: number;
4328
5065
  openPositions: number;
4329
5066
  filled: number;
4330
5067
  }, {
4331
5068
  date: string;
4332
- fillRate: number;
4333
5069
  created: number;
5070
+ fillRate: number;
4334
5071
  openPositions: number;
4335
5072
  filled: number;
4336
5073
  }>, "many">;
@@ -4351,33 +5088,33 @@ export declare const dashboardWidgetsContract: {
4351
5088
  endOpenPositions: number;
4352
5089
  }>;
4353
5090
  }, "strip", z.ZodTypeAny, {
4354
- data: {
4355
- date: string;
4356
- fillRate: number;
4357
- created: number;
4358
- openPositions: number;
4359
- filled: number;
4360
- }[];
4361
5091
  summary: {
4362
5092
  totalCreated: number;
4363
5093
  fillRate: number;
4364
5094
  totalFilled: number;
4365
5095
  endOpenPositions: number;
4366
5096
  };
4367
- }, {
4368
5097
  data: {
4369
5098
  date: string;
4370
- fillRate: number;
4371
5099
  created: number;
5100
+ fillRate: number;
4372
5101
  openPositions: number;
4373
5102
  filled: number;
4374
5103
  }[];
5104
+ }, {
4375
5105
  summary: {
4376
5106
  totalCreated: number;
4377
5107
  fillRate: number;
4378
5108
  totalFilled: number;
4379
5109
  endOpenPositions: number;
4380
5110
  };
5111
+ data: {
5112
+ date: string;
5113
+ created: number;
5114
+ fillRate: number;
5115
+ openPositions: number;
5116
+ filled: number;
5117
+ }[];
4381
5118
  }>;
4382
5119
  };
4383
5120
  };
@@ -4435,6 +5172,10 @@ export declare const dashboardWidgetsContract: {
4435
5172
  averageDaily: number;
4436
5173
  }>;
4437
5174
  }, "strip", z.ZodTypeAny, {
5175
+ summary: {
5176
+ totalCreated: number;
5177
+ averageDaily: number;
5178
+ };
4438
5179
  data: {
4439
5180
  date: string;
4440
5181
  total: number;
@@ -4443,11 +5184,11 @@ export declare const dashboardWidgetsContract: {
4443
5184
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
4444
5185
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
4445
5186
  }[];
5187
+ }, {
4446
5188
  summary: {
4447
5189
  totalCreated: number;
4448
5190
  averageDaily: number;
4449
5191
  };
4450
- }, {
4451
5192
  data: {
4452
5193
  date: string;
4453
5194
  total: number;
@@ -4456,10 +5197,6 @@ export declare const dashboardWidgetsContract: {
4456
5197
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
4457
5198
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
4458
5199
  }[];
4459
- summary: {
4460
- totalCreated: number;
4461
- averageDaily: number;
4462
- };
4463
5200
  }>;
4464
5201
  };
4465
5202
  };
@@ -4511,27 +5248,27 @@ export declare const dashboardWidgetsContract: {
4511
5248
  peakValue: number;
4512
5249
  }>;
4513
5250
  }, "strip", z.ZodTypeAny, {
4514
- data: {
4515
- date: string;
4516
- total: number;
4517
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
4518
- }[];
4519
5251
  summary: {
4520
5252
  averageDaily: number;
4521
5253
  peakDay: string | null;
4522
5254
  peakValue: number;
4523
5255
  };
4524
- }, {
4525
5256
  data: {
4526
5257
  date: string;
4527
5258
  total: number;
4528
5259
  byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
4529
5260
  }[];
5261
+ }, {
4530
5262
  summary: {
4531
5263
  averageDaily: number;
4532
5264
  peakDay: string | null;
4533
5265
  peakValue: number;
4534
5266
  };
5267
+ data: {
5268
+ date: string;
5269
+ total: number;
5270
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
5271
+ }[];
4535
5272
  }>;
4536
5273
  };
4537
5274
  };
@@ -4565,15 +5302,15 @@ export declare const dashboardWidgetsContract: {
4565
5302
  ratingBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
4566
5303
  }, "strip", z.ZodTypeAny, {
4567
5304
  date: string;
4568
- totalCalls: number;
4569
5305
  conversionRate: number;
5306
+ totalCalls: number;
4570
5307
  performanceScore: number;
4571
5308
  ratingBreakdown: Record<string, number>;
4572
5309
  averageRating: number;
4573
5310
  }, {
4574
5311
  date: string;
4575
- totalCalls: number;
4576
5312
  conversionRate: number;
5313
+ totalCalls: number;
4577
5314
  performanceScore: number;
4578
5315
  ratingBreakdown: Record<string, number>;
4579
5316
  averageRating: number;
@@ -4592,33 +5329,33 @@ export declare const dashboardWidgetsContract: {
4592
5329
  overallAverageRating: number;
4593
5330
  }>;
4594
5331
  }, "strip", z.ZodTypeAny, {
5332
+ summary: {
5333
+ averageDailyCalls: number;
5334
+ overallConversionRate: number;
5335
+ overallAverageRating: number;
5336
+ };
4595
5337
  data: {
4596
5338
  date: string;
4597
- totalCalls: number;
4598
5339
  conversionRate: number;
5340
+ totalCalls: number;
4599
5341
  performanceScore: number;
4600
5342
  ratingBreakdown: Record<string, number>;
4601
5343
  averageRating: number;
4602
5344
  }[];
5345
+ }, {
4603
5346
  summary: {
4604
5347
  averageDailyCalls: number;
4605
5348
  overallConversionRate: number;
4606
5349
  overallAverageRating: number;
4607
5350
  };
4608
- }, {
4609
5351
  data: {
4610
5352
  date: string;
4611
- totalCalls: number;
4612
5353
  conversionRate: number;
5354
+ totalCalls: number;
4613
5355
  performanceScore: number;
4614
5356
  ratingBreakdown: Record<string, number>;
4615
5357
  averageRating: number;
4616
5358
  }[];
4617
- summary: {
4618
- averageDailyCalls: number;
4619
- overallConversionRate: number;
4620
- overallAverageRating: number;
4621
- };
4622
5359
  }>;
4623
5360
  };
4624
5361
  };
@@ -4651,14 +5388,14 @@ export declare const dashboardWidgetsContract: {
4651
5388
  fillRate: z.ZodNumber;
4652
5389
  }, "strip", z.ZodTypeAny, {
4653
5390
  date: string;
4654
- fillRate: number;
4655
5391
  created: number;
5392
+ fillRate: number;
4656
5393
  openPositions: number;
4657
5394
  filled: number;
4658
5395
  }, {
4659
5396
  date: string;
4660
- fillRate: number;
4661
5397
  created: number;
5398
+ fillRate: number;
4662
5399
  openPositions: number;
4663
5400
  filled: number;
4664
5401
  }>, "many">;
@@ -4679,33 +5416,33 @@ export declare const dashboardWidgetsContract: {
4679
5416
  endOpenPositions: number;
4680
5417
  }>;
4681
5418
  }, "strip", z.ZodTypeAny, {
4682
- data: {
4683
- date: string;
4684
- fillRate: number;
4685
- created: number;
4686
- openPositions: number;
4687
- filled: number;
4688
- }[];
4689
5419
  summary: {
4690
5420
  totalCreated: number;
4691
5421
  fillRate: number;
4692
5422
  totalFilled: number;
4693
5423
  endOpenPositions: number;
4694
5424
  };
4695
- }, {
4696
5425
  data: {
4697
5426
  date: string;
4698
- fillRate: number;
4699
5427
  created: number;
5428
+ fillRate: number;
4700
5429
  openPositions: number;
4701
5430
  filled: number;
4702
5431
  }[];
5432
+ }, {
4703
5433
  summary: {
4704
5434
  totalCreated: number;
4705
5435
  fillRate: number;
4706
5436
  totalFilled: number;
4707
5437
  endOpenPositions: number;
4708
5438
  };
5439
+ data: {
5440
+ date: string;
5441
+ created: number;
5442
+ fillRate: number;
5443
+ openPositions: number;
5444
+ filled: number;
5445
+ }[];
4709
5446
  }>;
4710
5447
  };
4711
5448
  };
@@ -4754,25 +5491,25 @@ export declare const dashboardWidgetsContract: {
4754
5491
  averagePerDay: number;
4755
5492
  }>;
4756
5493
  }, "strip", z.ZodTypeAny, {
5494
+ summary: {
5495
+ totalAdded: number;
5496
+ averagePerDay: number;
5497
+ };
4757
5498
  data: {
4758
5499
  date: string;
4759
5500
  added: number;
4760
5501
  cumulativeTotal: number;
4761
5502
  }[];
5503
+ }, {
4762
5504
  summary: {
4763
5505
  totalAdded: number;
4764
5506
  averagePerDay: number;
4765
5507
  };
4766
- }, {
4767
5508
  data: {
4768
5509
  date: string;
4769
5510
  added: number;
4770
5511
  cumulativeTotal: number;
4771
5512
  }[];
4772
- summary: {
4773
- totalAdded: number;
4774
- averagePerDay: number;
4775
- };
4776
5513
  }>;
4777
5514
  };
4778
5515
  };
@@ -4799,11 +5536,11 @@ export declare const dashboardWidgetsContract: {
4799
5536
  }, "strip", z.ZodTypeAny, {
4800
5537
  date: string;
4801
5538
  total: number;
4802
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
5539
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
4803
5540
  }, {
4804
5541
  date: string;
4805
5542
  total: number;
4806
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
5543
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
4807
5544
  }>, "many">;
4808
5545
  summary: z.ZodObject<{
4809
5546
  averageDaily: z.ZodNumber;
@@ -4819,27 +5556,27 @@ export declare const dashboardWidgetsContract: {
4819
5556
  peakValue: number;
4820
5557
  }>;
4821
5558
  }, "strip", z.ZodTypeAny, {
4822
- data: {
4823
- date: string;
4824
- total: number;
4825
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
4826
- }[];
4827
5559
  summary: {
4828
5560
  averageDaily: number;
4829
5561
  peakDay: string | null;
4830
5562
  peakValue: number;
4831
5563
  };
4832
- }, {
4833
5564
  data: {
4834
5565
  date: string;
4835
5566
  total: number;
4836
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
5567
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
4837
5568
  }[];
5569
+ }, {
4838
5570
  summary: {
4839
5571
  averageDaily: number;
4840
5572
  peakDay: string | null;
4841
5573
  peakValue: number;
4842
5574
  };
5575
+ data: {
5576
+ date: string;
5577
+ total: number;
5578
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
5579
+ }[];
4843
5580
  }>;
4844
5581
  };
4845
5582
  };
@@ -4870,11 +5607,11 @@ export declare const dashboardWidgetsContract: {
4870
5607
  }, "strip", z.ZodTypeAny, {
4871
5608
  date: string;
4872
5609
  total: number;
4873
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
5610
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
4874
5611
  }, {
4875
5612
  date: string;
4876
5613
  total: number;
4877
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
5614
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
4878
5615
  }>, "many">;
4879
5616
  summary: z.ZodObject<{
4880
5617
  averageDaily: z.ZodNumber;
@@ -4890,27 +5627,27 @@ export declare const dashboardWidgetsContract: {
4890
5627
  peakValue: number;
4891
5628
  }>;
4892
5629
  }, "strip", z.ZodTypeAny, {
4893
- data: {
4894
- date: string;
4895
- total: number;
4896
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
4897
- }[];
4898
5630
  summary: {
4899
5631
  averageDaily: number;
4900
5632
  peakDay: string | null;
4901
5633
  peakValue: number;
4902
5634
  };
4903
- }, {
4904
5635
  data: {
4905
5636
  date: string;
4906
5637
  total: number;
4907
- byOutcome: Partial<Record<"CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "OFFER_SENT" | "BOOKED" | "BOOKING_CANCELLED" | "TOO_FAR" | "NOT_INTERESTED", number>>;
5638
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
4908
5639
  }[];
5640
+ }, {
4909
5641
  summary: {
4910
5642
  averageDaily: number;
4911
5643
  peakDay: string | null;
4912
5644
  peakValue: number;
4913
5645
  };
5646
+ data: {
5647
+ date: string;
5648
+ total: number;
5649
+ byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
5650
+ }[];
4914
5651
  }>;
4915
5652
  };
4916
5653
  };
@@ -4967,6 +5704,10 @@ export declare const dashboardWidgetsContract: {
4967
5704
  averageDaily: number;
4968
5705
  }>;
4969
5706
  }, "strip", z.ZodTypeAny, {
5707
+ summary: {
5708
+ totalCreated: number;
5709
+ averageDaily: number;
5710
+ };
4970
5711
  data: {
4971
5712
  date: string;
4972
5713
  total: number;
@@ -4975,11 +5716,11 @@ export declare const dashboardWidgetsContract: {
4975
5716
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
4976
5717
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
4977
5718
  }[];
5719
+ }, {
4978
5720
  summary: {
4979
5721
  totalCreated: number;
4980
5722
  averageDaily: number;
4981
5723
  };
4982
- }, {
4983
5724
  data: {
4984
5725
  date: string;
4985
5726
  total: number;
@@ -4988,10 +5729,6 @@ export declare const dashboardWidgetsContract: {
4988
5729
  forDayByCategory: Partial<Record<import("../bookings/bookings.contract").BookingCategory, number>>;
4989
5730
  forDayByStatus: Partial<Record<import("../bookings/bookings.contract").BookingType, number>>;
4990
5731
  }[];
4991
- summary: {
4992
- totalCreated: number;
4993
- averageDaily: number;
4994
- };
4995
5732
  }>;
4996
5733
  };
4997
5734
  };
@@ -5042,27 +5779,27 @@ export declare const dashboardWidgetsContract: {
5042
5779
  peakValue: number;
5043
5780
  }>;
5044
5781
  }, "strip", z.ZodTypeAny, {
5045
- data: {
5046
- date: string;
5047
- total: number;
5048
- byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
5049
- }[];
5050
5782
  summary: {
5051
5783
  averageDaily: number;
5052
5784
  peakDay: string | null;
5053
5785
  peakValue: number;
5054
5786
  };
5055
- }, {
5056
5787
  data: {
5057
5788
  date: string;
5058
5789
  total: number;
5059
5790
  byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
5060
5791
  }[];
5792
+ }, {
5061
5793
  summary: {
5062
5794
  averageDaily: number;
5063
5795
  peakDay: string | null;
5064
5796
  peakValue: number;
5065
5797
  };
5798
+ data: {
5799
+ date: string;
5800
+ total: number;
5801
+ byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
5802
+ }[];
5066
5803
  }>;
5067
5804
  };
5068
5805
  };
@@ -5091,15 +5828,15 @@ export declare const dashboardWidgetsContract: {
5091
5828
  ratingBreakdown: z.ZodRecord<z.ZodString, z.ZodNumber>;
5092
5829
  }, "strip", z.ZodTypeAny, {
5093
5830
  date: string;
5094
- totalCalls: number;
5095
5831
  conversionRate: number;
5832
+ totalCalls: number;
5096
5833
  performanceScore: number;
5097
5834
  ratingBreakdown: Record<string, number>;
5098
5835
  averageRating: number;
5099
5836
  }, {
5100
5837
  date: string;
5101
- totalCalls: number;
5102
5838
  conversionRate: number;
5839
+ totalCalls: number;
5103
5840
  performanceScore: number;
5104
5841
  ratingBreakdown: Record<string, number>;
5105
5842
  averageRating: number;
@@ -5118,33 +5855,33 @@ export declare const dashboardWidgetsContract: {
5118
5855
  overallAverageRating: number;
5119
5856
  }>;
5120
5857
  }, "strip", z.ZodTypeAny, {
5858
+ summary: {
5859
+ averageDailyCalls: number;
5860
+ overallConversionRate: number;
5861
+ overallAverageRating: number;
5862
+ };
5121
5863
  data: {
5122
5864
  date: string;
5123
- totalCalls: number;
5124
5865
  conversionRate: number;
5866
+ totalCalls: number;
5125
5867
  performanceScore: number;
5126
5868
  ratingBreakdown: Record<string, number>;
5127
5869
  averageRating: number;
5128
5870
  }[];
5871
+ }, {
5129
5872
  summary: {
5130
5873
  averageDailyCalls: number;
5131
5874
  overallConversionRate: number;
5132
5875
  overallAverageRating: number;
5133
5876
  };
5134
- }, {
5135
5877
  data: {
5136
5878
  date: string;
5137
- totalCalls: number;
5138
5879
  conversionRate: number;
5880
+ totalCalls: number;
5139
5881
  performanceScore: number;
5140
5882
  ratingBreakdown: Record<string, number>;
5141
5883
  averageRating: number;
5142
5884
  }[];
5143
- summary: {
5144
- averageDailyCalls: number;
5145
- overallConversionRate: number;
5146
- overallAverageRating: number;
5147
- };
5148
5885
  }>;
5149
5886
  };
5150
5887
  };
@@ -5172,14 +5909,14 @@ export declare const dashboardWidgetsContract: {
5172
5909
  fillRate: z.ZodNumber;
5173
5910
  }, "strip", z.ZodTypeAny, {
5174
5911
  date: string;
5175
- fillRate: number;
5176
5912
  created: number;
5913
+ fillRate: number;
5177
5914
  openPositions: number;
5178
5915
  filled: number;
5179
5916
  }, {
5180
5917
  date: string;
5181
- fillRate: number;
5182
5918
  created: number;
5919
+ fillRate: number;
5183
5920
  openPositions: number;
5184
5921
  filled: number;
5185
5922
  }>, "many">;
@@ -5200,33 +5937,33 @@ export declare const dashboardWidgetsContract: {
5200
5937
  endOpenPositions: number;
5201
5938
  }>;
5202
5939
  }, "strip", z.ZodTypeAny, {
5203
- data: {
5204
- date: string;
5205
- fillRate: number;
5206
- created: number;
5207
- openPositions: number;
5208
- filled: number;
5209
- }[];
5210
5940
  summary: {
5211
5941
  totalCreated: number;
5212
5942
  fillRate: number;
5213
5943
  totalFilled: number;
5214
5944
  endOpenPositions: number;
5215
5945
  };
5216
- }, {
5217
5946
  data: {
5218
5947
  date: string;
5219
- fillRate: number;
5220
5948
  created: number;
5949
+ fillRate: number;
5221
5950
  openPositions: number;
5222
5951
  filled: number;
5223
5952
  }[];
5953
+ }, {
5224
5954
  summary: {
5225
5955
  totalCreated: number;
5226
5956
  fillRate: number;
5227
5957
  totalFilled: number;
5228
5958
  endOpenPositions: number;
5229
5959
  };
5960
+ data: {
5961
+ date: string;
5962
+ created: number;
5963
+ fillRate: number;
5964
+ openPositions: number;
5965
+ filled: number;
5966
+ }[];
5230
5967
  }>;
5231
5968
  };
5232
5969
  };
@@ -5270,25 +6007,25 @@ export declare const dashboardWidgetsContract: {
5270
6007
  averagePerDay: number;
5271
6008
  }>;
5272
6009
  }, "strip", z.ZodTypeAny, {
6010
+ summary: {
6011
+ totalAdded: number;
6012
+ averagePerDay: number;
6013
+ };
5273
6014
  data: {
5274
6015
  date: string;
5275
6016
  added: number;
5276
6017
  cumulativeTotal: number;
5277
6018
  }[];
6019
+ }, {
5278
6020
  summary: {
5279
6021
  totalAdded: number;
5280
6022
  averagePerDay: number;
5281
6023
  };
5282
- }, {
5283
6024
  data: {
5284
6025
  date: string;
5285
6026
  added: number;
5286
6027
  cumulativeTotal: number;
5287
6028
  }[];
5288
- summary: {
5289
- totalAdded: number;
5290
- averagePerDay: number;
5291
- };
5292
6029
  }>;
5293
6030
  };
5294
6031
  };
@@ -5365,8 +6102,14 @@ export type AdminAgentStatsResponse = z.infer<ReturnType<typeof createPaginatedR
5365
6102
  proofsBookingByType: z.ZodRecord<z.ZodNativeEnum<any>, z.ZodNumber>;
5366
6103
  offersSent: z.ZodNumber;
5367
6104
  offersBooked: z.ZodNumber;
6105
+ phoneContacts: z.ZodNumber;
6106
+ phoneContactsByOutcome: z.ZodRecord<typeof CandidateContactHistoryOutcomeSchema, z.ZodNumber>;
6107
+ whatsappContacts: z.ZodNumber;
6108
+ whatsappContactsByOutcome: z.ZodRecord<typeof CandidateContactHistoryOutcomeSchema, z.ZodNumber>;
5368
6109
  }>>>>;
5369
6110
  export type AdminAgentStatsItem = AdminAgentStatsResponse['items'][number];
5370
6111
  export type AdminFaAggregate = z.infer<typeof AdminFaAggregateSchema>;
5371
6112
  export type AdminSaAggregate = z.infer<typeof AdminSaAggregateSchema>;
6113
+ export type AdminSharedAggregate = z.infer<typeof AdminSharedAggregateSchema>;
6114
+ export type AdminContactHistoryMetrics = z.infer<typeof AdminContactHistoryMetricsSchema>;
5372
6115
  //# sourceMappingURL=dashboard-widgets.contract.d.ts.map