@tmlmobilidade/interfaces 20250909.1538.52 → 20250911.1325.18

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.
@@ -14,42 +14,894 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
14
14
  * @param agencyId - The Agency ID to search for
15
15
  * @returns A promise that resolves to an array of matching ride documents
16
16
  */
17
- findByAgencyId(agencyId: string): Promise<import("mongodb").WithId<Ride>[]>;
17
+ findByAgencyId(agencyId: string): Promise<import("mongodb").WithId<{
18
+ _id: string;
19
+ created_at: number & {
20
+ __brand: "UnixTimestamp";
21
+ };
22
+ created_by: string;
23
+ updated_at: number & {
24
+ __brand: "UnixTimestamp";
25
+ };
26
+ updated_by: string;
27
+ agency_id: string;
28
+ line_id: number;
29
+ analysis: {
30
+ EXPECTED_DRIVER_ID_QTY: {
31
+ value: number | null;
32
+ grade: "error" | "pass" | "fail" | "skip";
33
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
34
+ error_message?: string | undefined;
35
+ };
36
+ EXPECTED_VEHICLE_ID_QTY: {
37
+ value: number | null;
38
+ grade: "error" | "pass" | "fail" | "skip";
39
+ reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
40
+ error_message?: string | undefined;
41
+ };
42
+ EXPECTED_VEHICLE_EVENT_INTERVAL: {
43
+ value: number | null;
44
+ grade: "error" | "pass" | "fail" | "skip";
45
+ reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
46
+ error_message?: string | undefined;
47
+ };
48
+ ENDED_AT_LAST_STOP: {
49
+ grade: "error" | "pass" | "fail" | "skip";
50
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
51
+ error_message?: string | undefined;
52
+ };
53
+ EXPECTED_VEHICLE_EVENT_QTY: {
54
+ grade: "error" | "pass" | "fail" | "skip";
55
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
56
+ expected_qty: number | null;
57
+ found_qty: number | null;
58
+ error_message?: string | undefined;
59
+ };
60
+ MATCHING_APEX_LOCATIONS: {
61
+ grade: "error" | "pass" | "fail" | "skip";
62
+ reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
63
+ error_message?: string | undefined;
64
+ };
65
+ MATCHING_VEHICLE_IDS: {
66
+ grade: "error" | "pass" | "fail" | "skip";
67
+ reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
68
+ error_message?: string | undefined;
69
+ };
70
+ AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
71
+ value: number | null;
72
+ grade: "error" | "pass" | "fail" | "skip";
73
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
74
+ error_message?: string | undefined;
75
+ };
76
+ EXPECTED_APEX_VALIDATION_INTERVAL: {
77
+ grade: "error" | "pass" | "fail" | "skip";
78
+ reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
79
+ error_message?: string | undefined;
80
+ };
81
+ EXPECTED_START_TIME: {
82
+ value: number | null;
83
+ grade: "error" | "pass" | "fail" | "skip";
84
+ reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
85
+ error_message?: string | undefined;
86
+ };
87
+ EXPECTED_VEHICLE_EVENT_DELAY: {
88
+ value: number | null;
89
+ grade: "error" | "pass" | "fail" | "skip";
90
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
91
+ error_message?: string | undefined;
92
+ };
93
+ SIMPLE_ONE_APEX_VALIDATION: {
94
+ value: number | null;
95
+ grade: "error" | "pass" | "fail" | "skip";
96
+ reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
97
+ error_message?: string | undefined;
98
+ };
99
+ SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
100
+ grade: "error" | "pass" | "fail" | "skip";
101
+ reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
102
+ error_message?: string | undefined;
103
+ };
104
+ SIMPLE_THREE_VEHICLE_EVENTS: {
105
+ grade: "error" | "pass" | "fail" | "skip";
106
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
107
+ stop_ids_first: string[] | null;
108
+ stop_ids_last: string[] | null;
109
+ stop_ids_middle: string[] | null;
110
+ error_message?: string | undefined;
111
+ };
112
+ TRANSACTION_SEQUENTIALITY: {
113
+ grade: "error" | "pass" | "fail" | "skip";
114
+ reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
115
+ expected_qty: number | null;
116
+ found_qty: number | null;
117
+ missing_qty: number | null;
118
+ error_message?: string | undefined;
119
+ };
120
+ } | null;
121
+ trip_id: string;
122
+ apex_locations_qty: number | null;
123
+ apex_on_board_refunds_amount: number | null;
124
+ apex_on_board_refunds_qty: number | null;
125
+ apex_on_board_sales_amount: number | null;
126
+ apex_on_board_sales_qty: number | null;
127
+ apex_validations_qty: number | null;
128
+ driver_ids: string[];
129
+ end_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
130
+ end_time_scheduled: number & {
131
+ __brand: "UnixTimestamp";
132
+ };
133
+ extension_observed: number | null;
134
+ extension_scheduled: number;
135
+ hashed_shape_id: string;
136
+ hashed_trip_id: string;
137
+ headsign: string;
138
+ operational_date: string & {
139
+ __brand: "OperationalDate";
140
+ } & z.BRAND<"OperationalDate">;
141
+ passengers_estimated: number | null;
142
+ passengers_observed: number | null;
143
+ passengers_observed_on_board_sales_amount: number | null;
144
+ passengers_observed_on_board_sales_qty: number | null;
145
+ passengers_observed_prepaid_amount: number | null;
146
+ passengers_observed_prepaid_qty: number | null;
147
+ passengers_observed_subscription_qty: number | null;
148
+ pattern_id: string;
149
+ plan_id: string;
150
+ route_id: string;
151
+ seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
152
+ seen_last_at: import("@tmlmobilidade/types").UnixTimestamp | null;
153
+ start_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
154
+ start_time_scheduled: number & {
155
+ __brand: "UnixTimestamp";
156
+ };
157
+ system_status: "waiting" | "processing" | "complete" | "error";
158
+ vehicle_ids: number[];
159
+ }>[]>;
18
160
  /**
19
161
  * Finds ride documents by Line ID.
20
162
  *
21
163
  * @param lineId - The Line ID to search for
22
164
  * @returns A promise that resolves to an array of matching ride documents
23
165
  */
