@tmlmobilidade/interfaces 20251021.1725.54 → 20251022.1644.0-staging.0

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/index.d.ts CHANGED
@@ -4,4 +4,4 @@ export * from './src/interfaces/index.js';
4
4
  export * from './src/mongo-collection.js';
5
5
  export * from './src/mongo-transaction.js';
6
6
  export * from './src/providers/index.js';
7
- export type { ChangeStreamDeleteDocument, ChangeStreamDocument, ChangeStreamInsertDocument, ChangeStreamUpdateDocument, Collection, DeleteOptions, Document, Filter, FindOptions, IndexDescription, InsertOneOptions, InsertOneResult, MongoClientOptions, OptionalUnlessRequiredId, Sort, UpdateDescription, UpdateOptions, UpdateResult, WithId, } from 'mongodb';
7
+ export type { AggregationCursor, ChangeStreamDeleteDocument, ChangeStreamDocument, ChangeStreamInsertDocument, ChangeStreamUpdateDocument, Collection, DeleteOptions, Document, Filter, FindOptions, IndexDescription, InsertOneOptions, InsertOneResult, MongoClientOptions, OptionalUnlessRequiredId, Sort, UpdateDescription, UpdateOptions, UpdateResult, WithId, } from 'mongodb';
@@ -0,0 +1,16 @@
1
+ import { MongoCollectionClass } from '../../mongo-collection.js';
2
+ import { CreateFileExportDto, FileExport } from '@tmlmobilidade/types';
3
+ import { IndexDescription } from 'mongodb';
4
+ import { z } from 'zod';
5
+ declare class FileExportsClass extends MongoCollectionClass<FileExport, CreateFileExportDto<any>, Partial<FileExport>> {
6
+ private static _instance;
7
+ protected createSchema: z.ZodSchema;
8
+ protected updateSchema: z.ZodSchema;
9
+ private constructor();
10
+ static getInstance(): Promise<FileExportsClass>;
11
+ protected getCollectionIndexes(): IndexDescription[];
12
+ protected getCollectionName(): string;
13
+ protected getEnvName(): string;
14
+ }
15
+ export declare const fileExports: FileExportsClass;
16
+ export {};
@@ -0,0 +1,43 @@
1
+ /* eslint-disable @typescript-eslint/no-explicit-any */
2
+ /* * */
3
+ import { MongoCollectionClass } from '../../mongo-collection.js';
4
+ import { FileExportSchema, UpdateFileExportSchema } from '@tmlmobilidade/types';
5
+ import { AsyncSingletonProxy } from '@tmlmobilidade/utils';
6
+ /* * */
7
+ class FileExportsClass extends MongoCollectionClass {
8
+ //
9
+ //
10
+ //
11
+ static _instance;
12
+ createSchema = FileExportSchema;
13
+ updateSchema = UpdateFileExportSchema;
14
+ constructor() {
15
+ super();
16
+ }
17
+ static async getInstance() {
18
+ if (!FileExportsClass._instance) {
19
+ const instance = new FileExportsClass();
20
+ await instance.connect();
21
+ FileExportsClass._instance = instance;
22
+ }
23
+ return FileExportsClass._instance;
24
+ }
25
+ getCollectionIndexes() {
26
+ return [
27
+ { background: true, key: { file_name: 1 } },
28
+ { background: true, key: { processing_status: 1 } },
29
+ { background: true, key: { scope: 1 } },
30
+ { background: true, key: { type: 1 } },
31
+ { background: true, expireAfterSeconds: 60_000 * 4 * 60, key: { created_at: 1 } }, // 4 hours
32
+ { background: true, key: { updated_at: 1 } },
33
+ ];
34
+ }
35
+ getCollectionName() {
36
+ return 'file_exports';
37
+ }
38
+ getEnvName() {
39
+ return 'DATABASE_URI';
40
+ }
41
+ }
42
+ /* * */
43
+ export const fileExports = AsyncSingletonProxy(FileExportsClass);
@@ -0,0 +1 @@
1
+ export * from './file-exports.js';
@@ -0,0 +1 @@
1
+ export * from './file-exports.js';
@@ -23,7 +23,7 @@ declare class GtfValidationsClass extends MongoCollectionClass<GtfsValidation, C
23
23
  __brand: "UnixTimestamp";
24
24
  };
25
25
  file_id: string;
26
- feeder_status: "waiting" | "processing" | "complete" | "error";
26
+ feeder_status: "error" | "waiting" | "processing" | "complete";
27
27
  gtfs_agency: {
28
28
  agency_id: string;
29
29
  agency_name: string;
@@ -1,6 +1,7 @@
1
1
  export * from './agencies/index.js';
2
2
  export * from './alerts/index.js';
3
3
  export * from './auth/index.js';
4
+ export * from './file-exports/index.js';
4
5
  export * from './files/index.js';
5
6
  export * from './gtfs-validations/index.js';
6
7
  export * from './locations/index.js';
@@ -1,6 +1,7 @@
1
1
  export * from './agencies/index.js';
2
2
  export * from './alerts/index.js';
3
3
  export * from './auth/index.js';
4
+ export * from './file-exports/index.js';
4
5
  export * from './files/index.js';
5
6
  export * from './gtfs-validations/index.js';
6
7
  export * from './locations/index.js';
@@ -22,6 +22,7 @@ declare class PlansClass extends MongoCollectionClass<Plan, CreatePlanDto, Updat
22
22
  updated_at: number & {
23
23
  __brand: "UnixTimestamp";
24
24
  };
25
+ is_locked: boolean;
25
26
  gtfs_agency: {
26
27
  agency_id: string;
27
28
  agency_name: string;
@@ -44,17 +45,16 @@ declare class PlansClass extends MongoCollectionClass<Plan, CreatePlanDto, Updat
44
45
  feed_version?: string | null | undefined;
45
46
  };
46
47
  controller: {
47
- status: "waiting" | "processing" | "complete" | "error";
48
+ status: "error" | "waiting" | "processing" | "complete";
48
49
  last_hash: string | null;
49
50
  timestamp: import("@tmlmobilidade/types").UnixTimestamp | null;
50
51
  };
51
52
  hash: string;
52
- is_locked: boolean;
53
53
  operation_file_id: string;
54
54
  pcgi_legacy: {
55
55
  operation_plan_id: string | null;
56
56
  };
57
- status_merger: "waiting" | "processing" | "complete" | "error";
57
+ status_merger: "error" | "waiting" | "processing" | "complete";
58
58
  created_by?: string | undefined;
59
59
  updated_by?: string | undefined;
60
60
  }>[]>;
