@updraft-solutions/mcrit-sdk 0.1.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.
Files changed (79) hide show
  1. package/README.md +240 -0
  2. package/dist/chunk-2DRKSYW4.cjs +99 -0
  3. package/dist/chunk-2M32EOYI.js +145 -0
  4. package/dist/chunk-AN55SAGU.js +1189 -0
  5. package/dist/chunk-D5DUVW34.js +176 -0
  6. package/dist/chunk-HQSF3WGF.cjs +14 -0
  7. package/dist/chunk-JGIAOBZI.js +99 -0
  8. package/dist/chunk-JRVRIKNM.cjs +168 -0
  9. package/dist/chunk-LVTDNDWE.cjs +124 -0
  10. package/dist/chunk-LXNCAKJZ.js +0 -0
  11. package/dist/chunk-MF7G76QS.cjs +176 -0
  12. package/dist/chunk-MI4YBENQ.cjs +145 -0
  13. package/dist/chunk-MOOGM3DW.cjs +1 -0
  14. package/dist/chunk-NQV2D3FJ.js +14 -0
  15. package/dist/chunk-TJXWL42D.js +124 -0
  16. package/dist/chunk-VYT5KQWF.js +168 -0
  17. package/dist/chunk-XKZQ5W7E.cjs +1189 -0
  18. package/dist/courses/index.cjs +7 -0
  19. package/dist/courses/index.d.cts +58 -0
  20. package/dist/courses/index.d.ts +58 -0
  21. package/dist/courses/index.js +7 -0
  22. package/dist/crew/index.cjs +10 -0
  23. package/dist/crew/index.d.cts +102 -0
  24. package/dist/crew/index.d.ts +102 -0
  25. package/dist/crew/index.js +10 -0
  26. package/dist/crew/vue.cjs +34 -0
  27. package/dist/crew/vue.d.cts +31 -0
  28. package/dist/crew/vue.d.ts +31 -0
  29. package/dist/crew/vue.js +34 -0
  30. package/dist/format/index.cjs +44 -0
  31. package/dist/format/index.d.cts +69 -0
  32. package/dist/format/index.d.ts +69 -0
  33. package/dist/format/index.js +44 -0
  34. package/dist/index.cjs +261 -0
  35. package/dist/index.d.cts +11 -0
  36. package/dist/index.d.ts +11 -0
  37. package/dist/index.js +261 -0
  38. package/dist/media/index.cjs +30 -0
  39. package/dist/media/index.d.cts +89 -0
  40. package/dist/media/index.d.ts +89 -0
  41. package/dist/media/index.js +30 -0
  42. package/dist/models-CY3MmvCg.d.cts +33801 -0
  43. package/dist/models-CY3MmvCg.d.ts +33801 -0
  44. package/dist/money/index.cjs +18 -0
  45. package/dist/money/index.d.cts +66 -0
  46. package/dist/money/index.d.ts +66 -0
  47. package/dist/money/index.js +18 -0
  48. package/dist/pagination/index.cjs +6 -0
  49. package/dist/pagination/index.d.cts +16 -0
  50. package/dist/pagination/index.d.ts +16 -0
  51. package/dist/pagination/index.js +6 -0
  52. package/dist/schemas/index.cjs +158 -0
  53. package/dist/schemas/index.d.cts +1019 -0
  54. package/dist/schemas/index.d.ts +1019 -0
  55. package/dist/schemas/index.js +158 -0
  56. package/dist/types/index.cjs +1 -0
  57. package/dist/types/index.d.cts +143 -0
  58. package/dist/types/index.d.ts +143 -0
  59. package/dist/types/index.js +1 -0
  60. package/package.json +171 -0
  61. package/src/courses/index.ts +202 -0
  62. package/src/crew/index.ts +255 -0
  63. package/src/crew/vue.ts +70 -0
  64. package/src/format/index.ts +265 -0
  65. package/src/index.ts +76 -0
  66. package/src/media/index.ts +224 -0
  67. package/src/money/index.ts +168 -0
  68. package/src/pagination/index.ts +27 -0
  69. package/src/schemas/common.ts +73 -0
  70. package/src/schemas/faq.ts +94 -0
  71. package/src/schemas/fee.ts +37 -0
  72. package/src/schemas/index.ts +6 -0
  73. package/src/schemas/models.ts +996 -0
  74. package/src/schemas/report.ts +306 -0
  75. package/src/schemas/safety-report.ts +163 -0
  76. package/src/types/api.ts +37 -0
  77. package/src/types/compliance.ts +44 -0
  78. package/src/types/index.ts +3 -0
  79. package/src/types/models.ts +124 -0
