@dakkitor/api-contracts 1.8.0 → 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.
- package/dist/abilities/abilities.contract.d.ts +28 -1
- package/dist/abilities/abilities.contract.d.ts.map +1 -1
- package/dist/abilities/abilities.contract.js +32 -1
- package/dist/abilities/abilities.contract.spec.js +63 -3
- package/dist/abilities/admin-dashboard.abilities.test.js +1 -0
- package/dist/abilities/automatic-caller.abilities.json +1 -0
- package/dist/abilities/first-agent.abilities.json +14 -0
- package/dist/abilities/interconnection.abilities.json +17 -1
- package/dist/abilities/office-manager.abilities.json +4 -0
- package/dist/abilities/second-agent.abilities.json +48 -1
- package/dist/abilities/worker-curator.abilities.json +17 -1
- package/dist/actives/actives.contract.d.ts +6959 -6547
- package/dist/actives/actives.contract.d.ts.map +1 -1
- package/dist/agent-client-links/agent-client-links.contract.d.ts +1275 -1173
- package/dist/agent-client-links/agent-client-links.contract.d.ts.map +1 -1
- package/dist/auth/auth.contract.d.ts +102 -102
- package/dist/bookings/backdate-guard.spec.js +24 -32
- package/dist/bookings/bookings.contract.d.ts +9963 -9305
- package/dist/bookings/bookings.contract.d.ts.map +1 -1
- package/dist/bookings/bookings.contract.js +2 -16
- package/dist/call-history/call-history.contract.d.ts +1040 -828
- package/dist/call-history/call-history.contract.d.ts.map +1 -1
- package/dist/calls-feed/calls-feed.contract.d.ts +138 -98
- package/dist/calls-feed/calls-feed.contract.d.ts.map +1 -1
- package/dist/candidate-calling/candidate-calling.contract.d.ts +18372 -0
- package/dist/candidate-calling/candidate-calling.contract.d.ts.map +1 -0
- package/dist/candidate-calling/candidate-calling.contract.js +494 -0
- package/dist/candidate-calling/candidate-calling.contract.spec.d.ts +2 -0
- package/dist/candidate-calling/candidate-calling.contract.spec.d.ts.map +1 -0
- package/dist/candidate-calling/candidate-calling.contract.spec.js +357 -0
- package/dist/candidate-calling/candidate-dialpad-call.schemas.d.ts +10 -0
- package/dist/candidate-calling/candidate-dialpad-call.schemas.d.ts.map +1 -0
- package/dist/candidate-calling/candidate-dialpad-call.schemas.js +33 -0
- package/dist/client-contacts/client-contacts.contract.d.ts +622 -622
- package/dist/clients/clients.contract.d.ts +289 -289
- package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts +3108 -3004
- package/dist/collaboration-checkings/collaboration-checkings.contract.d.ts.map +1 -1
- package/dist/collaborations/collaborations.contract.d.ts +2604 -2507
- package/dist/collaborations/collaborations.contract.d.ts.map +1 -1
- package/dist/common/callback-slots.d.ts +4 -0
- package/dist/common/callback-slots.d.ts.map +1 -0
- package/dist/common/callback-slots.js +20 -0
- package/dist/common/common-schemas.d.ts +10 -4
- package/dist/common/common-schemas.d.ts.map +1 -1
- package/dist/common/common-schemas.js +6 -0
- package/dist/companies/companies.contract.d.ts +120 -120
- package/dist/crews/crews.contract.d.ts +278 -278
- package/dist/cron-executions/cron-executions.contract.d.ts +245 -245
- package/dist/cron-executions/cron-executions.contract.d.ts.map +1 -1
- package/dist/cron-executions/cron-executions.contract.js +1 -0
- package/dist/curated-worker-leads/candidate-coordination.contract.d.ts +3830 -2354
- package/dist/curated-worker-leads/candidate-coordination.contract.d.ts.map +1 -1
- package/dist/curated-worker-leads/candidate-coordination.contract.js +73 -7
- package/dist/curated-worker-leads/candidate-edit-session.contract.d.ts +94 -94
- package/dist/curated-worker-leads/contact-history.spec.js +141 -0
- package/dist/curated-worker-leads/job-candidate-cards.spec.js +19 -0
- package/dist/curated-worker-leads/job-candidates.spec.js +179 -0
- package/dist/curated-worker-leads/jobs-tab.contract.d.ts +8185 -2106
- package/dist/curated-worker-leads/jobs-tab.contract.d.ts.map +1 -1
- package/dist/curated-worker-leads/jobs-tab.contract.js +126 -1
- package/dist/curated-worker-leads/owned-jobs-tab.contract.d.ts +110 -110
- package/dist/curated-workers/curated-workers.contract.d.ts +2033 -1951
- package/dist/curated-workers/curated-workers.contract.d.ts.map +1 -1
- package/dist/dashboards/dashboard-widgets.contact-history.spec.d.ts +2 -0
- package/dist/dashboards/dashboard-widgets.contact-history.spec.d.ts.map +1 -0
- package/dist/dashboards/dashboard-widgets.contact-history.spec.js +160 -0
- package/dist/dashboards/dashboard-widgets.contract.d.ts +1027 -284
- package/dist/dashboards/dashboard-widgets.contract.d.ts.map +1 -1
- package/dist/dashboards/dashboard-widgets.contract.js +46 -1
- package/dist/dashboards/dashboard.contract.d.ts +8 -8
- package/dist/document-intake/document-intake.contract.d.ts +1145 -1145
- package/dist/export-jobs/export-jobs.contract.d.ts +755 -755
- package/dist/exports-events/exports-events.schemas.d.ts +6 -6
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/jobs/jobs.contract.d.ts +8507 -6044
- package/dist/jobs/jobs.contract.d.ts.map +1 -1
- package/dist/jobs/jobs.contract.js +95 -2
- package/dist/jobs/jobs.contract.spec.js +231 -1
- package/dist/kpi-impersonation/kpi-impersonation.contract.d.ts +102 -102
- package/dist/lead-assignments/lead-assignments.contract.d.ts +2985 -1139
- package/dist/lead-assignments/lead-assignments.contract.d.ts.map +1 -1
- package/dist/lead-assignments/lead-assignments.contract.js +102 -2
- package/dist/lead-assignments/lead-assignments.contract.spec.d.ts +2 -0
- package/dist/lead-assignments/lead-assignments.contract.spec.d.ts.map +1 -0
- package/dist/lead-assignments/lead-assignments.contract.spec.js +51 -0
- package/dist/lead-distribution/agent-lead-distribution.contract.d.ts +341 -317
- package/dist/lead-distribution/agent-lead-distribution.contract.d.ts.map +1 -1
- package/dist/leads/leads.contract.d.ts +282 -282
- package/dist/locations/location-enrichment.contract.spec.d.ts +2 -0
- package/dist/locations/location-enrichment.contract.spec.d.ts.map +1 -0
- package/dist/locations/location-enrichment.contract.spec.js +50 -0
- package/dist/locations/locations.contract.d.ts +132 -98
- package/dist/locations/locations.contract.d.ts.map +1 -1
- package/dist/locations/locations.contract.js +10 -0
- package/dist/notifications/notifications.contract.d.ts +579 -107
- package/dist/notifications/notifications.contract.d.ts.map +1 -1
- package/dist/notifications/notifications.contract.js +36 -2
- package/dist/notifications/notifications.contract.spec.d.ts +2 -0
- package/dist/notifications/notifications.contract.spec.d.ts.map +1 -0
- package/dist/notifications/notifications.contract.spec.js +39 -0
- package/dist/outreach/__tests__/outreach-claim.test.js +33 -0
- package/dist/outreach/__tests__/outreach-routes.test.js +8 -0
- package/dist/outreach/outreach.contract.d.ts +583 -162
- package/dist/outreach/outreach.contract.d.ts.map +1 -1
- package/dist/outreach/outreach.contract.js +50 -1
- package/dist/outreach/relay-hub-outreach.contract.d.ts +299 -121
- package/dist/outreach/relay-hub-outreach.contract.d.ts.map +1 -1
- package/dist/outreach/relay-hub-outreach.contract.js +10 -0
- package/dist/outreach/relay-hub-outreach.contract.spec.js +26 -0
- package/dist/outreach/relay-hub-outreach.schemas.d.ts +94 -0
- package/dist/outreach/relay-hub-outreach.schemas.d.ts.map +1 -0
- package/dist/outreach/relay-hub-outreach.schemas.js +15 -0
- package/dist/own-research/check-phone-response.spec.d.ts +2 -0
- package/dist/own-research/check-phone-response.spec.d.ts.map +1 -0
- package/dist/own-research/check-phone-response.spec.js +54 -0
- package/dist/own-research/own-research.contract.d.ts +971 -820
- package/dist/own-research/own-research.contract.d.ts.map +1 -1
- package/dist/own-research/own-research.contract.js +6 -1
- package/dist/proofs/proofs.contract.d.ts +356 -356
- package/dist/proofs/proofs.dtos.d.ts +148 -148
- package/dist/realtime/job-call-priority-updated.d.ts +18 -0
- package/dist/realtime/job-call-priority-updated.d.ts.map +1 -0
- package/dist/realtime/job-call-priority-updated.js +17 -0
- package/dist/shared/summary-schemas.d.ts +36 -27
- package/dist/shared/summary-schemas.d.ts.map +1 -1
- package/dist/shared/summary-schemas.js +7 -0
- package/dist/sheets-sync/sheets-sync.contract.d.ts +683 -683
- package/dist/user-access-grants/user-access-grants.contract.d.ts +216 -216
- package/dist/users/users.contract.d.ts +365 -336
- package/dist/users/users.contract.d.ts.map +1 -1
- package/dist/users/users.contract.js +9 -1
- package/dist/users/users.contract.spec.js +39 -0
- package/dist/worker-source-identity-conflicts/worker-source-identity-conflicts.contract.d.ts +150 -150
- package/dist/workers/workers.contract.d.ts +4505 -4261
- package/dist/workers/workers.contract.d.ts.map +1 -1
- package/dist/workers/workers.contract.js +12 -0
- 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" | "
|
|
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" | "
|
|
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" | "
|
|
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" | "
|
|
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
|
}>;
|
|
@@ -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: "
|
|
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: "
|
|
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>;
|
|
@@ -268,7 +269,7 @@ export declare const AllAgentsCallHistoryQuerySchema: z.ZodObject<{
|
|
|
268
269
|
page: number;
|
|
269
270
|
limit: number;
|
|
270
271
|
sort?: {
|
|
271
|
-
field: "
|
|
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;
|
|
@@ -282,7 +283,7 @@ export declare const AllAgentsCallHistoryQuerySchema: z.ZodObject<{
|
|
|
282
283
|
}, {
|
|
283
284
|
status?: "ACTIVE" | "INACTIVE" | undefined;
|
|
284
285
|
sort?: {
|
|
285
|
-
field: "
|
|
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";
|
|
286
287
|
order: "ASC" | "DESC";
|
|
287
288
|
}[] | null | undefined;
|
|
288
289
|
page?: number | undefined;
|
|
@@ -936,16 +937,9 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
|
|
|
936
937
|
}>;
|
|
937
938
|
agentCount: z.ZodNumber;
|
|
938
939
|
}, "strip", z.ZodTypeAny, {
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
totalOpenPositions: number;
|
|
943
|
-
availableJobs: number;
|
|
944
|
-
transitionCounts: Record<string, number>;
|
|
945
|
-
fillRate: number;
|
|
946
|
-
positionsAdjusted: number;
|
|
947
|
-
positionsNetChange: number;
|
|
948
|
-
overbookedCount: number;
|
|
940
|
+
actives: {
|
|
941
|
+
total: number;
|
|
942
|
+
byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
949
943
|
};
|
|
950
944
|
bookings: {
|
|
951
945
|
forToday: {
|
|
@@ -977,9 +971,16 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
|
|
|
977
971
|
pendingConfirmation: number;
|
|
978
972
|
upcomingStarts: number;
|
|
979
973
|
};
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
974
|
+
jobs: {
|
|
975
|
+
filledPositions: number;
|
|
976
|
+
createdToday: number;
|
|
977
|
+
totalOpenPositions: number;
|
|
978
|
+
availableJobs: number;
|
|
979
|
+
transitionCounts: Record<string, number>;
|
|
980
|
+
fillRate: number;
|
|
981
|
+
positionsAdjusted: number;
|
|
982
|
+
positionsNetChange: number;
|
|
983
|
+
overbookedCount: number;
|
|
983
984
|
};
|
|
984
985
|
callMetrics: {
|
|
985
986
|
conversionRate: number;
|
|
@@ -999,16 +1000,9 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
|
|
|
999
1000
|
};
|
|
1000
1001
|
agentCount: number;
|
|
1001
1002
|
}, {
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
totalOpenPositions: number;
|
|
1006
|
-
availableJobs: number;
|
|
1007
|
-
transitionCounts: Record<string, number>;
|
|
1008
|
-
fillRate: number;
|
|
1009
|
-
positionsAdjusted: number;
|
|
1010
|
-
positionsNetChange: number;
|
|
1011
|
-
overbookedCount: number;
|
|
1003
|
+
actives: {
|
|
1004
|
+
total: number;
|
|
1005
|
+
byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
1012
1006
|
};
|
|
1013
1007
|
bookings: {
|
|
1014
1008
|
forToday: {
|
|
@@ -1040,9 +1034,16 @@ export declare const AdminFaAggregateSchema: z.ZodObject<{
|
|
|
1040
1034
|
pendingConfirmation: number;
|
|
1041
1035
|
upcomingStarts: number;
|
|
1042
1036
|
};
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1037
|
+
jobs: {
|
|
1038
|
+
filledPositions: number;
|
|
1039
|
+
createdToday: number;
|
|
1040
|
+
totalOpenPositions: number;
|
|
1041
|
+
availableJobs: number;
|
|
1042
|
+
transitionCounts: Record<string, number>;
|
|
1043
|
+
fillRate: number;
|
|
1044
|
+
positionsAdjusted: number;
|
|
1045
|
+
positionsNetChange: number;
|
|
1046
|
+
overbookedCount: number;
|
|
1046
1047
|
};
|
|
1047
1048
|
callMetrics: {
|
|
1048
1049
|
conversionRate: number;
|
|
@@ -1233,9 +1234,9 @@ export declare const AdminSaAggregateSchema: z.ZodObject<{
|
|
|
1233
1234
|
}>;
|
|
1234
1235
|
agentCount: z.ZodNumber;
|
|
1235
1236
|
}, "strip", z.ZodTypeAny, {
|
|
1236
|
-
|
|
1237
|
+
actives: {
|
|
1237
1238
|
total: number;
|
|
1238
|
-
|
|
1239
|
+
byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
1239
1240
|
};
|
|
1240
1241
|
bookings: {
|
|
1241
1242
|
forToday: {
|
|
@@ -1267,15 +1268,15 @@ export declare const AdminSaAggregateSchema: z.ZodObject<{
|
|
|
1267
1268
|
pendingConfirmation: number;
|
|
1268
1269
|
upcomingStarts: number;
|
|
1269
1270
|
};
|
|
1270
|
-
|
|
1271
|
+
workers: {
|
|
1271
1272
|
total: number;
|
|
1272
|
-
|
|
1273
|
+
addedToday: number;
|
|
1273
1274
|
};
|
|
1274
1275
|
agentCount: number;
|
|
1275
1276
|
}, {
|
|
1276
|
-
|
|
1277
|
+
actives: {
|
|
1277
1278
|
total: number;
|
|
1278
|
-
|
|
1279
|
+
byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
1279
1280
|
};
|
|
1280
1281
|
bookings: {
|
|
1281
1282
|
forToday: {
|
|
@@ -1307,65 +1308,404 @@ export declare const AdminSaAggregateSchema: z.ZodObject<{
|
|
|
1307
1308
|
pendingConfirmation: number;
|
|
1308
1309
|
upcomingStarts: number;
|
|
1309
1310
|
};
|
|
1310
|
-
|
|
1311
|
+
workers: {
|
|
1311
1312
|
total: number;
|
|
1312
|
-
|
|
1313
|
+
addedToday: number;
|
|
1313
1314
|
};
|
|
1314
1315
|
agentCount: number;
|
|
1315
1316
|
}>;
|
|
1316
|
-
/**
|
|
1317
|
-
|
|
1318
|
-
|
|
1319
|
-
|
|
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
|
-
}
|
|
1333
|
-
|
|
1334
|
-
|
|
1335
|
-
|
|
1336
|
-
|
|
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
|
-
|
|
1339
|
-
|
|
1340
|
-
|
|
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
|
-
|
|
1343
|
-
|
|
1344
|
-
|
|
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
|
-
|
|
1348
|
-
averageDaily: number;
|
|
1349
|
-
peakDay: string | null;
|
|
1350
|
-
peakValue: number;
|
|
1351
|
-
};
|
|
1352
|
-
data: {
|
|
1353
|
-
date: string;
|
|
1480
|
+
actives: {
|
|
1354
1481
|
total: number;
|
|
1355
1482
|
byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
1356
|
-
}[];
|
|
1357
|
-
}, {
|
|
1358
|
-
summary: {
|
|
1359
|
-
averageDaily: number;
|
|
1360
|
-
peakDay: string | null;
|
|
1361
|
-
peakValue: number;
|
|
1362
1483
|
};
|
|
1363
|
-
|
|
1364
|
-
|
|
1365
|
-
|
|
1366
|
-
|
|
1367
|
-
|
|
1368
|
-
|
|
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;
|
|
1513
|
+
};
|
|
1514
|
+
}, {
|
|
1515
|
+
actives: {
|
|
1516
|
+
total: number;
|
|
1517
|
+
byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
1518
|
+
};
|
|
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
|
+
}>;
|
|
1369
1709
|
/**
|
|
1370
1710
|
* Bookings trend data for charts.
|
|
1371
1711
|
*
|
|
@@ -1631,11 +1971,11 @@ export declare const CollaborationsTrendSchema: z.ZodObject<{
|
|
|
1631
1971
|
}, "strip", z.ZodTypeAny, {
|
|
1632
1972
|
date: string;
|
|
1633
1973
|
created: number;
|
|
1634
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
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
1977
|
created: number;
|
|
1638
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
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;
|
|
@@ -1655,7 +1995,7 @@ export declare const CollaborationsTrendSchema: z.ZodObject<{
|
|
|
1655
1995
|
data: {
|
|
1656
1996
|
date: string;
|
|
1657
1997
|
created: number;
|
|
1658
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
1998
|
+
byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
|
|
1659
1999
|
}[];
|
|
1660
2000
|
}, {
|
|
1661
2001
|
summary: {
|
|
@@ -1665,7 +2005,7 @@ export declare const CollaborationsTrendSchema: z.ZodObject<{
|
|
|
1665
2005
|
data: {
|
|
1666
2006
|
date: string;
|
|
1667
2007
|
created: number;
|
|
1668
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
2008
|
+
byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
|
|
1669
2009
|
}[];
|
|
1670
2010
|
}>;
|
|
1671
2011
|
/**
|
|
@@ -1773,21 +2113,21 @@ 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, {
|
|
1786
2126
|
summary: {
|
|
1787
2127
|
total: number;
|
|
1788
|
-
averageDaily: number;
|
|
1789
2128
|
totalPost: number;
|
|
1790
2129
|
totalBooking: number;
|
|
2130
|
+
averageDaily: number;
|
|
1791
2131
|
};
|
|
1792
2132
|
data: {
|
|
1793
2133
|
date: string;
|
|
@@ -1804,9 +2144,9 @@ export declare const ProofsTrendSchema: z.ZodObject<{
|
|
|
1804
2144
|
}, {
|
|
1805
2145
|
summary: {
|
|
1806
2146
|
total: number;
|
|
1807
|
-
averageDaily: number;
|
|
1808
2147
|
totalPost: number;
|
|
1809
2148
|
totalBooking: number;
|
|
2149
|
+
averageDaily: number;
|
|
1810
2150
|
};
|
|
1811
2151
|
data: {
|
|
1812
2152
|
date: string;
|
|
@@ -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<"
|
|
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<"
|
|
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;
|
|
@@ -1864,7 +2204,7 @@ export declare const LeadActivityTrendSchema: z.ZodObject<{
|
|
|
1864
2204
|
data: {
|
|
1865
2205
|
date: string;
|
|
1866
2206
|
total: number;
|
|
1867
|
-
byOutcome: Partial<Record<"
|
|
2207
|
+
byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
|
|
1868
2208
|
}[];
|
|
1869
2209
|
}, {
|
|
1870
2210
|
summary: {
|
|
@@ -1875,7 +2215,7 @@ export declare const LeadActivityTrendSchema: z.ZodObject<{
|
|
|
1875
2215
|
data: {
|
|
1876
2216
|
date: string;
|
|
1877
2217
|
total: number;
|
|
1878
|
-
byOutcome: Partial<Record<"
|
|
2218
|
+
byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
|
|
1879
2219
|
}[];
|
|
1880
2220
|
}>;
|
|
1881
2221
|
export type LeadActivityTrend = z.infer<typeof LeadActivityTrendSchema>;
|
|
@@ -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" | "
|
|
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" | "
|
|
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" | "
|
|
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" | "
|
|
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
|
}>;
|
|
@@ -2460,21 +2800,21 @@ 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, {
|
|
2473
2813
|
summary: {
|
|
2474
2814
|
total: number;
|
|
2475
|
-
averageDaily: number;
|
|
2476
2815
|
totalPost: number;
|
|
2477
2816
|
totalBooking: number;
|
|
2817
|
+
averageDaily: number;
|
|
2478
2818
|
};
|
|
2479
2819
|
data: {
|
|
2480
2820
|
date: string;
|
|
@@ -2491,9 +2831,9 @@ export declare const dashboardWidgetsContract: {
|
|
|
2491
2831
|
}, {
|
|
2492
2832
|
summary: {
|
|
2493
2833
|
total: number;
|
|
2494
|
-
averageDaily: number;
|
|
2495
2834
|
totalPost: number;
|
|
2496
2835
|
totalBooking: number;
|
|
2836
|
+
averageDaily: number;
|
|
2497
2837
|
};
|
|
2498
2838
|
data: {
|
|
2499
2839
|
date: string;
|
|
@@ -2645,21 +2985,21 @@ 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, {
|
|
2658
2998
|
summary: {
|
|
2659
2999
|
total: number;
|
|
2660
|
-
averageDaily: number;
|
|
2661
3000
|
totalPost: number;
|
|
2662
3001
|
totalBooking: number;
|
|
3002
|
+
averageDaily: number;
|
|
2663
3003
|
};
|
|
2664
3004
|
data: {
|
|
2665
3005
|
date: string;
|
|
@@ -2676,9 +3016,9 @@ export declare const dashboardWidgetsContract: {
|
|
|
2676
3016
|
}, {
|
|
2677
3017
|
summary: {
|
|
2678
3018
|
total: number;
|
|
2679
|
-
averageDaily: number;
|
|
2680
3019
|
totalPost: number;
|
|
2681
3020
|
totalBooking: number;
|
|
3021
|
+
averageDaily: number;
|
|
2682
3022
|
};
|
|
2683
3023
|
data: {
|
|
2684
3024
|
date: string;
|
|
@@ -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: "
|
|
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: "
|
|
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>;
|
|
@@ -2973,7 +3313,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
2973
3313
|
page: number;
|
|
2974
3314
|
limit: number;
|
|
2975
3315
|
sort?: {
|
|
2976
|
-
field: "
|
|
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;
|
|
@@ -2987,7 +3327,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
2987
3327
|
}, {
|
|
2988
3328
|
status?: "ACTIVE" | "INACTIVE" | undefined;
|
|
2989
3329
|
sort?: {
|
|
2990
|
-
field: "
|
|
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";
|
|
2991
3331
|
order: "ASC" | "DESC";
|
|
2992
3332
|
}[] | null | undefined;
|
|
2993
3333
|
page?: number | 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
3405
|
conversionRate: number;
|
|
3062
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
3443
|
proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
|
|
3100
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;
|
|
@@ -3110,6 +3458,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
3110
3458
|
agentId: string;
|
|
3111
3459
|
conversionRate: number;
|
|
3112
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
3497
|
proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
|
|
3150
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;
|
|
@@ -3168,6 +3520,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
3168
3520
|
agentId: string;
|
|
3169
3521
|
conversionRate: number;
|
|
3170
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
3559
|
proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
|
|
3208
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;
|
|
@@ -3225,6 +3581,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
3225
3581
|
agentId: string;
|
|
3226
3582
|
conversionRate: number;
|
|
3227
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
3620
|
proofsPostByType: Partial<Record<"WHATSAPP" | "OTHER" | "FACEBOOK" | "TELEGRAM" | "VIBER", number>>;
|
|
3265
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
|
|
4044
|
+
summary: "Get shared office-wide dashboard metrics (Admin)";
|
|
3295
4045
|
method: "GET";
|
|
3296
|
-
path: "/widgets/admin/
|
|
4046
|
+
path: "/widgets/admin/shared-aggregate";
|
|
3297
4047
|
responses: {
|
|
3298
4048
|
200: z.ZodObject<{
|
|
3299
4049
|
actives: z.ZodObject<{
|
|
@@ -3456,101 +4206,10 @@ 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
|
-
conversionRate: number;
|
|
3482
|
-
totalCalls: number;
|
|
3483
|
-
callsToday: number;
|
|
3484
|
-
averageRatingToday: number;
|
|
3485
|
-
efficientCallsToday: 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
|
-
conversionRate: number;
|
|
3497
|
-
totalCalls: number;
|
|
3498
|
-
callsToday: number;
|
|
3499
|
-
averageRatingToday: number;
|
|
3500
|
-
efficientCallsToday: 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
|
-
|
|
3545
|
-
|
|
3546
|
-
|
|
3547
|
-
totalOpenPositions: number;
|
|
3548
|
-
availableJobs: number;
|
|
3549
|
-
transitionCounts: Record<string, number>;
|
|
3550
|
-
fillRate: number;
|
|
3551
|
-
positionsAdjusted: number;
|
|
3552
|
-
positionsNetChange: number;
|
|
3553
|
-
overbookedCount: number;
|
|
4210
|
+
actives: {
|
|
4211
|
+
total: number;
|
|
4212
|
+
byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
3554
4213
|
};
|
|
3555
4214
|
bookings: {
|
|
3556
4215
|
forToday: {
|
|
@@ -3582,39 +4241,11 @@ export declare const dashboardWidgetsContract: {
|
|
|
3582
4241
|
pendingConfirmation: number;
|
|
3583
4242
|
upcomingStarts: number;
|
|
3584
4243
|
};
|
|
4244
|
+
}, {
|
|
3585
4245
|
actives: {
|
|
3586
4246
|
total: number;
|
|
3587
4247
|
byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
3588
4248
|
};
|
|
3589
|
-
callMetrics: {
|
|
3590
|
-
conversionRate: number;
|
|
3591
|
-
totalCalls: number;
|
|
3592
|
-
callsToday: number;
|
|
3593
|
-
averageRatingToday: number;
|
|
3594
|
-
efficientCallsToday: 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
|
-
}, {
|
|
3607
|
-
jobs: {
|
|
3608
|
-
filledPositions: number;
|
|
3609
|
-
createdToday: number;
|
|
3610
|
-
totalOpenPositions: number;
|
|
3611
|
-
availableJobs: number;
|
|
3612
|
-
transitionCounts: Record<string, number>;
|
|
3613
|
-
fillRate: number;
|
|
3614
|
-
positionsAdjusted: number;
|
|
3615
|
-
positionsNetChange: number;
|
|
3616
|
-
overbookedCount: number;
|
|
3617
|
-
};
|
|
3618
4249
|
bookings: {
|
|
3619
4250
|
forToday: {
|
|
3620
4251
|
total: number;
|
|
@@ -3645,27 +4276,6 @@ export declare const dashboardWidgetsContract: {
|
|
|
3645
4276
|
pendingConfirmation: number;
|
|
3646
4277
|
upcomingStarts: number;
|
|
3647
4278
|
};
|
|
3648
|
-
actives: {
|
|
3649
|
-
total: number;
|
|
3650
|
-
byStatus: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
3651
|
-
};
|
|
3652
|
-
callMetrics: {
|
|
3653
|
-
conversionRate: number;
|
|
3654
|
-
totalCalls: number;
|
|
3655
|
-
callsToday: number;
|
|
3656
|
-
averageRatingToday: number;
|
|
3657
|
-
efficientCallsToday: 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
|
};
|
|
@@ -3853,9 +4463,9 @@ export declare const dashboardWidgetsContract: {
|
|
|
3853
4463
|
}>;
|
|
3854
4464
|
agentCount: z.ZodNumber;
|
|
3855
4465
|
}, "strip", z.ZodTypeAny, {
|
|
3856
|
-
|
|
4466
|
+
actives: {
|
|
3857
4467
|
total: number;
|
|
3858
|
-
|
|
4468
|
+
byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
3859
4469
|
};
|
|
3860
4470
|
bookings: {
|
|
3861
4471
|
forToday: {
|
|
@@ -3887,15 +4497,15 @@ export declare const dashboardWidgetsContract: {
|
|
|
3887
4497
|
pendingConfirmation: number;
|
|
3888
4498
|
upcomingStarts: number;
|
|
3889
4499
|
};
|
|
3890
|
-
|
|
4500
|
+
workers: {
|
|
3891
4501
|
total: number;
|
|
3892
|
-
|
|
4502
|
+
addedToday: number;
|
|
3893
4503
|
};
|
|
3894
4504
|
agentCount: number;
|
|
3895
4505
|
}, {
|
|
3896
|
-
|
|
4506
|
+
actives: {
|
|
3897
4507
|
total: number;
|
|
3898
|
-
|
|
4508
|
+
byStatusSa: Partial<Record<"ACTIVE" | "PENDING" | "VACATION" | "LEFT_THE_SITE" | "MEDICAL_LEAVE" | "DAY_OFF" | "INJURY" | "OFF_SCHEDULE", number>>;
|
|
3899
4509
|
};
|
|
3900
4510
|
bookings: {
|
|
3901
4511
|
forToday: {
|
|
@@ -3927,14 +4537,141 @@ export declare const dashboardWidgetsContract: {
|
|
|
3927
4537
|
pendingConfirmation: number;
|
|
3928
4538
|
upcomingStarts: number;
|
|
3929
4539
|
};
|
|
3930
|
-
|
|
4540
|
+
workers: {
|
|
3931
4541
|
total: number;
|
|
3932
|
-
|
|
4542
|
+
addedToday: number;
|
|
3933
4543
|
};
|
|
3934
4544
|
agentCount: number;
|
|
3935
4545
|
}>;
|
|
3936
4546
|
};
|
|
3937
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>>;
|
|
4671
|
+
};
|
|
4672
|
+
}>;
|
|
4673
|
+
};
|
|
4674
|
+
};
|
|
3938
4675
|
getActivesTrend: {
|
|
3939
4676
|
description: "Returns time-series data for actives over a date range";
|
|
3940
4677
|
query: z.ZodObject<{
|
|
@@ -4259,11 +4996,11 @@ export declare const dashboardWidgetsContract: {
|
|
|
4259
4996
|
}, "strip", z.ZodTypeAny, {
|
|
4260
4997
|
date: string;
|
|
4261
4998
|
created: number;
|
|
4262
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
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
5002
|
created: number;
|
|
4266
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
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;
|
|
@@ -4283,7 +5020,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
4283
5020
|
data: {
|
|
4284
5021
|
date: string;
|
|
4285
5022
|
created: number;
|
|
4286
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
5023
|
+
byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
|
|
4287
5024
|
}[];
|
|
4288
5025
|
}, {
|
|
4289
5026
|
summary: {
|
|
@@ -4293,7 +5030,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
4293
5030
|
data: {
|
|
4294
5031
|
date: string;
|
|
4295
5032
|
created: number;
|
|
4296
|
-
byStatus: Partial<Record<"ACTIVE" | "
|
|
5033
|
+
byStatus: Partial<Record<"ACTIVE" | "APPROVED" | "INACTIVE" | "REJECTED" | "PENDING_APPROVAL" | "CHANGED_COMPANY" | "CHANGED_AGENT" | "CHANGED_COMPANY_AND_AGENT", number>>;
|
|
4297
5034
|
}[];
|
|
4298
5035
|
}>;
|
|
4299
5036
|
};
|
|
@@ -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<"
|
|
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<"
|
|
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;
|
|
@@ -4827,7 +5564,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
4827
5564
|
data: {
|
|
4828
5565
|
date: string;
|
|
4829
5566
|
total: number;
|
|
4830
|
-
byOutcome: Partial<Record<"
|
|
5567
|
+
byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
|
|
4831
5568
|
}[];
|
|
4832
5569
|
}, {
|
|
4833
5570
|
summary: {
|
|
@@ -4838,7 +5575,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
4838
5575
|
data: {
|
|
4839
5576
|
date: string;
|
|
4840
5577
|
total: number;
|
|
4841
|
-
byOutcome: Partial<Record<"
|
|
5578
|
+
byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
|
|
4842
5579
|
}[];
|
|
4843
5580
|
}>;
|
|
4844
5581
|
};
|
|
@@ -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<"
|
|
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<"
|
|
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;
|
|
@@ -4898,7 +5635,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
4898
5635
|
data: {
|
|
4899
5636
|
date: string;
|
|
4900
5637
|
total: number;
|
|
4901
|
-
byOutcome: Partial<Record<"
|
|
5638
|
+
byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
|
|
4902
5639
|
}[];
|
|
4903
5640
|
}, {
|
|
4904
5641
|
summary: {
|
|
@@ -4909,7 +5646,7 @@ export declare const dashboardWidgetsContract: {
|
|
|
4909
5646
|
data: {
|
|
4910
5647
|
date: string;
|
|
4911
5648
|
total: number;
|
|
4912
|
-
byOutcome: Partial<Record<"
|
|
5649
|
+
byOutcome: Partial<Record<"NOT_INTERESTED" | "BOOKED" | "TOO_FAR" | "OFFER_SENT" | "CONSENTED" | "DECLINED" | "WRONG_NUMBER" | "SNOOZED" | "BOOKING_CANCELLED", number>>;
|
|
4913
5650
|
}[];
|
|
4914
5651
|
}>;
|
|
4915
5652
|
};
|
|
@@ -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
|