@@ -23,85 +23,83 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
23
23
  __brand: "UnixTimestamp";
24
24
  };
25
25
  agency_id: string;
26
- line_id: number;
27
- pattern_id: string;
28
26
  analysis: {
29
27
  EXPECTED_DRIVER_ID_QTY: {
30
28
  value: number | null;
31
- grade: "error" | "pass" | "fail" | "skip";
29
+ grade: "pass" | "fail" | "skip" | "error";
32
30
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
33
31
  error_message?: string | undefined;
34
32
  };
35
33
  EXPECTED_VEHICLE_ID_QTY: {
36
34
  value: number | null;
37
- grade: "error" | "pass" | "fail" | "skip";
35
+ grade: "pass" | "fail" | "skip" | "error";
38
36
  reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
39
37
  error_message?: string | undefined;
40
38
  };
41
39
  EXPECTED_VEHICLE_EVENT_INTERVAL: {
42
40
  value: number | null;
43
- grade: "error" | "pass" | "fail" | "skip";
41
+ grade: "pass" | "fail" | "skip" | "error";
44
42
  reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
45
43
  error_message?: string | undefined;
46
44
  };
47
45
  ENDED_AT_LAST_STOP: {
48
- grade: "error" | "pass" | "fail" | "skip";
46
+ grade: "pass" | "fail" | "skip" | "error";
49
47
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
50
48
  error_message?: string | undefined;
51
49
  };
52
50
  EXPECTED_VEHICLE_EVENT_QTY: {
53
- grade: "error" | "pass" | "fail" | "skip";
51
+ grade: "pass" | "fail" | "skip" | "error";
54
52
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
55
53
  expected_qty: number | null;
56
54
  found_qty: number | null;
57
55
  error_message?: string | undefined;
58
56
  };
59
57
  MATCHING_APEX_LOCATIONS: {
60
- grade: "error" | "pass" | "fail" | "skip";
58
+ grade: "pass" | "fail" | "skip" | "error";
61
59
  reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
62
60
  error_message?: string | undefined;
63
61
  };
64
62
  MATCHING_VEHICLE_IDS: {
65
- grade: "error" | "pass" | "fail" | "skip";
63
+ grade: "pass" | "fail" | "skip" | "error";
66
64
  reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
67
65
  error_message?: string | undefined;
68
66
  };
69
67
  AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
70
68
  value: number | null;
71
- grade: "error" | "pass" | "fail" | "skip";
69
+ grade: "pass" | "fail" | "skip" | "error";
72
70
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
73
71
  error_message?: string | undefined;
74
72
  };
75
73
  EXPECTED_APEX_VALIDATION_INTERVAL: {
76
- grade: "error" | "pass" | "fail" | "skip";
74
+ grade: "pass" | "fail" | "skip" | "error";
77
75
  reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
78
76
  error_message?: string | undefined;
79
77
  };
80
78
  EXPECTED_START_TIME: {
81
79
  value: number | null;
82
- grade: "error" | "pass" | "fail" | "skip";
80
+ grade: "pass" | "fail" | "skip" | "error";
83
81
  reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
84
82
  error_message?: string | undefined;
85
83
  };
86
84
  EXPECTED_VEHICLE_EVENT_DELAY: {
87
85
  value: number | null;
88
- grade: "error" | "pass" | "fail" | "skip";
86
+ grade: "pass" | "fail" | "skip" | "error";
89
87
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
90
88
  error_message?: string | undefined;
91
89
  };
92
90
  SIMPLE_ONE_APEX_VALIDATION: {
93
91
  value: number | null;
94
- grade: "error" | "pass" | "fail" | "skip";
92
+ grade: "pass" | "fail" | "skip" | "error";
95
93
  reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
96
94
  error_message?: string | undefined;
97
95
  };
98
96
  SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
99
- grade: "error" | "pass" | "fail" | "skip";
97
+ grade: "pass" | "fail" | "skip" | "error";
100
98
  reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
101
99
  error_message?: string | undefined;
102
100
  };
103
101
  SIMPLE_THREE_VEHICLE_EVENTS: {
104
- grade: "error" | "pass" | "fail" | "skip";
102
+ grade: "pass" | "fail" | "skip" | "error";
105
103
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
106
104
  stop_ids_first: string[] | null;
107
105
  stop_ids_last: string[] | null;
@@ -109,7 +107,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
109
107
  error_message?: string | undefined;
110
108
  };