24
- findByLineId(lineId: number): Promise<import("mongodb").WithId<Ride>[]>;
166
+ findByLineId(lineId: number): Promise<import("mongodb").WithId<{
167
+ _id: string;
168
+ created_at: number & {
169
+ __brand: "UnixTimestamp";
170
+ };
171
+ created_by: string;
172
+ updated_at: number & {
173
+ __brand: "UnixTimestamp";
174
+ };
175
+ updated_by: string;
176
+ agency_id: string;
177
+ line_id: number;
178
+ analysis: {
179
+ EXPECTED_DRIVER_ID_QTY: {
180
+ value: number | null;
181
+ grade: "error" | "pass" | "fail" | "skip";
182
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
183
+ error_message?: string | undefined;
184
+ };
185
+ EXPECTED_VEHICLE_ID_QTY: {
186
+ value: number | null;
187
+ grade: "error" | "pass" | "fail" | "skip";
188
+ reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
189
+ error_message?: string | undefined;
190
+ };
191
+ EXPECTED_VEHICLE_EVENT_INTERVAL: {
192
+ value: number | null;
193
+ grade: "error" | "pass" | "fail" | "skip";
194
+ reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
195
+ error_message?: string | undefined;
196
+ };
197
+ ENDED_AT_LAST_STOP: {
198
+ grade: "error" | "pass" | "fail" | "skip";
199
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
200
+ error_message?: string | undefined;
201
+ };
202
+ EXPECTED_VEHICLE_EVENT_QTY: {
203
+ grade: "error" | "pass" | "fail" | "skip";
204
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
205
+ expected_qty: number | null;
206
+ found_qty: number | null;
207
+ error_message?: string | undefined;
208
+ };
209
+ MATCHING_APEX_LOCATIONS: {
210
+ grade: "error" | "pass" | "fail" | "skip";
211
+ reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
212
+ error_message?: string | undefined;
213
+ };
214
+ MATCHING_VEHICLE_IDS: {
215
+ grade: "error" | "pass" | "fail" | "skip";
216
+ reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
217
+ error_message?: string | undefined;
218
+ };
219
+ AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
220
+ value: number | null;
221
+ grade: "error" | "pass" | "fail" | "skip";
222
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
223
+ error_message?: string | undefined;
224
+ };
225
+ EXPECTED_APEX_VALIDATION_INTERVAL: {
226
+ grade: "error" | "pass" | "fail" | "skip";
227
+ reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
228
+ error_message?: string | undefined;
229
+ };
230
+ EXPECTED_START_TIME: {
231
+ value: number | null;
232
+ grade: "error" | "pass" | "fail" | "skip";
233
+ reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
234
+ error_message?: string | undefined;
235
+ };
236
+ EXPECTED_VEHICLE_EVENT_DELAY: {
237
+ value: number | null;
238
+ grade: "error" | "pass" | "fail" | "skip";
239
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
240
+ error_message?: string | undefined;
241
+ };
242
+ SIMPLE_ONE_APEX_VALIDATION: {
243
+ value: number | null;
244
+ grade: "error" | "pass" | "fail" | "skip";
245
+ reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
246
+ error_message?: string | undefined;
247
+ };
248
+ SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
249
+ grade: "error" | "pass" | "fail" | "skip";
250
+ reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
251
+ error_message?: string | undefined;
252
+ };
253
+ SIMPLE_THREE_VEHICLE_EVENTS: {
254
+ grade: "error" | "pass" | "fail" | "skip";
255
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
256
+ stop_ids_first: string[] | null;
257
+ stop_ids_last: string[] | null;
258
+ stop_ids_middle: string[] | null;
259
+ error_message?: string | undefined;
260
+ };
261
+ TRANSACTION_SEQUENTIALITY: {
262
+ grade: "error" | "pass" | "fail" | "skip";
263
+ reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
264
+ expected_qty: number | null;
265
+ found_qty: number | null;
266
+ missing_qty: number | null;
267
+ error_message?: string | undefined;
268
+ };
269
+ } | null;
270
+ trip_id: string;
271
+ apex_locations_qty: number | null;
272
+ apex_on_board_refunds_amount: number | null;
273
+ apex_on_board_refunds_qty: number | null;
274
+ apex_on_board_sales_amount: number | null;
275
+ apex_on_board_sales_qty: number | null;
276
+ apex_validations_qty: number | null;
277
+ driver_ids: string[];
278
+ end_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
279
+ end_time_scheduled: number & {
280
+ __brand: "UnixTimestamp";
281
+ };
282
+ extension_observed: number | null;
283
+ extension_scheduled: number;
284
+ hashed_shape_id: string;
285
+ hashed_trip_id: string;
286
+ headsign: string;
287
+ operational_date: string & {
288
+ __brand: "OperationalDate";
289
+ } & z.BRAND<"OperationalDate">;
290
+ passengers_estimated: number | null;
291
+ passengers_observed: number | null;
292
+ passengers_observed_on_board_sales_amount: number | null;
293
+ passengers_observed_on_board_sales_qty: number | null;
294
+ passengers_observed_prepaid_amount: number | null;
295
+ passengers_observed_prepaid_qty: number | null;
296
+ passengers_observed_subscription_qty: number | null;
297
+ pattern_id: string;
298
+ plan_id: string;
299
+ route_id: string;
300
+ seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
301
+ seen_last_at: import("@tmlmobilidade/types").UnixTimestamp | null;
302
+ start_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
303
+ start_time_scheduled: number & {
304
+ __brand: "UnixTimestamp";
305
+ };
306
+ system_status: "waiting" | "processing" | "complete" | "error";
307
+ vehicle_ids: number[];
308
+ }>[]>;
25
309
  /**
26
310
  * Finds ride documents by Pattern ID.
27
311
  *
28
312
  * @param patternId - The Pattern ID to search for
29
313
  * @returns A promise that resolves to an array of matching ride documents
30
314
  */