@@ -0,0 +1,1019 @@
1
+ export { B as BaseModel, a as addressSchema, b as aircraftRatingSchema, c as airplanePermissionSchema, d as airplaneSchema, e as airportSchema, f as alertSchema, g as allowedDocumentTypeSchema, h as approachTypeSchema, i as availSchema, j as baseMembershipSchema, k as bookingSchema, l as commentSchema, m as companySchema, n as contactAttributeSchema, o as courseEnrollmentSchema, p as courseFeeSchema, q as courseSchema, r as documentComplianceStatus, s as documentRequirement, t as documentRequirementGroup, u as documentRequirementGroupAssignment, v as documentSchema, w as documentShareSchema, x as documentType, y as eventSchema, z as expenseItemSchema, A as expenseSchema, C as extendedAirplaneSchema, D as feeSchema, E as flightLogSchema, F as invoiceSchema, G as landingFeeSchema, H as landingSchema, I as maintenanceEventEstimationSchema, J as maintenanceEventSchema, K as maintenanceStatusSchema, L as mediaCollection, M as mediaSchema, N as membershipSchema, O as postSchema, P as prePaidPackageSchema, Q as priceSchema, R as qualificationSchema, S as recurringFlightSchema, T as roleSchema, U as runwaySchema, V as scheduledFlightSchema, W as settingSchema, X as specialFlightSchema, Y as ticketSchema, Z as userAircraftRatingSchema, _ as userQualificationSchema, $ as userSchema, a0 as waypointSchema, a1 as zContactDTO, a2 as zNetGross, a3 as zNullableBool, a4 as zPhpMoneyObject } from '../models-CY3MmvCg.js';
2
+ import { z } from 'zod';
3
+
4
+ declare enum FaqStatus {
5
+ PENDING = "pending",
6
+ APPROVED = "approved",
7
+ REJECTED = "rejected"
8
+ }
9
+ declare const FaqSchema: z.ZodObject<{
10
+ type: z.ZodLiteral<"faq">;
11
+ id: z.ZodNumber;
12
+ company_id: z.ZodNullable<z.ZodNumber>;
13
+ faqable_type: z.ZodNullable<z.ZodString>;
14
+ faqable_id: z.ZodNullable<z.ZodNumber>;
15
+ category: z.ZodString;
16
+ subcategory: z.ZodNullable<z.ZodString>;
17
+ question: z.ZodString;
18
+ answer: z.ZodNullable<z.ZodString>;
19
+ order: z.ZodNumber;
20
+ is_active: z.ZodBoolean;
21
+ status: z.ZodEnum<["pending", "approved", "rejected"]>;
22
+ submitted_by: z.ZodNullable<z.ZodNumber>;
23
+ reviewed_by: z.ZodNullable<z.ZodNumber>;
24
+ reviewed_at: z.ZodNullable<z.ZodString>;
25
+ created_at: z.ZodString;
26
+ updated_at: z.ZodString;
27
+ submitter: z.ZodOptional<z.ZodNullable<z.ZodObject<{
28
+ id: z.ZodNumber;
29
+ name: z.ZodString;
30
+ email: z.ZodString;
31
+ }, "strip", z.ZodTypeAny, {
32
+ id: number;
33
+ name: string;
34
+ email: string;
35
+ }, {
36
+ id: number;
37
+ name: string;
38
+ email: string;
39
+ }>>>;
40
+ reviewer: z.ZodOptional<z.ZodNullable<z.ZodObject<{
41
+ id: z.ZodNumber;
42
+ name: z.ZodString;
43
+ email: z.ZodString;
44
+ }, "strip", z.ZodTypeAny, {
45
+ id: number;
46
+ name: string;
47
+ email: string;
48
+ }, {
49
+ id: number;
50
+ name: string;
51
+ email: string;
52
+ }>>>;
53
+ is_pending: z.ZodOptional<z.ZodBoolean>;
54
+ is_user_submitted: z.ZodOptional<z.ZodBoolean>;
55
+ can: z.ZodOptional<z.ZodObject<{
56
+ view: z.ZodOptional<z.ZodBoolean>;
57
+ update: z.ZodOptional<z.ZodBoolean>;
58
+ delete: z.ZodOptional<z.ZodBoolean>;
59
+ review: z.ZodOptional<z.ZodBoolean>;
60
+ submit: z.ZodOptional<z.ZodBoolean>;
61
+ }, "strip", z.ZodTypeAny, {
62
+ update?: boolean | undefined;
63
+ delete?: boolean | undefined;
64
+ view?: boolean | undefined;
65
+ review?: boolean | undefined;
66
+ submit?: boolean | undefined;
67
+ }, {
68
+ update?: boolean | undefined;
69
+ delete?: boolean | undefined;
70
+ view?: boolean | undefined;
71
+ review?: boolean | undefined;
72
+ submit?: boolean | undefined;
73
+ }>>;
74
+ }, "strip", z.ZodTypeAny, {
75
+ id: number;
76
+ type: "faq";
77
+ status: "pending" | "approved" | "rejected";
78
+ created_at: string;
79
+ updated_at: string;
80
+ company_id: number | null;
81
+ category: string;
82
+ subcategory: string | null;
83
+ is_active: boolean;
84
+ faqable_type: string | null;
85
+ faqable_id: number | null;
86
+ question: string;
87
+ answer: string | null;
88
+ order: number;
89
+ submitted_by: number | null;
90
+ reviewed_by: number | null;
91
+ reviewed_at: string | null;
92
+ can?: {
93
+ update?: boolean | undefined;
94
+ delete?: boolean | undefined;
95
+ view?: boolean | undefined;
96
+ review?: boolean | undefined;
97
+ submit?: boolean | undefined;
98
+ } | undefined;
99
+ submitter?: {
100
+ id: number;
101
+ name: string;
102
+ email: string;
103
+ } | null | undefined;
104
+ reviewer?: {
105
+ id: number;
106
+ name: string;
107
+ email: string;
108
+ } | null | undefined;
109
+ is_pending?: boolean | undefined;
110
+ is_user_submitted?: boolean | undefined;
111
+ }, {
112
+ id: number;
113
+ type: "faq";
114
+ status: "pending" | "approved" | "rejected";
115
+ created_at: string;
116
+ updated_at: string;
117
+ company_id: number | null;
118
+ category: string;
119
+ subcategory: string | null;
120
+ is_active: boolean;
121
+ faqable_type: string | null;
122
+ faqable_id: number | null;
123
+ question: string;
124
+ answer: string | null;
125
+ order: number;
126
+ submitted_by: number | null;
127
+ reviewed_by: number | null;
128
+ reviewed_at: string | null;
129
+ can?: {
130
+ update?: boolean | undefined;
131
+ delete?: boolean | undefined;
132
+ view?: boolean | undefined;
133
+ review?: boolean | undefined;
134
+ submit?: boolean | undefined;
135
+ } | undefined;
136
+ submitter?: {
137
+ id: number;
138
+ name: string;
139
+ email: string;
140
+ } | null | undefined;
141
+ reviewer?: {
142
+ id: number;
143
+ name: string;
144
+ email: string;
145
+ } | null | undefined;
146
+ is_pending?: boolean | undefined;
147
+ is_user_submitted?: boolean | undefined;
148
+ }>;
149
+ type Faq = z.infer<typeof FaqSchema>;
150
+ interface CreateFaqInput {
151
+ category: string;
152
+ subcategory?: string | null;
153
+ question: string;
154
+ answer: string;
155
+ order?: number;
156
+ is_active?: boolean;
157
+ }
158
+ interface UpdateFaqInput {
159
+ category?: string;
160
+ subcategory?: string | null;
161
+ question?: string;
162
+ answer?: string;
163
+ order?: number;
164
+ is_active?: boolean;
165
+ }
166
+ declare const SubmitFaqQuestionSchema: z.ZodObject<{
167
+ category: z.ZodString;
168
+ subcategory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
169
+ question: z.ZodString;
170
+ }, "strip", z.ZodTypeAny, {
171
+ category: string;
172
+ question: string;
173
+ subcategory?: string | null | undefined;
174
+ }, {
175
+ category: string;
176
+ question: string;
177
+ subcategory?: string | null | undefined;
178
+ }>;
179
+ type SubmitFaqQuestionInput = z.infer<typeof SubmitFaqQuestionSchema>;
180
+ declare const ReviewFaqSchema: z.ZodObject<{
181
+ status: z.ZodEnum<["pending", "approved", "rejected"]>;
182
+ answer: z.ZodOptional<z.ZodString>;
183
+ category: z.ZodOptional<z.ZodString>;
184
+ subcategory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
185
+ order: z.ZodOptional<z.ZodNumber>;
186
+ is_active: z.ZodOptional<z.ZodBoolean>;
187
+ }, "strip", z.ZodTypeAny, {
188
+ status: "pending" | "approved" | "rejected";
189
+ category?: string | undefined;
190
+ subcategory?: string | null | undefined;
191
+ is_active?: boolean | undefined;
192
+ answer?: string | undefined;
193
+ order?: number | undefined;
194
+ }, {
195
+ status: "pending" | "approved" | "rejected";
196
+ category?: string | undefined;
197
+ subcategory?: string | null | undefined;
198
+ is_active?: boolean | undefined;
199
+ answer?: string | undefined;
200
+ order?: number | undefined;
201
+ }>;
202
+ type ReviewFaqInput = z.infer<typeof ReviewFaqSchema>;
203
+
204
+ declare const FeeSchema: z.ZodObject<{
205
+ id: z.ZodNumber;
206
+ type: z.ZodOptional<z.ZodLiteral<"fee">>;
207
+ company_id: z.ZodNumber;
208
+ provider: z.ZodOptional<z.ZodNullable<z.ZodString>>;
209
+ category: z.ZodString;
210
+ subcategory: z.ZodOptional<z.ZodNullable<z.ZodString>>;
211
+ title: z.ZodString;
212
+ internal_title: z.ZodOptional<z.ZodNullable<z.ZodString>>;
213
+ display_title: z.ZodOptional<z.ZodString>;
214
+ relation: z.ZodOptional<z.ZodNullable<z.ZodArray<z.ZodEnum<["booking", "flightlog", "invoice", "instructor"]>, "many">>>;
215
+ payment_per: z.ZodOptional<z.ZodNullable<z.ZodEnum<["perSession", "perFlight", "perBooking", "perHour"]>>>;
216
+ price: z.ZodOptional<z.ZodAny>;
217
+ prices: z.ZodOptional<z.ZodArray<z.ZodAny, "many">>;
218
+ can: z.ZodOptional<z.ZodObject<{
219
+ update: z.ZodOptional<z.ZodBoolean>;
220
+ delete: z.ZodOptional<z.ZodBoolean>;
221
+ }, "strip", z.ZodTypeAny, {
222
+ update?: boolean | undefined;
223
+ delete?: boolean | undefined;
224
+ }, {
225
+ update?: boolean | undefined;
226
+ delete?: boolean | undefined;
227
+ }>>;
228
+ }, "strip", z.ZodTypeAny, {
229
+ id: number;
230
+ title: string;
231
+ company_id: number;
232
+ category: string;
233
+ price?: any;
234
+ prices?: any[] | undefined;
235
+ type?: "fee" | undefined;
236
+ can?: {
237
+ update?: boolean | undefined;
238
+ delete?: boolean | undefined;
239
+ } | undefined;
240
+ provider?: string | null | undefined;
241
+ subcategory?: string | null | undefined;
242
+ relation?: ("instructor" | "booking" | "invoice" | "flightlog")[] | null | undefined;
243
+ payment_per?: "perSession" | "perFlight" | "perBooking" | "perHour" | null | undefined;
244
+ internal_title?: string | null | undefined;
245
+ display_title?: string | undefined;
246
+ }, {
247
+ id: number;
248
+ title: string;
249
+ company_id: number;
250
+ category: string;
251
+ price?: any;
252
+ prices?: any[] | undefined;
253
+ type?: "fee" | undefined;
254
+ can?: {
255
+ update?: boolean | undefined;
256
+ delete?: boolean | undefined;
257
+ } | undefined;
258
+ provider?: string | null | undefined;
259
+ subcategory?: string | null | undefined;
260
+ relation?: ("instructor" | "booking" | "invoice" | "flightlog")[] | null | undefined;
261
+ payment_per?: "perSession" | "perFlight" | "perBooking" | "perHour" | null | undefined;
262
+ internal_title?: string | null | undefined;
263
+ display_title?: string | undefined;
264
+ }>;
265
+ declare const FeeCategoryOptionsSchema: z.ZodObject<{
266
+ categories: z.ZodArray<z.ZodString, "many">;
267
+ subcategories: z.ZodRecord<z.ZodString, z.ZodArray<z.ZodString, "many">>;
268
+ }, "strip", z.ZodTypeAny, {
269
+ categories: string[];
270
+ subcategories: Record<string, string[]>;
271
+ }, {
272
+ categories: string[];
273
+ subcategories: Record<string, string[]>;
274
+ }>;
275
+ type Fee = z.infer<typeof FeeSchema>;
276
+ type FeeCategoryOptions = z.infer<typeof FeeCategoryOptionsSchema>;
277
+
278
+ declare const SafetyReportStatusEnum: z.ZodEnum<["new", "under_review", "action_taken", "closed"]>;
279
+ type SafetyReportStatus = z.infer<typeof SafetyReportStatusEnum>;
280
+ declare const SafetyReportCategorySchema: z.ZodObject<{
281
+ id: z.ZodNumber;
282
+ name: z.ZodString;
283
+ description: z.ZodNullable<z.ZodString>;
284
+ color: z.ZodString;
285
+ sort_order: z.ZodNumber;
286
+ is_active: z.ZodBoolean;
287
+ is_global: z.ZodOptional<z.ZodBoolean>;
288
+ created_at: z.ZodOptional<z.ZodString>;
289
+ updated_at: z.ZodOptional<z.ZodString>;
290
+ }, "strip", z.ZodTypeAny, {
291
+ sort_order: number;
292
+ id: number;
293
+ name: string;
294
+ description: string | null;
295
+ is_active: boolean;
296
+ color: string;
297
+ created_at?: string | undefined;
298
+ updated_at?: string | undefined;
299
+ is_global?: boolean | undefined;
300
+ }, {
301
+ sort_order: number;
302
+ id: number;
303
+ name: string;
304
+ description: string | null;
305
+ is_active: boolean;
306
+ color: string;
307
+ created_at?: string | undefined;
308
+ updated_at?: string | undefined;
309
+ is_global?: boolean | undefined;
310
+ }>;
311
+ type SafetyReportCategory = z.infer<typeof SafetyReportCategorySchema>;
312
+ declare const SafetyReportCategoryFormSchema: z.ZodObject<{
313
+ name: z.ZodString;
314
+ description: z.ZodOptional<z.ZodNullable<z.ZodString>>;
315
+ color: z.ZodOptional<z.ZodNullable<z.ZodString>>;
316
+ sort_order: z.ZodOptional<z.ZodNumber>;
317
+ is_active: z.ZodOptional<z.ZodBoolean>;
318
+ }, "strip", z.ZodTypeAny, {
319
+ name: string;
320
+ sort_order?: number | undefined;
321
+ description?: string | null | undefined;
322
+ is_active?: boolean | undefined;
323
+ color?: string | null | undefined;
324
+ }, {
325
+ name: string;
326
+ sort_order?: number | undefined;
327
+ description?: string | null | undefined;
328
+ is_active?: boolean | undefined;
329
+ color?: string | null | undefined;
330
+ }>;
331
+ type SafetyReportCategoryForm = z.infer<typeof SafetyReportCategoryFormSchema>;
332
+ declare const SafetyReportMediaSchema: z.ZodObject<{
333
+ id: z.ZodNumber;
334
+ file_name: z.ZodString;
335
+ mime_type: z.ZodString;
336
+ size: z.ZodNumber;
337
+ url: z.ZodNullable<z.ZodString>;
338
+ }, "strip", z.ZodTypeAny, {
339
+ id: number;
340
+ url: string | null;
341
+ mime_type: string;
342
+ file_name: string;
343
+ size: number;
344
+ }, {
345
+ id: number;
346
+ url: string | null;
347
+ mime_type: string;
348
+ file_name: string;
349
+ size: number;
350
+ }>;
351
+ type SafetyReportMedia = z.infer<typeof SafetyReportMediaSchema>;
352
+ declare const SafetyReportSchema: z.ZodObject<{
353
+ id: z.ZodNumber;
354
+ incident_date: z.ZodString;
355
+ location: z.ZodNullable<z.ZodString>;
356
+ description: z.ZodString;
357
+ status: z.ZodEnum<["new", "under_review", "action_taken", "closed"]>;
358
+ is_archived: z.ZodBoolean;
359
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
360
+ id: z.ZodNumber;
361
+ name: z.ZodString;
362
+ description: z.ZodNullable<z.ZodString>;
363
+ color: z.ZodString;
364
+ sort_order: z.ZodNumber;
365
+ is_active: z.ZodBoolean;
366
+ is_global: z.ZodOptional<z.ZodBoolean>;
367
+ created_at: z.ZodOptional<z.ZodString>;
368
+ updated_at: z.ZodOptional<z.ZodString>;
369
+ }, "strip", z.ZodTypeAny, {
370
+ sort_order: number;
371
+ id: number;
372
+ name: string;
373
+ description: string | null;
374
+ is_active: boolean;
375
+ color: string;
376
+ created_at?: string | undefined;
377
+ updated_at?: string | undefined;
378
+ is_global?: boolean | undefined;
379
+ }, {
380
+ sort_order: number;
381
+ id: number;
382
+ name: string;
383
+ description: string | null;
384
+ is_active: boolean;
385
+ color: string;
386
+ created_at?: string | undefined;
387
+ updated_at?: string | undefined;
388
+ is_global?: boolean | undefined;
389
+ }>>>;
390
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
391
+ id: z.ZodNumber;
392
+ file_name: z.ZodString;
393
+ mime_type: z.ZodString;
394
+ size: z.ZodNumber;
395
+ url: z.ZodNullable<z.ZodString>;
396
+ }, "strip", z.ZodTypeAny, {
397
+ id: number;
398
+ url: string | null;
399
+ mime_type: string;
400
+ file_name: string;
401
+ size: number;
402
+ }, {
403
+ id: number;
404
+ url: string | null;
405
+ mime_type: string;
406
+ file_name: string;
407
+ size: number;
408
+ }>, "many">>;
409
+ attachments_count: z.ZodOptional<z.ZodNumber>;
410
+ created_at: z.ZodString;
411
+ updated_at: z.ZodString;
412
+ can: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
413
+ }, "strip", z.ZodTypeAny, {
414
+ id: number;
415
+ status: "new" | "under_review" | "action_taken" | "closed";
416
+ created_at: string;
417
+ updated_at: string;
418
+ description: string;
419
+ location: string | null;
420
+ incident_date: string;
421
+ is_archived: boolean;
422
+ can?: Record<string, boolean> | undefined;
423
+ category?: {
424
+ sort_order: number;
425
+ id: number;
426
+ name: string;
427
+ description: string | null;
428
+ is_active: boolean;
429
+ color: string;
430
+ created_at?: string | undefined;
431
+ updated_at?: string | undefined;
432
+ is_global?: boolean | undefined;
433
+ } | null | undefined;
434
+ attachments?: {
435
+ id: number;
436
+ url: string | null;
437
+ mime_type: string;
438
+ file_name: string;
439
+ size: number;
440
+ }[] | undefined;
441
+ attachments_count?: number | undefined;
442
+ }, {
443
+ id: number;
444
+ status: "new" | "under_review" | "action_taken" | "closed";
445
+ created_at: string;
446
+ updated_at: string;
447
+ description: string;
448
+ location: string | null;
449
+ incident_date: string;
450
+ is_archived: boolean;
451
+ can?: Record<string, boolean> | undefined;
452
+ category?: {
453
+ sort_order: number;
454
+ id: number;
455
+ name: string;
456
+ description: string | null;
457
+ is_active: boolean;
458
+ color: string;
459
+ created_at?: string | undefined;
460
+ updated_at?: string | undefined;
461
+ is_global?: boolean | undefined;
462
+ } | null | undefined;
463
+ attachments?: {
464
+ id: number;
465
+ url: string | null;
466
+ mime_type: string;
467
+ file_name: string;
468
+ size: number;
469
+ }[] | undefined;
470
+ attachments_count?: number | undefined;
471
+ }>;
472
+ type SafetyReport = z.infer<typeof SafetyReportSchema>;
473
+ declare const SafetyReportListResponseSchema: z.ZodObject<{
474
+ data: z.ZodArray<z.ZodObject<{
475
+ id: z.ZodNumber;
476
+ incident_date: z.ZodString;
477
+ location: z.ZodNullable<z.ZodString>;
478
+ description: z.ZodString;
479
+ status: z.ZodEnum<["new", "under_review", "action_taken", "closed"]>;
480
+ is_archived: z.ZodBoolean;
481
+ category: z.ZodOptional<z.ZodNullable<z.ZodObject<{
482
+ id: z.ZodNumber;
483
+ name: z.ZodString;
484
+ description: z.ZodNullable<z.ZodString>;
485
+ color: z.ZodString;
486
+ sort_order: z.ZodNumber;
487
+ is_active: z.ZodBoolean;
488
+ is_global: z.ZodOptional<z.ZodBoolean>;
489
+ created_at: z.ZodOptional<z.ZodString>;
490
+ updated_at: z.ZodOptional<z.ZodString>;
491
+ }, "strip", z.ZodTypeAny, {
492
+ sort_order: number;
493
+ id: number;
494
+ name: string;
495
+ description: string | null;
496
+ is_active: boolean;
497
+ color: string;
498
+ created_at?: string | undefined;
499
+ updated_at?: string | undefined;
500
+ is_global?: boolean | undefined;
501
+ }, {
502
+ sort_order: number;
503
+ id: number;
504
+ name: string;
505
+ description: string | null;
506
+ is_active: boolean;
507
+ color: string;
508
+ created_at?: string | undefined;
509
+ updated_at?: string | undefined;
510
+ is_global?: boolean | undefined;
511
+ }>>>;
512
+ attachments: z.ZodOptional<z.ZodArray<z.ZodObject<{
513
+ id: z.ZodNumber;
514
+ file_name: z.ZodString;
515
+ mime_type: z.ZodString;
516
+ size: z.ZodNumber;
517
+ url: z.ZodNullable<z.ZodString>;
518
+ }, "strip", z.ZodTypeAny, {
519
+ id: number;
520
+ url: string | null;
521
+ mime_type: string;
522
+ file_name: string;
523
+ size: number;
524
+ }, {
525
+ id: number;
526
+ url: string | null;
527
+ mime_type: string;
528
+ file_name: string;
529
+ size: number;
530
+ }>, "many">>;
531
+ attachments_count: z.ZodOptional<z.ZodNumber>;
532
+ created_at: z.ZodString;
533
+ updated_at: z.ZodString;
534
+ can: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodBoolean>>;
535
+ }, "strip", z.ZodTypeAny, {
536
+ id: number;
537
+ status: "new" | "under_review" | "action_taken" | "closed";
538
+ created_at: string;
539
+ updated_at: string;
540
+ description: string;
541
+ location: string | null;
542
+ incident_date: string;
543
+ is_archived: boolean;
544
+ can?: Record<string, boolean> | undefined;
545
+ category?: {
546
+ sort_order: number;
547
+ id: number;
548
+ name: string;
549
+ description: string | null;
550
+ is_active: boolean;
551
+ color: string;
552
+ created_at?: string | undefined;
553
+ updated_at?: string | undefined;
554
+ is_global?: boolean | undefined;
555
+ } | null | undefined;
556
+ attachments?: {
557
+ id: number;
558
+ url: string | null;
559
+ mime_type: string;
560
+ file_name: string;
561
+ size: number;
562
+ }[] | undefined;
563
+ attachments_count?: number | undefined;
564
+ }, {
565
+ id: number;
566
+ status: "new" | "under_review" | "action_taken" | "closed";
567
+ created_at: string;
568
+ updated_at: string;
569
+ description: string;
570
+ location: string | null;
571
+ incident_date: string;
572
+ is_archived: boolean;
573
+ can?: Record<string, boolean> | undefined;
574
+ category?: {
575
+ sort_order: number;
576
+ id: number;
577
+ name: string;
578
+ description: string | null;
579
+ is_active: boolean;
580
+ color: string;
581
+ created_at?: string | undefined;
582
+ updated_at?: string | undefined;
583
+ is_global?: boolean | undefined;
584
+ } | null | undefined;
585
+ attachments?: {
586
+ id: number;
587
+ url: string | null;
588
+ mime_type: string;
589
+ file_name: string;
590
+ size: number;
591
+ }[] | undefined;
592
+ attachments_count?: number | undefined;
593
+ }>, "many">;
594
+ links: z.ZodOptional<z.ZodObject<{
595
+ first: z.ZodOptional<z.ZodNullable<z.ZodString>>;
596
+ last: z.ZodOptional<z.ZodNullable<z.ZodString>>;
597
+ prev: z.ZodOptional<z.ZodNullable<z.ZodString>>;
598
+ next: z.ZodOptional<z.ZodNullable<z.ZodString>>;
599
+ }, "strip", z.ZodTypeAny, {
600
+ first?: string | null | undefined;
601
+ last?: string | null | undefined;
602
+ prev?: string | null | undefined;
603
+ next?: string | null | undefined;
604
+ }, {
605
+ first?: string | null | undefined;
606
+ last?: string | null | undefined;
607
+ prev?: string | null | undefined;
608
+ next?: string | null | undefined;
609
+ }>>;
610
+ meta: z.ZodOptional<z.ZodObject<{
611
+ current_page: z.ZodNumber;
612
+ from: z.ZodNullable<z.ZodNumber>;
613
+ last_page: z.ZodNumber;
614
+ per_page: z.ZodNumber;
615
+ to: z.ZodNullable<z.ZodNumber>;
616
+ total: z.ZodNumber;
617
+ }, "strip", z.ZodTypeAny, {
618
+ from: number | null;
619
+ to: number | null;
620
+ total: number;
621
+ current_page: number;
622
+ last_page: number;
623
+ per_page: number;
624
+ }, {
625
+ from: number | null;
626
+ to: number | null;
627
+ total: number;
628
+ current_page: number;
629
+ last_page: number;
630
+ per_page: number;
631
+ }>>;
632
+ }, "strip", z.ZodTypeAny, {
633
+ data: {
634
+ id: number;
635
+ status: "new" | "under_review" | "action_taken" | "closed";
636
+ created_at: string;
637
+ updated_at: string;
638
+ description: string;
639
+ location: string | null;
640
+ incident_date: string;
641
+ is_archived: boolean;
642
+ can?: Record<string, boolean> | undefined;
643
+ category?: {
644
+ sort_order: number;
645
+ id: number;
646
+ name: string;
647
+ description: string | null;
648
+ is_active: boolean;
649
+ color: string;
650
+ created_at?: string | undefined;
651
+ updated_at?: string | undefined;
652
+ is_global?: boolean | undefined;
653
+ } | null | undefined;
654
+ attachments?: {
655
+ id: number;
656
+ url: string | null;
657
+ mime_type: string;
658
+ file_name: string;
659
+ size: number;
660
+ }[] | undefined;
661
+ attachments_count?: number | undefined;
662
+ }[];
663
+ links?: {
664
+ first?: string | null | undefined;
665
+ last?: string | null | undefined;
666
+ prev?: string | null | undefined;
667
+ next?: string | null | undefined;
668
+ } | undefined;
669
+ meta?: {
670
+ from: number | null;
671
+ to: number | null;
672
+ total: number;
673
+ current_page: number;
674
+ last_page: number;
675
+ per_page: number;
676
+ } | undefined;
677
+ }, {
678
+ data: {
679
+ id: number;
680
+ status: "new" | "under_review" | "action_taken" | "closed";
681
+ created_at: string;
682
+ updated_at: string;
683
+ description: string;
684
+ location: string | null;
685
+ incident_date: string;
686
+ is_archived: boolean;
687
+ can?: Record<string, boolean> | undefined;
688
+ category?: {
689
+ sort_order: number;
690
+ id: number;
691
+ name: string;
692
+ description: string | null;
693
+ is_active: boolean;
694
+ color: string;
695
+ created_at?: string | undefined;
696
+ updated_at?: string | undefined;
697
+ is_global?: boolean | undefined;
698
+ } | null | undefined;
699
+ attachments?: {
700
+ id: number;
701
+ url: string | null;
702
+ mime_type: string;
703
+ file_name: string;
704
+ size: number;
705
+ }[] | undefined;
706
+ attachments_count?: number | undefined;
707
+ }[];
708
+ links?: {
709
+ first?: string | null | undefined;
710
+ last?: string | null | undefined;
711
+ prev?: string | null | undefined;
712
+ next?: string | null | undefined;
713
+ } | undefined;
714
+ meta?: {
715
+ from: number | null;
716
+ to: number | null;
717
+ total: number;
718
+ current_page: number;
719
+ last_page: number;
720
+ per_page: number;
721
+ } | undefined;
722
+ }>;
723
+ type SafetyReportListResponse = z.infer<typeof SafetyReportListResponseSchema>;
724
+ declare const SafetyReportFormSchema: z.ZodObject<{
725
+ incident_date: z.ZodString;
726
+ location: z.ZodOptional<z.ZodNullable<z.ZodString>>;
727
+ description: z.ZodString;
728
+ }, "strip", z.ZodTypeAny, {
729
+ description: string;
730
+ incident_date: string;
731
+ location?: string | null | undefined;
732
+ }, {
733
+ description: string;
734
+ incident_date: string;
735
+ location?: string | null | undefined;
736
+ }>;
737
+ type SafetyReportForm = z.infer<typeof SafetyReportFormSchema>;
738
+ declare const SafetyReportUpdateSchema: z.ZodObject<{
739
+ status: z.ZodOptional<z.ZodEnum<["new", "under_review", "action_taken", "closed"]>>;
740
+ category_id: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
741
+ }, "strip", z.ZodTypeAny, {
742
+ status?: "new" | "under_review" | "action_taken" | "closed" | undefined;
743
+ category_id?: number | null | undefined;
744
+ }, {
745
+ status?: "new" | "under_review" | "action_taken" | "closed" | undefined;
746
+ category_id?: number | null | undefined;
747
+ }>;
748
+ type SafetyReportUpdate = z.infer<typeof SafetyReportUpdateSchema>;
749
+ declare const SafetyReportFilterSchema: z.ZodObject<{
750
+ status: z.ZodOptional<z.ZodEnum<["new", "under_review", "action_taken", "closed"]>>;
751
+ category_id: z.ZodOptional<z.ZodNumber>;
752
+ date_from: z.ZodOptional<z.ZodString>;
753
+ date_to: z.ZodOptional<z.ZodString>;
754
+ include_archived: z.ZodOptional<z.ZodBoolean>;
755
+ search: z.ZodOptional<z.ZodString>;
756
+ sort: z.ZodOptional<z.ZodEnum<["incident_date", "created_at", "status"]>>;
757
+ direction: z.ZodOptional<z.ZodEnum<["asc", "desc"]>>;
758
+ per_page: z.ZodOptional<z.ZodNumber>;
759
+ page: z.ZodOptional<z.ZodNumber>;
760
+ }, "strip", z.ZodTypeAny, {
761
+ sort?: "status" | "created_at" | "incident_date" | undefined;
762
+ status?: "new" | "under_review" | "action_taken" | "closed" | undefined;
763
+ per_page?: number | undefined;
764
+ category_id?: number | undefined;
765
+ date_from?: string | undefined;
766
+ date_to?: string | undefined;
767
+ include_archived?: boolean | undefined;
768
+ search?: string | undefined;
769
+ direction?: "asc" | "desc" | undefined;
770
+ page?: number | undefined;
771
+ }, {
772
+ sort?: "status" | "created_at" | "incident_date" | undefined;
773
+ status?: "new" | "under_review" | "action_taken" | "closed" | undefined;
774
+ per_page?: number | undefined;
775
+ category_id?: number | undefined;
776
+ date_from?: string | undefined;
777
+ date_to?: string | undefined;
778
+ include_archived?: boolean | undefined;
779
+ search?: string | undefined;
780
+ direction?: "asc" | "desc" | undefined;
781
+ page?: number | undefined;
782
+ }>;
783
+ type SafetyReportFilter = z.infer<typeof SafetyReportFilterSchema>;
784
+ declare const SafetyReportSubmissionResponseSchema: z.ZodObject<{
785
+ message: z.ZodString;
786
+ submitted: z.ZodBoolean;
787
+ }, "strip", z.ZodTypeAny, {
788
+ message: string;
789
+ submitted: boolean;
790
+ }, {
791
+ message: string;
792
+ submitted: boolean;
793
+ }>;
794
+ type SafetyReportSubmissionResponse = z.infer<typeof SafetyReportSubmissionResponseSchema>;
795
+ declare const SAFETY_REPORT_STATUS_LABELS: Record<SafetyReportStatus, string>;
796
+ declare const SAFETY_REPORT_STATUS_COLORS: Record<SafetyReportStatus, string>;
797
+
798
+ type ReportStatus = "pending" | "processing" | "completed" | "failed";
799
+ type ReportType = "financial" | "operational" | "instructor_efficiency" | "company_development";
800
+ type ReportGranularity = "total" | "yearly" | "quarterly" | "monthly" | "weekly" | "daily";
801
+ interface Media {
802
+ type: "media";
803
+ id: number;
804
+ description?: string;
805
+ url: string | null;
806
+ mime_type: string;
807
+ file_name: string;
808
+ size: number;
809
+ collection_name: string;
810
+ created_at: string;
811
+ updated_at: string;
812
+ }
813
+ interface ReportMedia {
814
+ pdf?: Media | null;
815
+ }
816
+ interface Report {
817
+ id: number;
818
+ reportable_type: string;
819
+ reportable_id: number;
820
+ report_type: ReportType;
821
+ parameters: ReportParameters;
822
+ data: ReportData;
823
+ metadata: ReportMetadata;
824
+ status: ReportStatus;
825
+ generated_at: string | null;
826
+ expires_at: string | null;
827
+ created_at: string;
828
+ updated_at: string;
829
+ media?: ReportMedia;
830
+ }
831
+ interface ReportParameters {
832
+ start_date?: string | null;
833
+ end_date?: string | null;
834
+ granularity: ReportGranularity;
835
+ }
836
+ interface ReportGenerationParams {
837
+ type: ReportType;
838
+ start_date?: string | null;
839
+ end_date?: string | null;
840
+ granularity?: ReportGranularity;
841
+ }
842
+ interface ReportMetadata {
843
+ requested_by?: number;
844
+ requested_at?: string;
845
+ started_at?: string;
846
+ completed_at?: string;
847
+ duration_seconds?: number;
848
+ attempt?: number;
849
+ error?: string;
850
+ batch?: boolean;
851
+ }
852
+ interface PeriodData<T> {
853
+ summary: T;
854
+ by_period?: Record<string, T>;
855
+ }
856
+ type ReportData = FinancialReportData | OperationalReportData | InstructorEfficiencyReportData | CompanyDevelopmentReportData;
857
+ interface FinancialReportData {
858
+ revenue: PeriodData<RevenueData>;
859
+ expenses: PeriodData<ExpenseData>;
860
+ invoices: PeriodData<InvoiceData>;
861
+ prepaid_packages: PeriodData<PrepaidPackageData>;
862
+ summary: PeriodData<FinancialSummaryData>;
863
+ }
864
+ interface RevenueData {
865
+ total_gross: number;
866
+ total_net: number;
867
+ by_type: Record<string, number>;
868
+ count?: number;
869
+ }
870
+ interface ExpenseData {
871
+ total_gross: number;
872
+ total_net: number;
873
+ by_category: Record<string, number>;
874
+ count?: number;
875
+ }
876
+ interface InvoiceData {
877
+ total_count: number;
878
+ total_gross: number;
879
+ by_status: Record<string, number>;
880
+ by_paid_status: Record<string, number>;
881
+ }
882
+ interface PrepaidPackageData {
883
+ total_packages: number;
884
+ total_initial_value: number;
885
+ total_remaining_value: number;
886
+ total_used_value: number;
887
+ usage_percentage: number;
888
+ }
889
+ interface FinancialSummaryData {
890
+ total_revenue: number;
891
+ total_expenses: number;
892
+ profit: number;
893
+ profit_margin: number;
894
+ }
895
+ interface OperationalReportData {
896
+ flight_hours: FlightHoursData;
897
+ bookings: BookingsData;
898
+ landings: LandingsData;
899
+ aircraft_utilization: AircraftUtilization[];
900
+ member_activity: MemberActivityData;
901
+ }
902
+ interface FlightHoursData {
903
+ total_hours: number;
904
+ total_flights: number;
905
+ average_flight_hours: number;
906
+ by_month?: Record<string, number>;
907
+ by_period?: Record<string, {
908
+ hours: number;
909
+ flights: number;
910
+ average: number;
911
+ }>;
912
+ }
913
+ interface BookingsData {
914
+ total_bookings: number;
915
+ completion_rate: number;
916
+ average_efficiency: number;
917
+ by_status: Record<string, number>;
918
+ by_period?: Record<string, {
919
+ total: number;
920
+ completed: number;
921
+ cancelled: number;
922
+ }>;
923
+ }
924
+ interface LandingsData {
925
+ total_landings: number;
926
+ full_stop_landings: number;
927
+ touch_and_gos: number;
928
+ top_airports: Array<{
929
+ airport_code: string;
930
+ airport_name: string;
931
+ count: number;
932
+ }>;
933
+ }
934
+ interface AircraftUtilization {
935
+ aircraft_id: number;
936
+ aircraft_registration: string;
937
+ aircraft_name: string;
938
+ total_hours: number;
939
+ total_bookings: number;
940
+ utilization_rate: number;
941
+ }
942
+ interface MemberActivityData {
943
+ top_pilots: Array<{
944
+ member_id: number;
945
+ member_name: string;
946
+ flight_hours: number;
947
+ booking_count: number;
948
+ }>;
949
+ total_active_members: number;
950
+ }
951
+ interface InstructorEfficiencyReportData {
952
+ instructors: InstructorData[];
953
+ summary: InstructorSummaryData;
954
+ period: {
955
+ start_date: string;
956
+ end_date: string;
957
+ };
958
+ }
959
+ interface InstructorData {
960
+ instructor_id: number;
961
+ instructor_name: string;
962
+ instructor_email: string;
963
+ total_bookings: number;
964
+ average_efficiency: number;
965
+ average_delay_minutes: number;
966
+ total_flight_hours: number;
967
+ bookings_with_efficiency: number;
968
+ by_period?: Record<string, {
969
+ bookings: number;
970
+ efficiency: number;
971
+ delay: number;
972
+ hours: number;
973
+ }>;
974
+ }
975
+ interface InstructorSummaryData {
976
+ total_instructors: number;
977
+ average_efficiency_overall: number;
978
+ average_delay_overall: number;
979
+ total_bookings_overall: number;
980
+ total_flight_hours_overall: number;
981
+ best_performer: {
982
+ name: string;
983
+ efficiency: number;
984
+ };
985
+ }
986
+ interface CompanyDevelopmentReportData {
987
+ summary?: Record<string, any>;
988
+ metrics?: Record<string, any>;
989
+ by_period?: Record<string, any>;
990
+ }
991
+ interface ReportListItem {
992
+ id: number;
993
+ type: ReportType;
994
+ status: ReportStatus;
995
+ created_at: string;
996
+ generated_at: string | null;
997
+ parameters: ReportParameters;
998
+ }
999
+ interface ReportGenerationResponse {
1000
+ message: string;
1001
+ data?: Report | Report[];
1002
+ skipped?: Array<{
1003
+ type: ReportType;
1004
+ message: string;
1005
+ report: Report;
1006
+ }>;
1007
+ }
1008
+ interface ReportStatusResponse {
1009
+ data: {
1010
+ id: number;
1011
+ status: ReportStatus;
1012
+ report_type: ReportType;
1013
+ created_at: string;
1014
+ generated_at: string | null;
1015
+ metadata: ReportMetadata;
1016
+ };
1017
+ }
1018
+
1019
+ export { type AircraftUtilization, type BookingsData, type CompanyDevelopmentReportData, type CreateFaqInput, type ExpenseData, type Faq, FaqSchema, FaqStatus, type Fee, type FeeCategoryOptions, FeeCategoryOptionsSchema, FeeSchema, type FinancialReportData, type FinancialSummaryData, type FlightHoursData, type InstructorData, type InstructorEfficiencyReportData, type InstructorSummaryData, type InvoiceData, type LandingsData, type Media, type MemberActivityData, type OperationalReportData, type PeriodData, type PrepaidPackageData, type Report, type ReportData, type ReportGenerationParams, type ReportGenerationResponse, type ReportGranularity, type ReportListItem, type ReportMedia, type ReportMetadata, type ReportParameters, type ReportStatus, type ReportStatusResponse, type ReportType, type RevenueData, type ReviewFaqInput, ReviewFaqSchema, SAFETY_REPORT_STATUS_COLORS, SAFETY_REPORT_STATUS_LABELS, type SafetyReport, type SafetyReportCategory, type SafetyReportCategoryForm, SafetyReportCategoryFormSchema, SafetyReportCategorySchema, type SafetyReportFilter, SafetyReportFilterSchema, type SafetyReportForm, SafetyReportFormSchema, type SafetyReportListResponse, SafetyReportListResponseSchema, type SafetyReportMedia, SafetyReportMediaSchema, SafetyReportSchema, type SafetyReportStatus, SafetyReportStatusEnum, type SafetyReportSubmissionResponse, SafetyReportSubmissionResponseSchema, type SafetyReportUpdate, SafetyReportUpdateSchema, type SubmitFaqQuestionInput, SubmitFaqQuestionSchema, type UpdateFaqInput };