111
109
  TRANSACTION_SEQUENTIALITY: {
112
- grade: "error" | "pass" | "fail" | "skip";
110
+ grade: "pass" | "fail" | "skip" | "error";
113
111
  reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
114
112
  expected_qty: number | null;
115
113
  found_qty: number | null;
@@ -133,6 +131,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
133
131
  hashed_shape_id: string;
134
132
  hashed_trip_id: string;
135
133
  headsign: string;
134
+ line_id: number;
136
135
  operational_date: string & {
137
136
  __brand: "OperationalDate";
138
137
  };
@@ -143,6 +142,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
143
142
  passengers_observed_prepaid_amount: number | null;
144
143
  passengers_observed_prepaid_qty: number | null;
145
144
  passengers_observed_subscription_qty: number | null;
145
+ pattern_id: string;
146
146
  plan_id: string;
147
147
  route_id: string;
148
148
  seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
@@ -151,7 +151,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
151
151
  start_time_scheduled: number & {
152
152
  __brand: "UnixTimestamp";
153
153
  };
154
- system_status: "waiting" | "processing" | "complete" | "error";
154
+ system_status: "error" | "waiting" | "processing" | "complete";
155
155
  trip_id: string;
156
156
  vehicle_ids: number[];
157
157
  created_by?: string | undefined;
@@ -172,85 +172,83 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
172
172
  __brand: "UnixTimestamp";
173
173
  };
174
174
  agency_id: string;
175
- line_id: number;
176
- pattern_id: string;
177
175
  analysis: {
178
176
  EXPECTED_DRIVER_ID_QTY: {
179
177
  value: number | null;
180
- grade: "error" | "pass" | "fail" | "skip";
178
+ grade: "pass" | "fail" | "skip" | "error";
181
179
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
182
180
  error_message?: string | undefined;
183
181
  };
184
182
  EXPECTED_VEHICLE_ID_QTY: {
185
183
  value: number | null;
186
- grade: "error" | "pass" | "fail" | "skip";
184
+ grade: "pass" | "fail" | "skip" | "error";
187
185
  reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
188
186
  error_message?: string | undefined;
189
187
  };
190
188
  EXPECTED_VEHICLE_EVENT_INTERVAL: {
191
189
  value: number | null;
192
- grade: "error" | "pass" | "fail" | "skip";
190
+ grade: "pass" | "fail" | "skip" | "error";
193
191
  reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
194
192
  error_message?: string | undefined;
195
193
  };
196
194
  ENDED_AT_LAST_STOP: {
197
- grade: "error" | "pass" | "fail" | "skip";
195
+ grade: "pass" | "fail" | "skip" | "error";
198
196
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
199
197
  error_message?: string | undefined;
200
198
  };
201
199
  EXPECTED_VEHICLE_EVENT_QTY: {
202
- grade: "error" | "pass" | "fail" | "skip";
200
+ grade: "pass" | "fail" | "skip" | "error";
203
201
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
204
202
  expected_qty: number | null;
205
203
  found_qty: number | null;
206
204
  error_message?: string | undefined;
207
205
  };
208
206
  MATCHING_APEX_LOCATIONS: {
209
- grade: "error" | "pass" | "fail" | "skip";
207
+ grade: "pass" | "fail" | "skip" | "error";
210
208
  reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
211
209
  error_message?: string | undefined;
212
210
  };
213
211
  MATCHING_VEHICLE_IDS: {
214
- grade: "error" | "pass" | "fail" | "skip";
212
+ grade: "pass" | "fail" | "skip" | "error";
215
213
  reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
216
214
  error_message?: string | undefined;
217
215
  };
218
216
  AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
219
217
  value: number | null;
220
- grade: "error" | "pass" | "fail" | "skip";
218
+ grade: "pass" | "fail" | "skip" | "error";
221
219
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
222
220
  error_message?: string | undefined;
223
221
  };
224
222
  EXPECTED_APEX_VALIDATION_INTERVAL: {
225
- grade: "error" | "pass" | "fail" | "skip";
223
+ grade: "pass" | "fail" | "skip" | "error";
226
224
  reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
227
225
  error_message?: string | undefined;
228
226
  };
229
227
  EXPECTED_START_TIME: {
230
228
  value: number | null;
231
- grade: "error" | "pass" | "fail" | "skip";
229
+ grade: "pass" | "fail" | "skip" | "error";
232
230
  reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
233
231
  error_message?: string | undefined;
234
232
  };
235
233
  EXPECTED_VEHICLE_EVENT_DELAY: {
236
234
  value: number | null;
237
- grade: "error" | "pass" | "fail" | "skip";
235
+ grade: "pass" | "fail" | "skip" | "error";
238
236
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
239
237
  error_message?: string | undefined;
240
238
  };
241
239
  SIMPLE_ONE_APEX_VALIDATION: {
242
240
  value: number | null;
243
- grade: "error" | "pass" | "fail" | "skip";
241
+ grade: "pass" | "fail" | "skip" | "error";
244
242
  reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
245
243
  error_message?: string | undefined;
246
244
  };
247
245
  SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
248
- grade: "error" | "pass" | "fail" | "skip";
246
+ grade: "pass" | "fail" | "skip" | "error";
249
247
  reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
250
248
  error_message?: string | undefined;
251
249
  };
252
250
  SIMPLE_THREE_VEHICLE_EVENTS: {
253
- grade: "error" | "pass" | "fail" | "skip";
251
+ grade: "pass" | "fail" | "skip" | "error";
254
252
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
255
253
  stop_ids_first: string[] | null;
256
254
  stop_ids_last: string[] | null;
@@ -258,7 +256,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
258
256
  error_message?: string | undefined;
259
257
  };