31
- findByPatternId(patternId: string): Promise<import("mongodb").WithId<Ride>[]>;
315
+ findByPatternId(patternId: string): Promise<import("mongodb").WithId<{
316
+ _id: string;
317
+ created_at: number & {
318
+ __brand: "UnixTimestamp";
319
+ };
320
+ created_by: string;
321
+ updated_at: number & {
322
+ __brand: "UnixTimestamp";
323
+ };
324
+ updated_by: string;
325
+ agency_id: string;
326
+ line_id: number;
327
+ analysis: {
328
+ EXPECTED_DRIVER_ID_QTY: {
329
+ value: number | null;
330
+ grade: "error" | "pass" | "fail" | "skip";
331
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
332
+ error_message?: string | undefined;
333
+ };
334
+ EXPECTED_VEHICLE_ID_QTY: {
335
+ value: number | null;
336
+ grade: "error" | "pass" | "fail" | "skip";
337
+ reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
338
+ error_message?: string | undefined;
339
+ };
340
+ EXPECTED_VEHICLE_EVENT_INTERVAL: {
341
+ value: number | null;
342
+ grade: "error" | "pass" | "fail" | "skip";
343
+ reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
344
+ error_message?: string | undefined;
345
+ };
346
+ ENDED_AT_LAST_STOP: {
347
+ grade: "error" | "pass" | "fail" | "skip";
348
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
349
+ error_message?: string | undefined;
350
+ };
351
+ EXPECTED_VEHICLE_EVENT_QTY: {
352
+ grade: "error" | "pass" | "fail" | "skip";
353
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
354
+ expected_qty: number | null;
355
+ found_qty: number | null;
356
+ error_message?: string | undefined;
357
+ };
358
+ MATCHING_APEX_LOCATIONS: {
359
+ grade: "error" | "pass" | "fail" | "skip";
360
+ reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
361
+ error_message?: string | undefined;
362
+ };
363
+ MATCHING_VEHICLE_IDS: {
364
+ grade: "error" | "pass" | "fail" | "skip";
365
+ reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
366
+ error_message?: string | undefined;
367
+ };
368
+ AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
369
+ value: number | null;
370
+ grade: "error" | "pass" | "fail" | "skip";
371
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
372
+ error_message?: string | undefined;
373
+ };
374
+ EXPECTED_APEX_VALIDATION_INTERVAL: {
375
+ grade: "error" | "pass" | "fail" | "skip";
376
+ reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
377
+ error_message?: string | undefined;
378
+ };
379
+ EXPECTED_START_TIME: {
380
+ value: number | null;
381
+ grade: "error" | "pass" | "fail" | "skip";
382
+ reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
383
+ error_message?: string | undefined;
384
+ };
385
+ EXPECTED_VEHICLE_EVENT_DELAY: {
386
+ value: number | null;
387
+ grade: "error" | "pass" | "fail" | "skip";
388
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
389
+ error_message?: string | undefined;
390
+ };
391
+ SIMPLE_ONE_APEX_VALIDATION: {
392
+ value: number | null;
393
+ grade: "error" | "pass" | "fail" | "skip";
394
+ reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
395
+ error_message?: string | undefined;
396
+ };
397
+ SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
398
+ grade: "error" | "pass" | "fail" | "skip";
399
+ reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
400
+ error_message?: string | undefined;
401
+ };
402
+ SIMPLE_THREE_VEHICLE_EVENTS: {
403
+ grade: "error" | "pass" | "fail" | "skip";
404
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
405
+ stop_ids_first: string[] | null;
406
+ stop_ids_last: string[] | null;
407
+ stop_ids_middle: string[] | null;
408
+ error_message?: string | undefined;
409
+ };
410
+ TRANSACTION_SEQUENTIALITY: {
411
+ grade: "error" | "pass" | "fail" | "skip";
412
+ reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
413
+ expected_qty: number | null;
414
+ found_qty: number | null;
415
+ missing_qty: number | null;
416
+ error_message?: string | undefined;
417
+ };
418
+ } | null;
419
+ trip_id: string;
420
+ apex_locations_qty: number | null;
421
+ apex_on_board_refunds_amount: number | null;
422
+ apex_on_board_refunds_qty: number | null;
423
+ apex_on_board_sales_amount: number | null;
424
+ apex_on_board_sales_qty: number | null;
425
+ apex_validations_qty: number | null;
426
+ driver_ids: string[];
427
+ end_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
428
+ end_time_scheduled: number & {
429
+ __brand: "UnixTimestamp";
430
+ };
431
+ extension_observed: number | null;
432
+ extension_scheduled: number;
433
+ hashed_shape_id: string;
434
+ hashed_trip_id: string;
435
+ headsign: string;
436
+ operational_date: string & {
437
+ __brand: "OperationalDate";
438
+ } & z.BRAND<"OperationalDate">;
439
+ passengers_estimated: number | null;
440
+ passengers_observed: number | null;
441
+ passengers_observed_on_board_sales_amount: number | null;
442
+ passengers_observed_on_board_sales_qty: number | null;
443
+ passengers_observed_prepaid_amount: number | null;
444
+ passengers_observed_prepaid_qty: number | null;
445
+ passengers_observed_subscription_qty: number | null;
446
+ pattern_id: string;
447
+ plan_id: string;
448
+ route_id: string;
449
+ seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
450
+ seen_last_at: import("@tmlmobilidade/types").UnixTimestamp | null;
451
+ start_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
452
+ start_time_scheduled: number & {
453
+ __brand: "UnixTimestamp";
454
+ };
455
+ system_status: "waiting" | "processing" | "complete" | "error";
456
+ vehicle_ids: number[];
457
+ }>[]>;
32
458
  /**
33
459
  * Finds ride documents by Plan ID.
34
460
  *
35
461
  * @param planId - The Plan ID to search for
36
462
  * @returns A promise that resolves to an array of matching ride documents
37
463
  */