260
258
  TRANSACTION_SEQUENTIALITY: {
261
- grade: "error" | "pass" | "fail" | "skip";
259
+ grade: "pass" | "fail" | "skip" | "error";
262
260
  reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
263
261
  expected_qty: number | null;
264
262
  found_qty: number | null;
@@ -282,6 +280,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
282
280
  hashed_shape_id: string;
283
281
  hashed_trip_id: string;
284
282
  headsign: string;
283
+ line_id: number;
285
284
  operational_date: string & {
286
285
  __brand: "OperationalDate";
287
286
  };
@@ -292,6 +291,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
292
291
  passengers_observed_prepaid_amount: number | null;
293
292
  passengers_observed_prepaid_qty: number | null;
294
293
  passengers_observed_subscription_qty: number | null;
294
+ pattern_id: string;
295
295
  plan_id: string;
296
296
  route_id: string;
297
297
  seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
@@ -300,7 +300,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
300
300
  start_time_scheduled: number & {
301
301
  __brand: "UnixTimestamp";
302
302
  };
303
- system_status: "waiting" | "processing" | "complete" | "error";
303
+ system_status: "error" | "waiting" | "processing" | "complete";
304
304
  trip_id: string;
305
305
  vehicle_ids: number[];
306
306
  created_by?: string | undefined;
@@ -321,85 +321,83 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
321
321
  __brand: "UnixTimestamp";
322
322
  };
323
323
  agency_id: string;
324
- line_id: number;
325
- pattern_id: string;
326
324
  analysis: {
327
325
  EXPECTED_DRIVER_ID_QTY: {
328
326
  value: number | null;
329
- grade: "error" | "pass" | "fail" | "skip";
327
+ grade: "pass" | "fail" | "skip" | "error";
330
328
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
331
329
  error_message?: string | undefined;
332
330
  };
333
331
  EXPECTED_VEHICLE_ID_QTY: {
334
332
  value: number | null;
335
- grade: "error" | "pass" | "fail" | "skip";
333
+ grade: "pass" | "fail" | "skip" | "error";
336
334
  reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
337
335
  error_message?: string | undefined;
338
336
  };
339
337
  EXPECTED_VEHICLE_EVENT_INTERVAL: {
340
338
  value: number | null;
341
- grade: "error" | "pass" | "fail" | "skip";
339
+ grade: "pass" | "fail" | "skip" | "error";
342
340
  reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
343
341
  error_message?: string | undefined;
344
342
  };
345
343
  ENDED_AT_LAST_STOP: {
346
- grade: "error" | "pass" | "fail" | "skip";
344
+ grade: "pass" | "fail" | "skip" | "error";
347
345
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
348
346
  error_message?: string | undefined;
349
347
  };
350
348
  EXPECTED_VEHICLE_EVENT_QTY: {
351
- grade: "error" | "pass" | "fail" | "skip";
349
+ grade: "pass" | "fail" | "skip" | "error";
352
350
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
353
351
  expected_qty: number | null;
354
352
  found_qty: number | null;
355
353
  error_message?: string | undefined;
356
354
  };
357
355
  MATCHING_APEX_LOCATIONS: {
358
- grade: "error" | "pass" | "fail" | "skip";
356
+ grade: "pass" | "fail" | "skip" | "error";
359
357
  reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
360
358
  error_message?: string | undefined;
361
359
  };
362
360
  MATCHING_VEHICLE_IDS: {
363
- grade: "error" | "pass" | "fail" | "skip";
361
+ grade: "pass" | "fail" | "skip" | "error";
364
362
  reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
365
363
  error_message?: string | undefined;
366
364
  };
367
365
  AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
368
366
  value: number | null;
369
- grade: "error" | "pass" | "fail" | "skip";
367
+ grade: "pass" | "fail" | "skip" | "error";
370
368
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
371
369
  error_message?: string | undefined;
372
370
  };
373
371
  EXPECTED_APEX_VALIDATION_INTERVAL: {
374
- grade: "error" | "pass" | "fail" | "skip";
372
+ grade: "pass" | "fail" | "skip" | "error";
375
373
  reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
376
374
  error_message?: string | undefined;
377
375
  };
378
376
  EXPECTED_START_TIME: {
379
377
  value: number | null;
380
- grade: "error" | "pass" | "fail" | "skip";
378
+ grade: "pass" | "fail" | "skip" | "error";
381
379
  reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
382
380
  error_message?: string | undefined;
383
381
  };
384
382
  EXPECTED_VEHICLE_EVENT_DELAY: {
385
383
  value: number | null;
386
- grade: "error" | "pass" | "fail" | "skip";
384
+ grade: "pass" | "fail" | "skip" | "error";
387
385
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
388
386
  error_message?: string | undefined;
389
387
  };
390
388
  SIMPLE_ONE_APEX_VALIDATION: {
391
389
  value: number | null;
392
- grade: "error" | "pass" | "fail" | "skip";
390
+ grade: "pass" | "fail" | "skip" | "error";
393
391
  reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
394
392
  error_message?: string | undefined;
395
393
  };
396
394
  SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
397
- grade: "error" | "pass" | "fail" | "skip";
395
+ grade: "pass" | "fail" | "skip" | "error";
398
396
  reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
399
397
  error_message?: string | undefined;
400
398
  };
401
399
  SIMPLE_THREE_VEHICLE_EVENTS: {
402
- grade: "error" | "pass" | "fail" | "skip";
400
+ grade: "pass" | "fail" | "skip" | "error";
403
401
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
404
402
  stop_ids_first: string[] | null;
405
403
  stop_ids_last: string[] | null;
@@ -407,7 +405,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
407
405
  error_message?: string | undefined;
408
406
  };
409
407
  TRANSACTION_SEQUENTIALITY: {
410
- grade: "error" | "pass" | "fail" | "skip";
408
+ grade: "pass" | "fail" | "skip" | "error";
411
409
  reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
412
410
  expected_qty: number | null;
413
411
  found_qty: number | null;
@@ -431,6 +429,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
431
429
  hashed_shape_id: string;
432
430
  hashed_trip_id: string;
433
431
  headsign: string;
432
+ line_id: number;
434
433
  operational_date: string & {
435
434
  __brand: "OperationalDate";
436
435
  };
@@ -441,6 +440,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
441
440
  passengers_observed_prepaid_amount: number | null;
442
441
  passengers_observed_prepaid_qty: number | null;
443
442
  passengers_observed_subscription_qty: number | null;
443
+ pattern_id: string;
444
444
  plan_id: string;
445
445
  route_id: string;
446
446
  seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
@@ -449,7 +449,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
449
449
  start_time_scheduled: number & {
450
450
  __brand: "UnixTimestamp";
451
451
  };
452
- system_status: "waiting" | "processing" | "complete" | "error";
452
+ system_status: "error" | "waiting" | "processing" | "complete";
453
453
  trip_id: string;
454
454
  vehicle_ids: number[];
455
455
  created_by?: string | undefined;
@@ -470,85 +470,83 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
470
470
  __brand: "UnixTimestamp";
471
471
  };
472
472
  agency_id: string;
473
- line_id: number;
474
- pattern_id: string;
475
473
  analysis: {
476
474
  EXPECTED_DRIVER_ID_QTY: {
477
475
  value: number | null;
478
- grade: "error" | "pass" | "fail" | "skip";
476
+ grade: "pass" | "fail" | "skip" | "error";
479
477
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
480
478
  error_message?: string | undefined;
481
479
  };
482
480
  EXPECTED_VEHICLE_ID_QTY: {
483
481
  value: number | null;
484
- grade: "error" | "pass" | "fail" | "skip";
482
+ grade: "pass" | "fail" | "skip" | "error";
485
483
  reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
486
484
  error_message?: string | undefined;
487
485
  };
488
486
  EXPECTED_VEHICLE_EVENT_INTERVAL: {
489
487
  value: number | null;
490
- grade: "error" | "pass" | "fail" | "skip";
488
+ grade: "pass" | "fail" | "skip" | "error";
491
489
  reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
492
490
  error_message?: string | undefined;
493
491
  };
494
492
  ENDED_AT_LAST_STOP: {
495
- grade: "error" | "pass" | "fail" | "skip";
493
+ grade: "pass" | "fail" | "skip" | "error";
496
494
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
497
495
  error_message?: string | undefined;
498
496
  };
499
497
  EXPECTED_VEHICLE_EVENT_QTY: {
500
- grade: "error" | "pass" | "fail" | "skip";
498
+ grade: "pass" | "fail" | "skip" | "error";
501
499
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
502
500
  expected_qty: number | null;
503
501
  found_qty: number | null;
504
502
  error_message?: string | undefined;
505
503
  };
506
504
  MATCHING_APEX_LOCATIONS: {
507
- grade: "error" | "pass" | "fail" | "skip";
505
+ grade: "pass" | "fail" | "skip" | "error";
508
506
  reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
509
507
  error_message?: string | undefined;
510
508
  };
511
509
  MATCHING_VEHICLE_IDS: {
512
- grade: "error" | "pass" | "fail" | "skip";
510
+ grade: "pass" | "fail" | "skip" | "error";
513
511
  reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
514
512
  error_message?: string | undefined;
515
513
  };
516
514
  AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
517
515
  value: number | null;
518
- grade: "error" | "pass" | "fail" | "skip";
516
+ grade: "pass" | "fail" | "skip" | "error";
519
517
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
520
518
  error_message?: string | undefined;
521
519
  };
522
520
  EXPECTED_APEX_VALIDATION_INTERVAL: {
523
- grade: "error" | "pass" | "fail" | "skip";
521
+ grade: "pass" | "fail" | "skip" | "error";
524
522
  reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
525
523
  error_message?: string | undefined;
526
524
  };
527
525
  EXPECTED_START_TIME: {
528
526
  value: number | null;
529
- grade: "error" | "pass" | "fail" | "skip";
527
+ grade: "pass" | "fail" | "skip" | "error";
530
528
  reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
531
529
  error_message?: string | undefined;
532
530
  };
533
531
  EXPECTED_VEHICLE_EVENT_DELAY: {
534
532
  value: number | null;
535
- grade: "error" | "pass" | "fail" | "skip";
533
+ grade: "pass" | "fail" | "skip" | "error";
536
534
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
537
535
  error_message?: string | undefined;
538
536
  };
539
537
  SIMPLE_ONE_APEX_VALIDATION: {
540
538
  value: number | null;
541
- grade: "error" | "pass" | "fail" | "skip";
539
+ grade: "pass" | "fail" | "skip" | "error";
542
540
  reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
543
541
  error_message?: string | undefined;
544
542
  };
545
543
  SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
546
- grade: "error" | "pass" | "fail" | "skip";
544
+ grade: "pass" | "fail" | "skip" | "error";
547
545
  reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
548
546
  error_message?: string | undefined;
549
547
  };
550
548
  SIMPLE_THREE_VEHICLE_EVENTS: {
551
- grade: "error" | "pass" | "fail" | "skip";
549
+ grade: "pass" | "fail" | "skip" | "error";
552
550
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
553
551
  stop_ids_first: string[] | null;
554
552
  stop_ids_last: string[] | null;
@@ -556,7 +554,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
556
554
  error_message?: string | undefined;
557
555
  };