38
- findByPlanId(planId: string): Promise<import("mongodb").WithId<Ride>[]>;
464
+ findByPlanId(planId: string): Promise<import("mongodb").WithId<{
465
+ _id: string;
466
+ created_at: number & {
467
+ __brand: "UnixTimestamp";
468
+ };
469
+ created_by: string;
470
+ updated_at: number & {
471
+ __brand: "UnixTimestamp";
472
+ };
473
+ updated_by: string;
474
+ agency_id: string;
475
+ line_id: number;
476
+ analysis: {
477
+ EXPECTED_DRIVER_ID_QTY: {
478
+ value: number | null;
479
+ grade: "error" | "pass" | "fail" | "skip";
480
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
481
+ error_message?: string | undefined;
482
+ };
483
+ EXPECTED_VEHICLE_ID_QTY: {
484
+ value: number | null;
485
+ grade: "error" | "pass" | "fail" | "skip";
486
+ reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
487
+ error_message?: string | undefined;
488
+ };
489
+ EXPECTED_VEHICLE_EVENT_INTERVAL: {
490
+ value: number | null;
491
+ grade: "error" | "pass" | "fail" | "skip";
492
+ reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
493
+ error_message?: string | undefined;
494
+ };
495
+ ENDED_AT_LAST_STOP: {
496
+ grade: "error" | "pass" | "fail" | "skip";
497
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
498
+ error_message?: string | undefined;
499
+ };
500
+ EXPECTED_VEHICLE_EVENT_QTY: {
501
+ grade: "error" | "pass" | "fail" | "skip";
502
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
503
+ expected_qty: number | null;
504
+ found_qty: number | null;
505
+ error_message?: string | undefined;
506
+ };
507
+ MATCHING_APEX_LOCATIONS: {
508
+ grade: "error" | "pass" | "fail" | "skip";
509
+ reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
510
+ error_message?: string | undefined;
511
+ };
512
+ MATCHING_VEHICLE_IDS: {
513
+ grade: "error" | "pass" | "fail" | "skip";
514
+ reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
515
+ error_message?: string | undefined;
516
+ };
517
+ AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
518
+ value: number | null;
519
+ grade: "error" | "pass" | "fail" | "skip";
520
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
521
+ error_message?: string | undefined;
522
+ };
523
+ EXPECTED_APEX_VALIDATION_INTERVAL: {
524
+ grade: "error" | "pass" | "fail" | "skip";
525
+ reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
526
+ error_message?: string | undefined;
527
+ };
528
+ EXPECTED_START_TIME: {
529
+ value: number | null;
530
+ grade: "error" | "pass" | "fail" | "skip";
531
+ reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
532
+ error_message?: string | undefined;
533
+ };
534
+ EXPECTED_VEHICLE_EVENT_DELAY: {
535
+ value: number | null;
536
+ grade: "error" | "pass" | "fail" | "skip";
537
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
538
+ error_message?: string | undefined;
539
+ };
540
+ SIMPLE_ONE_APEX_VALIDATION: {
541
+ value: number | null;
542
+ grade: "error" | "pass" | "fail" | "skip";
543
+ reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
544
+ error_message?: string | undefined;
545
+ };
546
+ SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
547
+ grade: "error" | "pass" | "fail" | "skip";
548
+ reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
549
+ error_message?: string | undefined;
550
+ };
551
+ SIMPLE_THREE_VEHICLE_EVENTS: {
552
+ grade: "error" | "pass" | "fail" | "skip";
553
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
554
+ stop_ids_first: string[] | null;
555
+ stop_ids_last: string[] | null;
556
+ stop_ids_middle: string[] | null;
557
+ error_message?: string | undefined;
558
+ };
559
+ TRANSACTION_SEQUENTIALITY: {
560
+ grade: "error" | "pass" | "fail" | "skip";
561
+ reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
562
+ expected_qty: number | null;
563
+ found_qty: number | null;
564
+ missing_qty: number | null;
565
+ error_message?: string | undefined;
566
+ };
567
+ } | null;
568
+ trip_id: string;
569
+ apex_locations_qty: number | null;
570
+ apex_on_board_refunds_amount: number | null;
571
+ apex_on_board_refunds_qty: number | null;
572
+ apex_on_board_sales_amount: number | null;
573
+ apex_on_board_sales_qty: number | null;
574
+ apex_validations_qty: number | null;
575
+ driver_ids: string[];
576
+ end_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
577
+ end_time_scheduled: number & {
578
+ __brand: "UnixTimestamp";
579
+ };
580
+ extension_observed: number | null;
581
+ extension_scheduled: number;
582
+ hashed_shape_id: string;
583
+ hashed_trip_id: string;
584
+ headsign: string;
585
+ operational_date: string & {
586
+ __brand: "OperationalDate";
587
+ } & z.BRAND<"OperationalDate">;
588
+ passengers_estimated: number | null;
589
+ passengers_observed: number | null;
590
+ passengers_observed_on_board_sales_amount: number | null;
591
+ passengers_observed_on_board_sales_qty: number | null;
592
+ passengers_observed_prepaid_amount: number | null;
593
+ passengers_observed_prepaid_qty: number | null;
594
+ passengers_observed_subscription_qty: number | null;
595
+ pattern_id: string;
596
+ plan_id: string;
597
+ route_id: string;
598
+ seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
599
+ seen_last_at: import("@tmlmobilidade/types").UnixTimestamp | null;
600
+ start_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
601
+ start_time_scheduled: number & {
602
+ __brand: "UnixTimestamp";
603
+ };
604
+ system_status: "waiting" | "processing" | "complete" | "error";
605
+ vehicle_ids: number[];
606
+ }>[]>;
39
607
  /**
40
608
  * Finds ride documents by Route ID.
41
609
  *
42
610
  * @param routeId - The Route ID to search for
43
611
  * @returns A promise that resolves to an array of matching ride documents
44
612
  */