558
556
  TRANSACTION_SEQUENTIALITY: {
559
- grade: "error" | "pass" | "fail" | "skip";
557
+ grade: "pass" | "fail" | "skip" | "error";
560
558
  reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
561
559
  expected_qty: number | null;
562
560
  found_qty: number | null;
@@ -580,6 +578,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
580
578
  hashed_shape_id: string;
581
579
  hashed_trip_id: string;
582
580
  headsign: string;
581
+ line_id: number;
583
582
  operational_date: string & {
584
583
  __brand: "OperationalDate";
585
584
  };
@@ -590,6 +589,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
590
589
  passengers_observed_prepaid_amount: number | null;
591
590
  passengers_observed_prepaid_qty: number | null;
592
591
  passengers_observed_subscription_qty: number | null;
592
+ pattern_id: string;
593
593
  plan_id: string;
594
594
  route_id: string;
595
595
  seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
@@ -598,7 +598,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
598
598
  start_time_scheduled: number & {
599
599
  __brand: "UnixTimestamp";
600
600
  };
601
- system_status: "waiting" | "processing" | "complete" | "error";
601
+ system_status: "error" | "waiting" | "processing" | "complete";
602
602
  trip_id: string;
603
603
  vehicle_ids: number[];
604
604
  created_by?: string | undefined;
@@ -619,85 +619,83 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
619
619
  __brand: "UnixTimestamp";
620
620
  };
621
621
  agency_id: string;
622
- line_id: number;
623
- pattern_id: string;
624
622
  analysis: {
625
623
  EXPECTED_DRIVER_ID_QTY: {
626
624
  value: number | null;
627
- grade: "error" | "pass" | "fail" | "skip";
625
+ grade: "pass" | "fail" | "skip" | "error";
628
626
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
629
627
  error_message?: string | undefined;
630
628
  };
631
629
  EXPECTED_VEHICLE_ID_QTY: {
632
630
  value: number | null;
633
- grade: "error" | "pass" | "fail" | "skip";
631
+ grade: "pass" | "fail" | "skip" | "error";
634
632
  reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
635
633
  error_message?: string | undefined;
636
634
  };
637
635
  EXPECTED_VEHICLE_EVENT_INTERVAL: {
638
636
  value: number | null;
639
- grade: "error" | "pass" | "fail" | "skip";
637
+ grade: "pass" | "fail" | "skip" | "error";
640
638
  reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
641
639
  error_message?: string | undefined;
642
640
  };
643
641
  ENDED_AT_LAST_STOP: {
644
- grade: "error" | "pass" | "fail" | "skip";
642
+ grade: "pass" | "fail" | "skip" | "error";
645
643
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
646
644
  error_message?: string | undefined;
647
645
  };
648
646
  EXPECTED_VEHICLE_EVENT_QTY: {
649
- grade: "error" | "pass" | "fail" | "skip";
647
+ grade: "pass" | "fail" | "skip" | "error";
650
648
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
651
649
  expected_qty: number | null;
652
650
  found_qty: number | null;
653
651
  error_message?: string | undefined;
654
652
  };
655
653
  MATCHING_APEX_LOCATIONS: {
656
- grade: "error" | "pass" | "fail" | "skip";
654
+ grade: "pass" | "fail" | "skip" | "error";
657
655
  reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
658
656
  error_message?: string | undefined;
659
657
  };
660
658
  MATCHING_VEHICLE_IDS: {
661
- grade: "error" | "pass" | "fail" | "skip";
659
+ grade: "pass" | "fail" | "skip" | "error";
662
660
  reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
663
661
  error_message?: string | undefined;
664
662
  };
665
663
  AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
666
664
  value: number | null;
667
- grade: "error" | "pass" | "fail" | "skip";
665
+ grade: "pass" | "fail" | "skip" | "error";
668
666
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
669
667
  error_message?: string | undefined;
670
668
  };
671
669
  EXPECTED_APEX_VALIDATION_INTERVAL: {
672
- grade: "error" | "pass" | "fail" | "skip";
670
+ grade: "pass" | "fail" | "skip" | "error";
673
671
  reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
674
672
  error_message?: string | undefined;
675
673
  };
676
674
  EXPECTED_START_TIME: {
677
675
  value: number | null;
678
- grade: "error" | "pass" | "fail" | "skip";
676
+ grade: "pass" | "fail" | "skip" | "error";
679
677
  reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
680
678
  error_message?: string | undefined;
681
679
  };
682
680
  EXPECTED_VEHICLE_EVENT_DELAY: {
683
681
  value: number | null;
684
- grade: "error" | "pass" | "fail" | "skip";
682
+ grade: "pass" | "fail" | "skip" | "error";
685
683
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
686
684
  error_message?: string | undefined;
687
685
  };
688
686
  SIMPLE_ONE_APEX_VALIDATION: {
689
687
  value: number | null;
690
- grade: "error" | "pass" | "fail" | "skip";
688
+ grade: "pass" | "fail" | "skip" | "error";
691
689
  reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
692
690
  error_message?: string | undefined;
693
691
  };
694
692
  SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
695
- grade: "error" | "pass" | "fail" | "skip";
693
+ grade: "pass" | "fail" | "skip" | "error";
696
694
  reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
697
695
  error_message?: string | undefined;
698
696
  };
699
697
  SIMPLE_THREE_VEHICLE_EVENTS: {
700
- grade: "error" | "pass" | "fail" | "skip";
698
+ grade: "pass" | "fail" | "skip" | "error";
701
699
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
702
700
  stop_ids_first: string[] | null;
703
701
  stop_ids_last: string[] | null;
@@ -705,7 +703,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
705
703
  error_message?: string | undefined;
706
704
  };
707
705
  TRANSACTION_SEQUENTIALITY: {
708
- grade: "error" | "pass" | "fail" | "skip";
706
+ grade: "pass" | "fail" | "skip" | "error";
709
707
  reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
710
708
  expected_qty: number | null;
711
709
  found_qty: number | null;
@@ -729,6 +727,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
729
727
  hashed_shape_id: string;
730
728
  hashed_trip_id: string;
731
729
  headsign: string;
730
+ line_id: number;
732
731
  operational_date: string & {
733
732
  __brand: "OperationalDate";
734
733
  };
@@ -739,6 +738,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
739
738
  passengers_observed_prepaid_amount: number | null;
740
739
  passengers_observed_prepaid_qty: number | null;
741
740
  passengers_observed_subscription_qty: number | null;
741
+ pattern_id: string;
742
742
  plan_id: string;
743
743
  route_id: string;
744
744
  seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
@@ -747,7 +747,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
747
747
  start_time_scheduled: number & {
748
748
  __brand: "UnixTimestamp";
749
749
  };
750
- system_status: "waiting" | "processing" | "complete" | "error";
750
+ system_status: "error" | "waiting" | "processing" | "complete";
751
751
  trip_id: string;
752
752
  vehicle_ids: number[];
753
753
  created_by?: string | undefined;
@@ -768,85 +768,83 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
768
768
  __brand: "UnixTimestamp";
769
769
  };
770
770
  agency_id: string;