45
- findByRouteId(routeId: string): Promise<import("mongodb").WithId<Ride>[]>;
613
+ findByRouteId(routeId: string): Promise<import("mongodb").WithId<{
614
+ _id: string;
615
+ created_at: number & {
616
+ __brand: "UnixTimestamp";
617
+ };
618
+ created_by: string;
619
+ updated_at: number & {
620
+ __brand: "UnixTimestamp";
621
+ };
622
+ updated_by: string;
623
+ agency_id: string;
624
+ line_id: number;
625
+ analysis: {
626
+ EXPECTED_DRIVER_ID_QTY: {
627
+ value: number | null;
628
+ grade: "error" | "pass" | "fail" | "skip";
629
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
630
+ error_message?: string | undefined;
631
+ };
632
+ EXPECTED_VEHICLE_ID_QTY: {
633
+ value: number | null;
634
+ grade: "error" | "pass" | "fail" | "skip";
635
+ reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
636
+ error_message?: string | undefined;
637
+ };
638
+ EXPECTED_VEHICLE_EVENT_INTERVAL: {
639
+ value: number | null;
640
+ grade: "error" | "pass" | "fail" | "skip";
641
+ reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
642
+ error_message?: string | undefined;
643
+ };
644
+ ENDED_AT_LAST_STOP: {
645
+ grade: "error" | "pass" | "fail" | "skip";
646
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
647
+ error_message?: string | undefined;
648
+ };
649
+ EXPECTED_VEHICLE_EVENT_QTY: {
650
+ grade: "error" | "pass" | "fail" | "skip";
651
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
652
+ expected_qty: number | null;
653
+ found_qty: number | null;
654
+ error_message?: string | undefined;
655
+ };
656
+ MATCHING_APEX_LOCATIONS: {
657
+ grade: "error" | "pass" | "fail" | "skip";
658
+ reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
659
+ error_message?: string | undefined;
660
+ };
661
+ MATCHING_VEHICLE_IDS: {
662
+ grade: "error" | "pass" | "fail" | "skip";
663
+ reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
664
+ error_message?: string | undefined;
665
+ };
666
+ AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
667
+ value: number | null;
668
+ grade: "error" | "pass" | "fail" | "skip";
669
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
670
+ error_message?: string | undefined;
671
+ };
672
+ EXPECTED_APEX_VALIDATION_INTERVAL: {
673
+ grade: "error" | "pass" | "fail" | "skip";
674
+ reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
675
+ error_message?: string | undefined;
676
+ };
677
+ EXPECTED_START_TIME: {
678
+ value: number | null;
679
+ grade: "error" | "pass" | "fail" | "skip";
680
+ reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
681
+ error_message?: string | undefined;
682
+ };
683
+ EXPECTED_VEHICLE_EVENT_DELAY: {
684
+ value: number | null;
685
+ grade: "error" | "pass" | "fail" | "skip";
686
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
687
+ error_message?: string | undefined;
688
+ };
689
+ SIMPLE_ONE_APEX_VALIDATION: {
690
+ value: number | null;
691
+ grade: "error" | "pass" | "fail" | "skip";
692
+ reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
693
+ error_message?: string | undefined;
694
+ };
695
+ SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
696
+ grade: "error" | "pass" | "fail" | "skip";
697
+ reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
698
+ error_message?: string | undefined;
699
+ };
700
+ SIMPLE_THREE_VEHICLE_EVENTS: {
701
+ grade: "error" | "pass" | "fail" | "skip";
702
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
703
+ stop_ids_first: string[] | null;
704
+ stop_ids_last: string[] | null;
705
+ stop_ids_middle: string[] | null;
706
+ error_message?: string | undefined;
707
+ };
708
+ TRANSACTION_SEQUENTIALITY: {
709
+ grade: "error" | "pass" | "fail" | "skip";
710
+ reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
711
+ expected_qty: number | null;
712
+ found_qty: number | null;
713
+ missing_qty: number | null;
714
+ error_message?: string | undefined;
715
+ };
716
+ } | null;
717
+ trip_id: string;
718
+ apex_locations_qty: number | null;
719
+ apex_on_board_refunds_amount: number | null;
720
+ apex_on_board_refunds_qty: number | null;
721
+ apex_on_board_sales_amount: number | null;
722
+ apex_on_board_sales_qty: number | null;
723
+ apex_validations_qty: number | null;
724
+ driver_ids: string[];
725
+ end_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
726
+ end_time_scheduled: number & {
727
+ __brand: "UnixTimestamp";
728
+ };
729
+ extension_observed: number | null;
730
+ extension_scheduled: number;
731
+ hashed_shape_id: string;
732
+ hashed_trip_id: string;
733
+ headsign: string;
734
+ operational_date: string & {
735
+ __brand: "OperationalDate";
736
+ } & z.BRAND<"OperationalDate">;
737
+ passengers_estimated: number | null;
738
+ passengers_observed: number | null;
739
+ passengers_observed_on_board_sales_amount: number | null;
740
+ passengers_observed_on_board_sales_qty: number | null;
741
+ passengers_observed_prepaid_amount: number | null;
742
+ passengers_observed_prepaid_qty: number | null;
743
+ passengers_observed_subscription_qty: number | null;
744
+ pattern_id: string;
745
+ plan_id: string;
746
+ route_id: string;
747
+ seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
748
+ seen_last_at: import("@tmlmobilidade/types").UnixTimestamp | null;
749
+ start_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
750
+ start_time_scheduled: number & {
751
+ __brand: "UnixTimestamp";
752
+ };
753
+ system_status: "waiting" | "processing" | "complete" | "error";
754
+ vehicle_ids: number[];
755
+ }>[]>;
46
756
  /**
47
757
  * Finds ride documents by Trip ID.
48
758
  *
49
759
  * @param tripId - The Trip ID to search for
50
760
  * @returns A promise that resolves to an array of matching ride documents
51
761
  */