771
- line_id: number;
772
- pattern_id: string;
773
771
  analysis: {
774
772
  EXPECTED_DRIVER_ID_QTY: {
775
773
  value: number | null;
776
- grade: "error" | "pass" | "fail" | "skip";
774
+ grade: "pass" | "fail" | "skip" | "error";
777
775
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_DRIVER_ID_QTY" | "EXPECTED_DRIVER_ID_QTY";
778
776
  error_message?: string | undefined;
779
777
  };
780
778
  EXPECTED_VEHICLE_ID_QTY: {
781
779
  value: number | null;
782
- grade: "error" | "pass" | "fail" | "skip";
780
+ grade: "pass" | "fail" | "skip" | "error";
783
781
  reason: "NO_VEHICLE_EVENTS" | "NO_APEX_VALIDATIONS" | "UNEXPECTED_VEHICLE_ID_QTY" | "EXPECTED_VEHICLE_ID_QTY";
784
782
  error_message?: string | undefined;
785
783
  };
786
784
  EXPECTED_VEHICLE_EVENT_INTERVAL: {
787
785
  value: number | null;
788
- grade: "error" | "pass" | "fail" | "skip";
786
+ grade: "pass" | "fail" | "skip" | "error";
789
787
  reason: "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_INTERVAL" | "UNEXPECTED_VEHICLE_EVENT_INTERVAL";
790
788
  error_message?: string | undefined;
791
789
  };
792
790
  ENDED_AT_LAST_STOP: {
793
- grade: "error" | "pass" | "fail" | "skip";
791
+ grade: "pass" | "fail" | "skip" | "error";
794
792
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "ENDED_AT_LAST_STOP" | "ENDED_OUTSIDE_OF_LAST_STOP";
795
793
  error_message?: string | undefined;
796
794
  };
797
795
  EXPECTED_VEHICLE_EVENT_QTY: {
798
- grade: "error" | "pass" | "fail" | "skip";
796
+ grade: "pass" | "fail" | "skip" | "error";
799
797
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "EXPECTED_VEHICLE_EVENT_QTY" | "UNEXPECTED_VEHICLE_EVENT_QTY";
800
798
  expected_qty: number | null;
801
799
  found_qty: number | null;
802
800
  error_message?: string | undefined;
803
801
  };
804
802
  MATCHING_APEX_LOCATIONS: {
805
- grade: "error" | "pass" | "fail" | "skip";
803
+ grade: "pass" | "fail" | "skip" | "error";
806
804
  reason: "NO_PATH_DATA" | "NO_APEX_LOCATIONS" | "MISSING_APEX_LOCATION_FOR_AT_LEAST_ONE_STOP" | "MATCHING_APEX_LOCATIONS";
807
805
  error_message?: string | undefined;
808
806
  };
809
807
  MATCHING_VEHICLE_IDS: {
810
- grade: "error" | "pass" | "fail" | "skip";
808
+ grade: "pass" | "fail" | "skip" | "error";
811
809
  reason: "NO_VEHICLE_EVENTS" | "MATCHING_VEHICLE_IDS" | "VEHICLE_ID_MISMATCH" | "NO_APEX_TRANSACTIONS";
812
810
  error_message?: string | undefined;
813
811
  };
814
812
  AT_LEAST_ONE_VEHICLE_EVENT_ON_FIRST_STOP: {
815
813
  value: number | null;
816
- grade: "error" | "pass" | "fail" | "skip";
814
+ grade: "pass" | "fail" | "skip" | "error";
817
815
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "NO_VEHICLE_EVENTS_ON_FIRST_STOP" | "ONE_OR_MORE_VEHICLE_EVENTS_ON_FIRST_STOP";
818
816
  error_message?: string | undefined;
819
817
  };
820
818
  EXPECTED_APEX_VALIDATION_INTERVAL: {
821
- grade: "error" | "pass" | "fail" | "skip";
819
+ grade: "pass" | "fail" | "skip" | "error";
822
820
  reason: "NO_APEX_VALIDATIONS" | "NOT_ENOUGH_VALIDATIONS" | "INTERVALS_TOO_SHORT" | "NON_ORGANIC_INTERVALS" | "EXPECTED_VALIDATION_INTERVALS";
823
821
  error_message?: string | undefined;
824
822
  };
825
823
  EXPECTED_START_TIME: {
826
824
  value: number | null;
827
- grade: "error" | "pass" | "fail" | "skip";
825
+ grade: "pass" | "fail" | "skip" | "error";
828
826
  reason: "NO_VEHICLE_EVENTS" | "NO_START_TIME_SCHEDULED" | "UNKNOWN_START" | "EARLY_START" | "LATE_START" | "START_ON_TIME";
829
827
  error_message?: string | undefined;
830
828
  };
831
829
  EXPECTED_VEHICLE_EVENT_DELAY: {
832
830
  value: number | null;
833
- grade: "error" | "pass" | "fail" | "skip";
831
+ grade: "pass" | "fail" | "skip" | "error";
834
832
  reason: "NO_VEHICLE_EVENTS" | "UNEXPECTED_VEHICLE_EVENTS_DELAY" | "EXPECTED_VEHICLE_EVENTS_DELAY";
835
833
  error_message?: string | undefined;
836
834
  };
837
835
  SIMPLE_ONE_APEX_VALIDATION: {
838
836
  value: number | null;
839
- grade: "error" | "pass" | "fail" | "skip";
837
+ grade: "pass" | "fail" | "skip" | "error";
840
838
  reason: "NO_APEX_VALIDATIONS" | "ONE_OR_MORE_APEX_VALIDATIONS";
841
839
  error_message?: string | undefined;
842
840
  };
843
841
  SIMPLE_ONE_VEHICLE_EVENT_OR_APEX_VALIDATION: {
844
- grade: "error" | "pass" | "fail" | "skip";
842
+ grade: "pass" | "fail" | "skip" | "error";
845
843
  reason: "NO_VEHICLE_EVENTS_OR_APEX_VALIDATIONS" | "FOUND_VEHICLE_EVENT_OR_APEX_VALIDATION";
846
844
  error_message?: string | undefined;
847
845
  };
848
846
  SIMPLE_THREE_VEHICLE_EVENTS: {
849
- grade: "error" | "pass" | "fail" | "skip";
847
+ grade: "pass" | "fail" | "skip" | "error";
850
848
  reason: "NO_PATH_DATA" | "NO_VEHICLE_EVENTS" | "MISSING_FIRST_STOPS" | "MISSING_MIDDLE_STOPS" | "MISSING_LAST_STOPS" | "ALL_STOPS_FOUND";
851
849
  stop_ids_first: string[] | null;
852
850
  stop_ids_last: string[] | null;
@@ -854,7 +852,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
854
852
  error_message?: string | undefined;
855
853
  };
856
854
  TRANSACTION_SEQUENTIALITY: {
857
- grade: "error" | "pass" | "fail" | "skip";
855
+ grade: "pass" | "fail" | "skip" | "error";
858
856
  reason: "NO_TRANSACTIONS" | "MISSING_TRANSACTIONS" | "ALL_TRANSACTIONS_RECEIVED";
859
857
  expected_qty: number | null;
860
858
  found_qty: number | null;
@@ -878,6 +876,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
878
876
  hashed_shape_id: string;
879
877
  hashed_trip_id: string;
880
878
  headsign: string;
879
+ line_id: number;
881
880
  operational_date: string & {
882
881
  __brand: "OperationalDate";
883
882
  };
@@ -888,6 +887,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
888
887
  passengers_observed_prepaid_amount: number | null;
889
888
  passengers_observed_prepaid_qty: number | null;
890
889
  passengers_observed_subscription_qty: number | null;
890
+ pattern_id: string;
891
891
  plan_id: string;
892
892
  route_id: string;
893
893
  seen_first_at: import("@tmlmobilidade/types").UnixTimestamp | null;
@@ -896,7 +896,7 @@ declare class RidesClass extends MongoCollectionClass<Ride, CreateRideDto, Updat
896
896
  start_time_scheduled: number & {
897
897
  __brand: "UnixTimestamp";
898
898
  };
899
- system_status: "waiting" | "processing" | "complete" | "error";
899
+ system_status: "error" | "waiting" | "processing" | "complete";
900
900
  trip_id: string;
901
901
  vehicle_ids: number[];
902
902
  created_by?: string | undefined;
@@ -26,13 +26,13 @@ declare class StopsClass extends MongoCollectionClass<Stop, CreateStopDto, Updat
26
26
  __brand: "UnixTimestamp";
27
27
  };
28
28
  name: string;
29
+ is_locked: boolean;
29
30
  has_bench: "unknown" | "yes" | "no";
30
31
  has_network_map: "unknown" | "yes" | "no";
31
32
  has_schedules: "unknown" | "yes" | "no";
32
33
  has_shelter: "unknown" | "yes" | "no";
33
34
  has_stop_sign: "unknown" | "yes" | "no";
34
35
  municipality_id: string;
35
- is_locked: boolean;
36
36
  comments: ({
37
37
  created_at: number & {
38
38
  __brand: "UnixTimestamp";
@@ -125,13 +125,13 @@ declare class StopsClass extends MongoCollectionClass<Stop, CreateStopDto, Updat
125
125
  __brand: "UnixTimestamp";
126
126
  };
127
127
  name: string;
128
+ is_locked: boolean;
128
129
  has_bench: "unknown" | "yes" | "no";
129
130
  has_network_map: "unknown" | "yes" | "no";
130
131
  has_schedules: "unknown" | "yes" | "no";
131
132
  has_shelter: "unknown" | "yes" | "no";
132
133
  has_stop_sign: "unknown" | "yes" | "no";
133
134
  municipality_id: string;
134
- is_locked: boolean;
135
135
  comments: ({
136
136
  created_at: number & {
137
137
  __brand: "UnixTimestamp";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tmlmobilidade/interfaces",
3
- "version": "20251021.1725.54",
3
+ "version": "20251022.1644.0-staging.0",
4
4
  "author": "João de Vasconcelos & Jusi Monteiro",
5
5
  "license": "AGPL-3.0-or-later",
6
6
  "homepage": "https://github.com/tmlmobilidade/services#readme",