52
- findByTripId(tripId: string): Promise<import("mongodb").WithId<Ride>[]>;
762
+ findByTripId(tripId: string): Promise<import("mongodb").WithId<{
763
+ _id: string;
764
+ created_at: number & {
765
+ __brand: "UnixTimestamp";
766
+ };
767
+ created_by: string;
768
+ updated_at: number & {
769
+ __brand: "UnixTimestamp";
770
+ };
771
+ updated_by: string;
772
+ agency_id: string;
773
+ line_id: number;
774
+ analysis: {
775
+ EXPECTED_DRIVER_ID_QTY: {
776
+ value: number | null;
777
+ grade: "error" | "pass" | "fail" | "skip";
778
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
779
+ error_message?: string | undefined;
780
+ };
781
+ EXPECTED_VEHICLE_ID_QTY: {
782
+ value: number | null;
783
+ grade: "error" | "pass" | "fail" | "skip";
784
+ reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
785
+ error_message?: string | undefined;
786
+ };
787
+ EXPECTED_VEHICLE_EVENT_INTERVAL: {
788
+ value: number | null;
789
+ grade: "error" | "pass" | "fail" | "skip";
790
+ reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
791
+ error_message?: string | undefined;
792
+ };
793
+ ENDED_AT_LAST_STOP: {
794
+ grade: "error" | "pass" | "fail" | "skip";
795
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
796
+ error_message?: string | undefined;
797
+ };
798
+ EXPECTED_VEHICLE_EVENT_QTY: {
799
+ grade: "error" | "pass" | "fail" | "skip";
800
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
801
+ expected_qty: number | null;
802
+ found_qty: number | null;
803
+ error_message?: string | undefined;
804
+ };
805
+ MATCHING_APEX_LOCATIONS: {
806
+ grade: "error" | "pass" | "fail" | "skip";
807
+ reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
808
+ error_message?: string | undefined;
809
+ };
810
+ MATCHING_VEHICLE_IDS: {
811
+ grade: "error" | "pass" | "fail" | "skip";
812
+ reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
813
+ error_message?: string | undefined;
814
+ };
815
+ AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
816
+ value: number | null;
817
+ grade: "error" | "pass" | "fail" | "skip";
818
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
819
+ error_message?: string | undefined;
820
+ };
821
+ EXPECTED_APEX_VALIDATION_INTERVAL: {
822
+ grade: "error" | "pass" | "fail" | "skip";
823
+ reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
824
+ error_message?: string | undefined;
825
+ };
826
+ EXPECTED_START_TIME: {
827
+ value: number | null;
828
+ grade: "error" | "pass" | "fail" | "skip";
829
+ reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
830
+ error_message?: string | undefined;
831
+ };
832
+ EXPECTED_VEHICLE_EVENT_DELAY: {
833
+ value: number | null;
834
+ grade: "error" | "pass" | "fail" | "skip";
835
+ reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
836
+ error_message?: string | undefined;
837
+ };
838
+ SIMPLE_ONE_APEX_VALIDATION: {
839
+ value: number | null;
840
+ grade: "error" | "pass" | "fail" | "skip";
841
+ reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
842
+ error_message?: string | undefined;
843
+ };
844
+ SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
845
+ grade: "error" | "pass" | "fail" | "skip";
846
+ reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
847
+ error_message?: string | undefined;
848
+ };
849
+ SIMPLE_THREE_VEHICLE_EVENTS: {
850
+ grade: "error" | "pass" | "fail" | "skip";
851
+ reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
852
+ stop_ids_first: string[] | null;
853
+ stop_ids_last: string[] | null;
854
+ stop_ids_middle: string[] | null;
855
+ error_message?: string | undefined;
856
+ };
857
+ TRANSACTION_SEQUENTIALITY: {
858
+ grade: "error" | "pass" | "fail" | "skip";
859
+ reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
860
+ expected_qty: number | null;
861
+ found_qty: number | null;
862
+ missing_qty: number | null;
863
+ error_message?: string | undefined;
864
+ };
865
+ } | null;
866
+ trip_id: string;
867
+ apex_locations_qty: number | null;
868
+ apex_on_board_refunds_amount: number | null;
869
+ apex_on_board_refunds_qty: number | null;
870
+ apex_on_board_sales_amount: number | null;
871
+ apex_on_board_sales_qty: number | null;
872
+ apex_validations_qty: number | null;
873
+ driver_ids: string[];
874
+ end_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
875
+ end_time_scheduled: number & {
876
+ __brand: "UnixTimestamp";
877
+ };
878
+ extension_observed: number | null;
879
+ extension_scheduled: number;
880
+ hashed_shape_id: string;
881
+ hashed_trip_id: string;
882
+ headsign: string;
883
+ operational_date: string & {
884
+ __brand: "OperationalDate";
885
+ } & z.BRAND<"OperationalDate">;
886
+ passengers_estimated: number | null;
887
+ passengers_observed: number | null;
888
+ passengers_observed_on_board_sales_amount: number | null;
889
+ passengers_observed_on_board_sales_qty: number | null;
890
+ passengers_observed_prepaid_amount: number | null;
891
+ passengers_observed_prepaid_qty: number | null;
892
+ passengers_observed_subscription_qty: number | null;
893
+ pattern_id: string;
894
+ plan_id: string;
895
+ route_id: string;
896
+ seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
897
+ seen_last_at: import("@tmlmobilidade/types").UnixTimestamp | null;
898
+ start_time_observed: import("@tmlmobilidade/types").UnixTimestamp | null;
899
+ start_time_scheduled: number & {
900
+ __brand: "UnixTimestamp";
901
+ };
902
+ system_status: "waiting" | "processing" | "complete" | "error";
903
+ vehicle_ids: number[];
904
+ }>[]>;
53
905
  protected getCollectionIndexes(): IndexDescription[];
54
906
  protected getCollectionName(): string;
55
907
  protected getEnvName(): string;