@tmlmobilidade/types 20251103.1255.55 → 20251202.1817.5

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 (235) hide show
  1. package/dist/{src/_common → _common}/index.d.ts +4 -2
  2. package/dist/{src/_common → _common}/index.js +4 -2
  3. package/dist/_common/mongo.d.ts +3 -0
  4. package/dist/_common/status.d.ts +13 -0
  5. package/dist/_common/status.js +20 -0
  6. package/dist/_common/utility.js +1 -0
  7. package/dist/{src/agency.d.ts → agency.d.ts} +4 -15
  8. package/dist/{src/agency.js → agency.js} +1 -6
  9. package/dist/{src/alert.d.ts → alert.d.ts} +20 -21
  10. package/dist/{src/alert.js → alert.js} +8 -14
  11. package/dist/{src/simplified-apex → apex}/simplified-apex-validation.d.ts +20 -20
  12. package/dist/{src/auth → auth}/index.d.ts +1 -1
  13. package/dist/{src/auth → auth}/index.js +1 -1
  14. package/dist/{src/auth → auth}/password-requirements.js +2 -1
  15. package/dist/auth/role.d.ts +958 -0
  16. package/dist/{src/auth → auth}/role.js +2 -2
  17. package/dist/{src/auth → auth}/session.d.ts +13 -9
  18. package/dist/{src/auth → auth}/session.js +1 -1
  19. package/dist/auth/user.d.ts +1281 -0
  20. package/dist/{src/auth → auth}/user.js +11 -14
  21. package/dist/{src/file-exports → file-exports}/common.d.ts +9 -8
  22. package/dist/{src/file-exports → file-exports}/common.js +1 -1
  23. package/dist/file-exports/index.d.ts +121 -0
  24. package/dist/file-exports/ride-export.d.ts +410 -0
  25. package/dist/file-exports/ride-export.js +131 -0
  26. package/dist/{src/file.d.ts → file.d.ts} +18 -18
  27. package/dist/gtfs/agency.d.ts +30 -0
  28. package/dist/gtfs/agency.js +13 -0
  29. package/dist/gtfs/feed-info.d.ts +33 -0
  30. package/dist/{src/gtfs.js → gtfs/feed-info.js} +1 -11
  31. package/dist/{src/gtfs → gtfs}/index.d.ts +3 -0
  32. package/dist/{src/gtfs → gtfs}/index.js +3 -0
  33. package/dist/gtfs/service-alert.d.ts +26 -0
  34. package/dist/index.d.ts +22 -22
  35. package/dist/index.js +22 -22
  36. package/dist/locations/census.d.ts +211 -0
  37. package/dist/locations/census.js +2 -0
  38. package/dist/locations/district.d.ts +24 -0
  39. package/dist/locations/district.js +2 -0
  40. package/dist/locations/index.d.ts +6 -0
  41. package/dist/locations/index.js +6 -0
  42. package/dist/locations/locality.d.ts +27 -0
  43. package/dist/locations/locality.js +2 -0
  44. package/dist/locations/municipality.d.ts +25 -0
  45. package/dist/locations/municipality.js +2 -0
  46. package/dist/locations/parish.d.ts +26 -0
  47. package/dist/locations/parish.js +2 -0
  48. package/dist/locations/queries.d.ts +117 -0
  49. package/dist/{src/locations.js → locations/queries.js} +5 -16
  50. package/dist/metrics/demand/demand_by_agency.d.ts +210 -0
  51. package/dist/metrics/demand/demand_by_agency.js +39 -0
  52. package/dist/metrics/demand/demand_by_category.d.ts +475 -0
  53. package/dist/metrics/demand/demand_by_category.js +114 -0
  54. package/dist/metrics/demand/demand_by_line.d.ts +246 -0
  55. package/dist/metrics/demand/demand_by_line.js +56 -0
  56. package/dist/metrics/demand/demand_by_pattern.d.ts +332 -0
  57. package/dist/metrics/demand/demand_by_pattern.js +56 -0
  58. package/dist/metrics/demand/demand_by_product.d.ts +475 -0
  59. package/dist/metrics/demand/demand_by_product.js +114 -0
  60. package/dist/metrics/demand/index.d.ts +6 -0
  61. package/dist/metrics/demand/index.js +8 -0
  62. package/dist/metrics/demand/records.d.ts +320 -0
  63. package/dist/metrics/demand/records.js +53 -0
  64. package/dist/metrics/index.d.ts +2647 -0
  65. package/dist/metrics/index.js +48 -0
  66. package/dist/metrics/realtime.d.ts +667 -0
  67. package/dist/metrics/realtime.js +41 -0
  68. package/dist/{src/notification.d.ts → notification.d.ts} +4 -4
  69. package/dist/{src/organization.d.ts → organization.d.ts} +32 -32
  70. package/dist/{src/organization.js → organization.js} +7 -7
  71. package/dist/permissions/agencies.d.ts +12 -0
  72. package/dist/permissions/agencies.js +13 -0
  73. package/dist/permissions/alerts.d.ts +36 -0
  74. package/dist/permissions/alerts.js +25 -0
  75. package/dist/permissions/controller.d.ts +36 -0
  76. package/dist/permissions/controller.js +30 -0
  77. package/dist/permissions/gtfs-validations.d.ts +25 -0
  78. package/dist/permissions/gtfs-validations.js +14 -0
  79. package/dist/permissions/home.d.ts +12 -0
  80. package/dist/permissions/home.js +10 -0
  81. package/dist/permissions/index.d.ts +268 -0
  82. package/dist/permissions/index.js +149 -0
  83. package/dist/permissions/organizations.d.ts +12 -0
  84. package/dist/permissions/organizations.js +12 -0
  85. package/dist/permissions/performance.d.ts +12 -0
  86. package/dist/permissions/performance.js +9 -0
  87. package/dist/permissions/plans.d.ts +25 -0
  88. package/dist/permissions/plans.js +22 -0
  89. package/dist/permissions/roles.d.ts +12 -0
  90. package/dist/permissions/roles.js +12 -0
  91. package/dist/permissions/stops.d.ts +30 -0
  92. package/dist/permissions/stops.js +17 -0
  93. package/dist/permissions/users.d.ts +12 -0
  94. package/dist/permissions/users.js +12 -0
  95. package/dist/{src/plans → plans}/gtfs-validation.d.ts +55 -63
  96. package/dist/{src/plans → plans}/gtfs-validation.js +3 -6
  97. package/dist/plans/plan-app-status.d.ts +15 -0
  98. package/dist/plans/plan-app-status.js +10 -0
  99. package/dist/{src/plans → plans}/plan.d.ts +240 -104
  100. package/dist/{src/plans → plans}/plan.js +8 -10
  101. package/dist/{src/_common/proposed-change.d.ts → proposed-change.d.ts} +21 -22
  102. package/dist/{src/_common/proposed-change.js → proposed-change.js} +5 -7
  103. package/dist/{src/rides → rides}/index.d.ts +1 -0
  104. package/dist/{src/rides → rides}/index.js +1 -0
  105. package/dist/{src/rides → rides}/ride-acceptance.d.ts +65 -65
  106. package/dist/{src/rides → rides}/ride-analysis.d.ts +34 -34
  107. package/dist/{src/rides → rides}/ride-audit.d.ts +10 -10
  108. package/dist/rides/ride-normalized.d.ts +29 -0
  109. package/dist/rides/ride-normalized.js +2 -0
  110. package/dist/{src/rides → rides}/ride.d.ts +523 -567
  111. package/dist/{src/rides → rides}/ride.js +2 -16
  112. package/dist/{src/sams → sams}/sam-analysis.d.ts +11 -11
  113. package/dist/{src/sams → sams}/sam-analysis.js +4 -4
  114. package/dist/{src/sams → sams}/sam.d.ts +76 -76
  115. package/dist/{src/sams → sams}/sam.js +1 -1
  116. package/dist/{src/stop.d.ts → stop.d.ts} +32 -43
  117. package/dist/{src/stop.js → stop.js} +3 -8
  118. package/dist/vehicle-events/gtfs-rt-vehicle-event-extended.d.ts +77 -0
  119. package/dist/vehicle-events/gtfs-rt-vehicle-event-extended.js +21 -0
  120. package/dist/vehicle-events/index.d.ts +2 -0
  121. package/dist/vehicle-events/index.js +2 -0
  122. package/dist/{src/vehicle-event.d.ts → vehicle-events/simplified-vehicle-event.d.ts} +9 -9
  123. package/dist/{src/vehicle-event.js → vehicle-events/simplified-vehicle-event.js} +3 -3
  124. package/dist/wiki.js +2 -0
  125. package/dist/{src/zone.d.ts → zone.d.ts} +2 -16
  126. package/dist/{src/zone.js → zone.js} +0 -6
  127. package/package.json +18 -21
  128. package/README.md +0 -13
  129. package/dist/src/_common/email.d.ts +0 -4
  130. package/dist/src/_common/email.js +0 -7
  131. package/dist/src/auth/permission.d.ts +0 -19
  132. package/dist/src/auth/permission.js +0 -8
  133. package/dist/src/auth/role.d.ts +0 -127
  134. package/dist/src/auth/user.d.ts +0 -311
  135. package/dist/src/file-exports/index.d.ts +0 -121
  136. package/dist/src/file-exports/ride-export.d.ts +0 -407
  137. package/dist/src/file-exports/ride-export.js +0 -120
  138. package/dist/src/gtfs.d.ts +0 -88
  139. package/dist/src/locations.d.ts +0 -319
  140. package/dist/src/metrics/demand.d.ts +0 -803
  141. package/dist/src/metrics/demand.js +0 -153
  142. package/dist/src/metrics/index.d.ts +0 -806
  143. package/dist/src/metrics/index.js +0 -19
  144. package/dist/src/plans/plan-controller.d.ts +0 -15
  145. package/dist/src/plans/plan-controller.js +0 -10
  146. package/dist/src/system/index.d.ts +0 -2
  147. package/dist/src/system/index.js +0 -2
  148. package/dist/src/system/processing-status.d.ts +0 -9
  149. package/dist/src/system/processing-status.js +0 -5
  150. package/dist/{src/_common → _common}/comment.d.ts +8 -8
  151. package/dist/{src/_common → _common}/comment.js +0 -0
  152. package/dist/{src/_common → _common}/document.d.ts +0 -0
  153. package/dist/{src/_common → _common}/document.js +0 -0
  154. package/dist/{src/system → _common}/environment.d.ts +0 -0
  155. package/dist/{src/system → _common}/environment.js +0 -0
  156. package/dist/{src/_common → _common}/fastify.d.ts +0 -0
  157. package/dist/{src/_common → _common}/fastify.js +0 -0
  158. package/dist/{src/_common/utility.js → _common/mongo.js} +0 -0
  159. package/dist/{src/_common → _common}/operational-date.d.ts +0 -0
  160. package/dist/{src/_common → _common}/operational-date.js +0 -0
  161. package/dist/{src/_common → _common}/unix-timestamp.d.ts +0 -0
  162. package/dist/{src/_common → _common}/unix-timestamp.js +0 -0
  163. package/dist/{src/_common → _common}/utility.d.ts +0 -0
  164. package/dist/{src/simplified-apex → apex}/index.d.ts +0 -0
  165. package/dist/{src/simplified-apex → apex}/index.js +0 -0
  166. package/dist/{src/simplified-apex → apex}/simplified-apex-inspection-decision.d.ts +0 -0
  167. package/dist/{src/simplified-apex → apex}/simplified-apex-inspection-decision.js +0 -0
  168. package/dist/{src/simplified-apex → apex}/simplified-apex-inspection.d.ts +0 -0
  169. package/dist/{src/simplified-apex → apex}/simplified-apex-inspection.js +0 -0
  170. package/dist/{src/simplified-apex → apex}/simplified-apex-location.d.ts +16 -16
  171. package/dist/{src/simplified-apex → apex}/simplified-apex-location.js +0 -0
  172. package/dist/{src/simplified-apex → apex}/simplified-apex-on-board-refund.d.ts +20 -20
  173. package/dist/{src/simplified-apex → apex}/simplified-apex-on-board-refund.js +0 -0
  174. package/dist/{src/simplified-apex → apex}/simplified-apex-on-board-sale.d.ts +25 -25
  175. package/dist/{src/simplified-apex → apex}/simplified-apex-on-board-sale.js +0 -0
  176. package/dist/{src/simplified-apex → apex}/simplified-apex-type.d.ts +0 -0
  177. package/dist/{src/simplified-apex → apex}/simplified-apex-type.js +0 -0
  178. package/dist/{src/simplified-apex → apex}/simplified-apex-validation.js +0 -0
  179. package/dist/{src/auth → auth}/login.d.ts +0 -0
  180. package/dist/{src/auth → auth}/login.js +0 -0
  181. package/dist/{src/auth → auth}/password-requirements.d.ts +0 -0
  182. package/dist/{src/auth → auth}/verification-token.d.ts +0 -0
  183. package/dist/{src/auth → auth}/verification-token.js +0 -0
  184. package/dist/{src/file-exports → file-exports}/index.js +0 -0
  185. package/dist/{src/file.js → file.js} +0 -0
  186. package/dist/{src/gtfs → gtfs}/calendar-dates.d.ts +0 -0
  187. package/dist/{src/gtfs → gtfs}/calendar-dates.js +0 -0
  188. package/dist/{src/gtfs → gtfs}/calendar.d.ts +0 -0
  189. package/dist/{src/gtfs → gtfs}/calendar.js +0 -0
  190. package/dist/{src/gtfs → gtfs}/cause-effetcs.d.ts +0 -0
  191. package/dist/{src/gtfs → gtfs}/cause-effetcs.js +0 -0
  192. package/dist/{src/gtfs → gtfs}/common.d.ts +0 -0
  193. package/dist/{src/gtfs → gtfs}/common.js +0 -0
  194. package/dist/{src/gtfs → gtfs}/routes.d.ts +0 -0
  195. package/dist/{src/gtfs → gtfs}/routes.js +0 -0
  196. package/dist/{src/pcgi/pcgi-apex-location.js → gtfs/service-alert.js} +0 -0
  197. package/dist/{src/gtfs → gtfs}/shapes.d.ts +0 -0
  198. package/dist/{src/gtfs → gtfs}/shapes.js +0 -0
  199. package/dist/{src/gtfs → gtfs}/stop-times.d.ts +0 -0
  200. package/dist/{src/gtfs → gtfs}/stop-times.js +0 -0
  201. package/dist/{src/gtfs → gtfs}/stops.d.ts +0 -0
  202. package/dist/{src/gtfs → gtfs}/stops.js +0 -0
  203. package/dist/{src/gtfs → gtfs}/trips.d.ts +0 -0
  204. package/dist/{src/gtfs → gtfs}/trips.js +0 -0
  205. package/dist/{src/metrics → metrics}/common.d.ts +0 -0
  206. package/dist/{src/metrics → metrics}/common.js +0 -0
  207. package/dist/{src/notification.js → notification.js} +0 -0
  208. package/dist/{src/pcgi → pcgi}/index.d.ts +0 -0
  209. package/dist/{src/pcgi → pcgi}/index.js +0 -0
  210. package/dist/{src/pcgi → pcgi}/pcgi-apex-location.d.ts +0 -0
  211. package/dist/{src/pcgi/pcgi-apex-refund.js → pcgi/pcgi-apex-location.js} +0 -0
  212. package/dist/{src/pcgi → pcgi}/pcgi-apex-refund.d.ts +0 -0
  213. package/dist/{src/pcgi/pcgi-apex-sale.js → pcgi/pcgi-apex-refund.js} +0 -0
  214. package/dist/{src/pcgi → pcgi}/pcgi-apex-sale.d.ts +0 -0
  215. package/dist/{src/pcgi/pcgi-apex-validation.js → pcgi/pcgi-apex-sale.js} +0 -0
  216. package/dist/{src/pcgi → pcgi}/pcgi-apex-validation.d.ts +0 -0
  217. package/dist/{src/pcgi/pcgi-transaction-entity.js → pcgi/pcgi-apex-validation.js} +0 -0
  218. package/dist/{src/pcgi → pcgi}/pcgi-transaction-entity.d.ts +0 -0
  219. package/dist/{src/rides/hashed-shape.js → pcgi/pcgi-transaction-entity.js} +0 -0
  220. package/dist/{src/plans → plans}/index.d.ts +0 -0
  221. package/dist/{src/plans → plans}/index.js +0 -0
  222. package/dist/{src/plans → plans}/plan-pcgi-legacy.d.ts +0 -0
  223. package/dist/{src/plans → plans}/plan-pcgi-legacy.js +0 -0
  224. package/dist/{src/rides → rides}/hashed-shape.d.ts +0 -0
  225. package/dist/{src/rides/hashed-trip.js → rides/hashed-shape.js} +0 -0
  226. package/dist/{src/rides → rides}/hashed-trip.d.ts +0 -0
  227. package/dist/{src/wiki.js → rides/hashed-trip.js} +0 -0
  228. package/dist/{src/rides → rides}/ride-acceptance.js +1 -1
  229. /package/dist/{src/rides → rides}/ride-analysis.js +0 -0
  230. /package/dist/{src/rides → rides}/ride-audit.js +0 -0
  231. /package/dist/{src/rides → rides}/ride-overrides.d.ts +0 -0
  232. /package/dist/{src/rides → rides}/ride-overrides.js +0 -0
  233. /package/dist/{src/sams → sams}/index.d.ts +0 -0
  234. /package/dist/{src/sams → sams}/index.js +0 -0
  235. /package/dist/{src/wiki.d.ts → wiki.d.ts} +0 -0
@@ -0,0 +1,2647 @@
1
+ import { z } from 'zod';
2
+ export * from './demand/index.js';
3
+ export * from './realtime.js';
4
+ export declare const MetricSchema: z.ZodDiscriminatedUnion<"metric", [z.ZodObject<{
5
+ description: z.ZodOptional<z.ZodString>;
6
+ generated_at: z.ZodDate;
7
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
8
+ qty: z.ZodNumber;
9
+ }, "strip", z.ZodTypeAny, {
10
+ qty: number;
11
+ }, {
12
+ qty: number;
13
+ }>>;
14
+ properties: z.ZodObject<{
15
+ line_id: z.ZodString;
16
+ }, "strip", z.ZodTypeAny, {
17
+ line_id: string;
18
+ }, {
19
+ line_id: string;
20
+ }>;
21
+ } & {
22
+ metric: z.ZodLiteral<"demand_by_line_by_year">;
23
+ }, "strip", z.ZodTypeAny, {
24
+ properties: {
25
+ line_id: string;
26
+ };
27
+ generated_at: Date;
28
+ metric: "demand_by_line_by_year";
29
+ data: Record<string, {
30
+ qty: number;
31
+ }>;
32
+ description?: string | undefined;
33
+ }, {
34
+ properties: {
35
+ line_id: string;
36
+ };
37
+ generated_at: Date;
38
+ metric: "demand_by_line_by_year";
39
+ data: Record<string, {
40
+ qty: number;
41
+ }>;
42
+ description?: string | undefined;
43
+ }>, z.ZodObject<{
44
+ description: z.ZodOptional<z.ZodString>;
45
+ generated_at: z.ZodDate;
46
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
47
+ qty: z.ZodNumber;
48
+ }, "strip", z.ZodTypeAny, {
49
+ qty: number;
50
+ }, {
51
+ qty: number;
52
+ }>>;
53
+ properties: z.ZodObject<{
54
+ line_id: z.ZodString;
55
+ }, "strip", z.ZodTypeAny, {
56
+ line_id: string;
57
+ }, {
58
+ line_id: string;
59
+ }>;
60
+ } & {
61
+ metric: z.ZodLiteral<"demand_by_line_by_month">;
62
+ }, "strip", z.ZodTypeAny, {
63
+ properties: {
64
+ line_id: string;
65
+ };
66
+ generated_at: Date;
67
+ metric: "demand_by_line_by_month";
68
+ data: Record<string, {
69
+ qty: number;
70
+ }>;
71
+ description?: string | undefined;
72
+ }, {
73
+ properties: {
74
+ line_id: string;
75
+ };
76
+ generated_at: Date;
77
+ metric: "demand_by_line_by_month";
78
+ data: Record<string, {
79
+ qty: number;
80
+ }>;
81
+ description?: string | undefined;
82
+ }>, z.ZodObject<{
83
+ description: z.ZodOptional<z.ZodString>;
84
+ generated_at: z.ZodDate;
85
+ properties: z.ZodObject<{
86
+ line_id: z.ZodString;
87
+ }, "strip", z.ZodTypeAny, {
88
+ line_id: string;
89
+ }, {
90
+ line_id: string;
91
+ }>;
92
+ } & {
93
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
94
+ day_type: z.ZodEnum<["1", "2", "3"]>;
95
+ holiday: z.ZodEnum<["0", "1"]>;
96
+ notes: z.ZodNullable<z.ZodString>;
97
+ period: z.ZodEnum<["1", "2", "3"]>;
98
+ qty: z.ZodNumber;
99
+ }, "strip", z.ZodTypeAny, {
100
+ qty: number;
101
+ day_type: "1" | "2" | "3";
102
+ holiday: "0" | "1";
103
+ notes: string | null;
104
+ period: "1" | "2" | "3";
105
+ }, {
106
+ qty: number;
107
+ day_type: "1" | "2" | "3";
108
+ holiday: "0" | "1";
109
+ notes: string | null;
110
+ period: "1" | "2" | "3";
111
+ }>>;
112
+ metric: z.ZodLiteral<"demand_by_line_by_day">;
113
+ }, "strip", z.ZodTypeAny, {
114
+ properties: {
115
+ line_id: string;
116
+ };
117
+ generated_at: Date;
118
+ metric: "demand_by_line_by_day";
119
+ data: Record<string, {
120
+ qty: number;
121
+ day_type: "1" | "2" | "3";
122
+ holiday: "0" | "1";
123
+ notes: string | null;
124
+ period: "1" | "2" | "3";
125
+ }>;
126
+ description?: string | undefined;
127
+ }, {
128
+ properties: {
129
+ line_id: string;
130
+ };
131
+ generated_at: Date;
132
+ metric: "demand_by_line_by_day";
133
+ data: Record<string, {
134
+ qty: number;
135
+ day_type: "1" | "2" | "3";
136
+ holiday: "0" | "1";
137
+ notes: string | null;
138
+ period: "1" | "2" | "3";
139
+ }>;
140
+ description?: string | undefined;
141
+ }>, z.ZodObject<{
142
+ description: z.ZodOptional<z.ZodString>;
143
+ generated_at: z.ZodDate;
144
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
145
+ qty: z.ZodNumber;
146
+ }, "strip", z.ZodTypeAny, {
147
+ qty: number;
148
+ }, {
149
+ qty: number;
150
+ }>>;
151
+ properties: z.ZodObject<{
152
+ pattern_id: z.ZodString;
153
+ }, "strip", z.ZodTypeAny, {
154
+ pattern_id: string;
155
+ }, {
156
+ pattern_id: string;
157
+ }>;
158
+ } & {
159
+ metric: z.ZodLiteral<"demand_by_pattern_by_year">;
160
+ }, "strip", z.ZodTypeAny, {
161
+ properties: {
162
+ pattern_id: string;
163
+ };
164
+ generated_at: Date;
165
+ metric: "demand_by_pattern_by_year";
166
+ data: Record<string, {
167
+ qty: number;
168
+ }>;
169
+ description?: string | undefined;
170
+ }, {
171
+ properties: {
172
+ pattern_id: string;
173
+ };
174
+ generated_at: Date;
175
+ metric: "demand_by_pattern_by_year";
176
+ data: Record<string, {
177
+ qty: number;
178
+ }>;
179
+ description?: string | undefined;
180
+ }>, z.ZodObject<{
181
+ description: z.ZodOptional<z.ZodString>;
182
+ generated_at: z.ZodDate;
183
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
184
+ qty: z.ZodNumber;
185
+ }, "strip", z.ZodTypeAny, {
186
+ qty: number;
187
+ }, {
188
+ qty: number;
189
+ }>>;
190
+ properties: z.ZodObject<{
191
+ pattern_id: z.ZodString;
192
+ }, "strip", z.ZodTypeAny, {
193
+ pattern_id: string;
194
+ }, {
195
+ pattern_id: string;
196
+ }>;
197
+ } & {
198
+ metric: z.ZodLiteral<"demand_by_pattern_by_month">;
199
+ }, "strip", z.ZodTypeAny, {
200
+ properties: {
201
+ pattern_id: string;
202
+ };
203
+ generated_at: Date;
204
+ metric: "demand_by_pattern_by_month";
205
+ data: Record<string, {
206
+ qty: number;
207
+ }>;
208
+ description?: string | undefined;
209
+ }, {
210
+ properties: {
211
+ pattern_id: string;
212
+ };
213
+ generated_at: Date;
214
+ metric: "demand_by_pattern_by_month";
215
+ data: Record<string, {
216
+ qty: number;
217
+ }>;
218
+ description?: string | undefined;
219
+ }>, z.ZodObject<{
220
+ description: z.ZodOptional<z.ZodString>;
221
+ generated_at: z.ZodDate;
222
+ properties: z.ZodObject<{
223
+ pattern_id: z.ZodString;
224
+ }, "strip", z.ZodTypeAny, {
225
+ pattern_id: string;
226
+ }, {
227
+ pattern_id: string;
228
+ }>;
229
+ } & {
230
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
231
+ day_type: z.ZodEnum<["1", "2", "3"]>;
232
+ holiday: z.ZodEnum<["0", "1"]>;
233
+ notes: z.ZodNullable<z.ZodString>;
234
+ period: z.ZodEnum<["1", "2", "3"]>;
235
+ qty: z.ZodNumber;
236
+ }, "strip", z.ZodTypeAny, {
237
+ qty: number;
238
+ day_type: "1" | "2" | "3";
239
+ holiday: "0" | "1";
240
+ notes: string | null;
241
+ period: "1" | "2" | "3";
242
+ }, {
243
+ qty: number;
244
+ day_type: "1" | "2" | "3";
245
+ holiday: "0" | "1";
246
+ notes: string | null;
247
+ period: "1" | "2" | "3";
248
+ }>>;
249
+ metric: z.ZodLiteral<"demand_by_pattern_by_day">;
250
+ }, "strip", z.ZodTypeAny, {
251
+ properties: {
252
+ pattern_id: string;
253
+ };
254
+ generated_at: Date;
255
+ metric: "demand_by_pattern_by_day";
256
+ data: Record<string, {
257
+ qty: number;
258
+ day_type: "1" | "2" | "3";
259
+ holiday: "0" | "1";
260
+ notes: string | null;
261
+ period: "1" | "2" | "3";
262
+ }>;
263
+ description?: string | undefined;
264
+ }, {
265
+ properties: {
266
+ pattern_id: string;
267
+ };
268
+ generated_at: Date;
269
+ metric: "demand_by_pattern_by_day";
270
+ data: Record<string, {
271
+ qty: number;
272
+ day_type: "1" | "2" | "3";
273
+ holiday: "0" | "1";
274
+ notes: string | null;
275
+ period: "1" | "2" | "3";
276
+ }>;
277
+ description?: string | undefined;
278
+ }>, z.ZodObject<{
279
+ description: z.ZodOptional<z.ZodString>;
280
+ generated_at: z.ZodDate;
281
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
282
+ qty: z.ZodNumber;
283
+ }, "strip", z.ZodTypeAny, {
284
+ qty: number;
285
+ }, {
286
+ qty: number;
287
+ }>>;
288
+ properties: z.ZodObject<{
289
+ hour: z.ZodNumber;
290
+ line_id: z.ZodString;
291
+ minute: z.ZodNumber;
292
+ pattern_id: z.ZodString;
293
+ }, "strip", z.ZodTypeAny, {
294
+ line_id: string;
295
+ pattern_id: string;
296
+ hour: number;
297
+ minute: number;
298
+ }, {
299
+ line_id: string;
300
+ pattern_id: string;
301
+ hour: number;
302
+ minute: number;
303
+ }>;
304
+ } & {
305
+ metric: z.ZodLiteral<"demand_by_pattern_hour_by_year">;
306
+ }, "strip", z.ZodTypeAny, {
307
+ properties: {
308
+ line_id: string;
309
+ pattern_id: string;
310
+ hour: number;
311
+ minute: number;
312
+ };
313
+ generated_at: Date;
314
+ metric: "demand_by_pattern_hour_by_year";
315
+ data: Record<string, {
316
+ qty: number;
317
+ }>;
318
+ description?: string | undefined;
319
+ }, {
320
+ properties: {
321
+ line_id: string;
322
+ pattern_id: string;
323
+ hour: number;
324
+ minute: number;
325
+ };
326
+ generated_at: Date;
327
+ metric: "demand_by_pattern_hour_by_year";
328
+ data: Record<string, {
329
+ qty: number;
330
+ }>;
331
+ description?: string | undefined;
332
+ }>, z.ZodObject<{
333
+ description: z.ZodOptional<z.ZodString>;
334
+ generated_at: z.ZodDate;
335
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
336
+ qty: z.ZodNumber;
337
+ }, "strip", z.ZodTypeAny, {
338
+ qty: number;
339
+ }, {
340
+ qty: number;
341
+ }>>;
342
+ properties: z.ZodObject<{
343
+ hour: z.ZodNumber;
344
+ line_id: z.ZodString;
345
+ minute: z.ZodNumber;
346
+ pattern_id: z.ZodString;
347
+ }, "strip", z.ZodTypeAny, {
348
+ line_id: string;
349
+ pattern_id: string;
350
+ hour: number;
351
+ minute: number;
352
+ }, {
353
+ line_id: string;
354
+ pattern_id: string;
355
+ hour: number;
356
+ minute: number;
357
+ }>;
358
+ } & {
359
+ metric: z.ZodLiteral<"demand_by_pattern_hour_by_month">;
360
+ }, "strip", z.ZodTypeAny, {
361
+ properties: {
362
+ line_id: string;
363
+ pattern_id: string;
364
+ hour: number;
365
+ minute: number;
366
+ };
367
+ generated_at: Date;
368
+ metric: "demand_by_pattern_hour_by_month";
369
+ data: Record<string, {
370
+ qty: number;
371
+ }>;
372
+ description?: string | undefined;
373
+ }, {
374
+ properties: {
375
+ line_id: string;
376
+ pattern_id: string;
377
+ hour: number;
378
+ minute: number;
379
+ };
380
+ generated_at: Date;
381
+ metric: "demand_by_pattern_hour_by_month";
382
+ data: Record<string, {
383
+ qty: number;
384
+ }>;
385
+ description?: string | undefined;
386
+ }>, z.ZodObject<{
387
+ description: z.ZodOptional<z.ZodString>;
388
+ generated_at: z.ZodDate;
389
+ properties: z.ZodObject<{
390
+ hour: z.ZodNumber;
391
+ line_id: z.ZodString;
392
+ minute: z.ZodNumber;
393
+ pattern_id: z.ZodString;
394
+ }, "strip", z.ZodTypeAny, {
395
+ line_id: string;
396
+ pattern_id: string;
397
+ hour: number;
398
+ minute: number;
399
+ }, {
400
+ line_id: string;
401
+ pattern_id: string;
402
+ hour: number;
403
+ minute: number;
404
+ }>;
405
+ } & {
406
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
407
+ day_type: z.ZodEnum<["1", "2", "3"]>;
408
+ holiday: z.ZodEnum<["0", "1"]>;
409
+ notes: z.ZodNullable<z.ZodString>;
410
+ period: z.ZodEnum<["1", "2", "3"]>;
411
+ qty: z.ZodNumber;
412
+ }, "strip", z.ZodTypeAny, {
413
+ qty: number;
414
+ day_type: "1" | "2" | "3";
415
+ holiday: "0" | "1";
416
+ notes: string | null;
417
+ period: "1" | "2" | "3";
418
+ }, {
419
+ qty: number;
420
+ day_type: "1" | "2" | "3";
421
+ holiday: "0" | "1";
422
+ notes: string | null;
423
+ period: "1" | "2" | "3";
424
+ }>>;
425
+ metric: z.ZodLiteral<"demand_by_pattern_hour_by_day">;
426
+ }, "strip", z.ZodTypeAny, {
427
+ properties: {
428
+ line_id: string;
429
+ pattern_id: string;
430
+ hour: number;
431
+ minute: number;
432
+ };
433
+ generated_at: Date;
434
+ metric: "demand_by_pattern_hour_by_day";
435
+ data: Record<string, {
436
+ qty: number;
437
+ day_type: "1" | "2" | "3";
438
+ holiday: "0" | "1";
439
+ notes: string | null;
440
+ period: "1" | "2" | "3";
441
+ }>;
442
+ description?: string | undefined;
443
+ }, {
444
+ properties: {
445
+ line_id: string;
446
+ pattern_id: string;
447
+ hour: number;
448
+ minute: number;
449
+ };
450
+ generated_at: Date;
451
+ metric: "demand_by_pattern_hour_by_day";
452
+ data: Record<string, {
453
+ qty: number;
454
+ day_type: "1" | "2" | "3";
455
+ holiday: "0" | "1";
456
+ notes: string | null;
457
+ period: "1" | "2" | "3";
458
+ }>;
459
+ description?: string | undefined;
460
+ }>, z.ZodObject<{
461
+ description: z.ZodOptional<z.ZodString>;
462
+ generated_at: z.ZodDate;
463
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
464
+ qty: z.ZodNumber;
465
+ }, "strip", z.ZodTypeAny, {
466
+ qty: number;
467
+ }, {
468
+ qty: number;
469
+ }>>;
470
+ properties: z.ZodObject<{
471
+ agency_id: z.ZodString;
472
+ }, "strip", z.ZodTypeAny, {
473
+ agency_id: string;
474
+ }, {
475
+ agency_id: string;
476
+ }>;
477
+ } & {
478
+ metric: z.ZodLiteral<"demand_by_agency_by_year">;
479
+ }, "strip", z.ZodTypeAny, {
480
+ properties: {
481
+ agency_id: string;
482
+ };
483
+ generated_at: Date;
484
+ metric: "demand_by_agency_by_year";
485
+ data: Record<string, {
486
+ qty: number;
487
+ }>;
488
+ description?: string | undefined;
489
+ }, {
490
+ properties: {
491
+ agency_id: string;
492
+ };
493
+ generated_at: Date;
494
+ metric: "demand_by_agency_by_year";
495
+ data: Record<string, {
496
+ qty: number;
497
+ }>;
498
+ description?: string | undefined;
499
+ }>, z.ZodObject<{
500
+ description: z.ZodOptional<z.ZodString>;
501
+ generated_at: z.ZodDate;
502
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
503
+ qty: z.ZodNumber;
504
+ }, "strip", z.ZodTypeAny, {
505
+ qty: number;
506
+ }, {
507
+ qty: number;
508
+ }>>;
509
+ properties: z.ZodObject<{
510
+ agency_id: z.ZodString;
511
+ }, "strip", z.ZodTypeAny, {
512
+ agency_id: string;
513
+ }, {
514
+ agency_id: string;
515
+ }>;
516
+ } & {
517
+ metric: z.ZodLiteral<"demand_by_agency_by_month">;
518
+ }, "strip", z.ZodTypeAny, {
519
+ properties: {
520
+ agency_id: string;
521
+ };
522
+ generated_at: Date;
523
+ metric: "demand_by_agency_by_month";
524
+ data: Record<string, {
525
+ qty: number;
526
+ }>;
527
+ description?: string | undefined;
528
+ }, {
529
+ properties: {
530
+ agency_id: string;
531
+ };
532
+ generated_at: Date;
533
+ metric: "demand_by_agency_by_month";
534
+ data: Record<string, {
535
+ qty: number;
536
+ }>;
537
+ description?: string | undefined;
538
+ }>, z.ZodObject<{
539
+ description: z.ZodOptional<z.ZodString>;
540
+ generated_at: z.ZodDate;
541
+ properties: z.ZodObject<{
542
+ agency_id: z.ZodString;
543
+ }, "strip", z.ZodTypeAny, {
544
+ agency_id: string;
545
+ }, {
546
+ agency_id: string;
547
+ }>;
548
+ } & {
549
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
550
+ day_type: z.ZodEnum<["1", "2", "3"]>;
551
+ holiday: z.ZodEnum<["0", "1"]>;
552
+ notes: z.ZodNullable<z.ZodString>;
553
+ period: z.ZodEnum<["1", "2", "3"]>;
554
+ qty: z.ZodNumber;
555
+ }, "strip", z.ZodTypeAny, {
556
+ qty: number;
557
+ day_type: "1" | "2" | "3";
558
+ holiday: "0" | "1";
559
+ notes: string | null;
560
+ period: "1" | "2" | "3";
561
+ }, {
562
+ qty: number;
563
+ day_type: "1" | "2" | "3";
564
+ holiday: "0" | "1";
565
+ notes: string | null;
566
+ period: "1" | "2" | "3";
567
+ }>>;
568
+ metric: z.ZodLiteral<"demand_by_agency_by_day">;
569
+ }, "strip", z.ZodTypeAny, {
570
+ properties: {
571
+ agency_id: string;
572
+ };
573
+ generated_at: Date;
574
+ metric: "demand_by_agency_by_day";
575
+ data: Record<string, {
576
+ qty: number;
577
+ day_type: "1" | "2" | "3";
578
+ holiday: "0" | "1";
579
+ notes: string | null;
580
+ period: "1" | "2" | "3";
581
+ }>;
582
+ description?: string | undefined;
583
+ }, {
584
+ properties: {
585
+ agency_id: string;
586
+ };
587
+ generated_at: Date;
588
+ metric: "demand_by_agency_by_day";
589
+ data: Record<string, {
590
+ qty: number;
591
+ day_type: "1" | "2" | "3";
592
+ holiday: "0" | "1";
593
+ notes: string | null;
594
+ period: "1" | "2" | "3";
595
+ }>;
596
+ description?: string | undefined;
597
+ }>, z.ZodObject<{
598
+ description: z.ZodOptional<z.ZodString>;
599
+ generated_at: z.ZodDate;
600
+ properties: z.ZodObject<{
601
+ agency_id: z.ZodString;
602
+ }, "strip", z.ZodTypeAny, {
603
+ agency_id: string;
604
+ }, {
605
+ agency_id: string;
606
+ }>;
607
+ } & {
608
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
609
+ day_type: z.ZodEnum<["1", "2", "3"]>;
610
+ holiday: z.ZodEnum<["0", "1"]>;
611
+ notes: z.ZodNullable<z.ZodString>;
612
+ period: z.ZodEnum<["1", "2", "3"]>;
613
+ products: z.ZodRecord<z.ZodString, z.ZodNumber>;
614
+ qty: z.ZodNumber;
615
+ }, "strip", z.ZodTypeAny, {
616
+ qty: number;
617
+ day_type: "1" | "2" | "3";
618
+ holiday: "0" | "1";
619
+ notes: string | null;
620
+ period: "1" | "2" | "3";
621
+ products: Record<string, number>;
622
+ }, {
623
+ qty: number;
624
+ day_type: "1" | "2" | "3";
625
+ holiday: "0" | "1";
626
+ notes: string | null;
627
+ period: "1" | "2" | "3";
628
+ products: Record<string, number>;
629
+ }>>;
630
+ metric: z.ZodLiteral<"demand_by_agency_by_day_by_product">;
631
+ }, "strip", z.ZodTypeAny, {
632
+ properties: {
633
+ agency_id: string;
634
+ };
635
+ generated_at: Date;
636
+ metric: "demand_by_agency_by_day_by_product";
637
+ data: Record<string, {
638
+ qty: number;
639
+ day_type: "1" | "2" | "3";
640
+ holiday: "0" | "1";
641
+ notes: string | null;
642
+ period: "1" | "2" | "3";
643
+ products: Record<string, number>;
644
+ }>;
645
+ description?: string | undefined;
646
+ }, {
647
+ properties: {
648
+ agency_id: string;
649
+ };
650
+ generated_at: Date;
651
+ metric: "demand_by_agency_by_day_by_product";
652
+ data: Record<string, {
653
+ qty: number;
654
+ day_type: "1" | "2" | "3";
655
+ holiday: "0" | "1";
656
+ notes: string | null;
657
+ period: "1" | "2" | "3";
658
+ products: Record<string, number>;
659
+ }>;
660
+ description?: string | undefined;
661
+ }>, z.ZodObject<{
662
+ description: z.ZodOptional<z.ZodString>;
663
+ generated_at: z.ZodDate;
664
+ } & {
665
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
666
+ day_type: z.ZodEnum<["1", "2", "3"]>;
667
+ holiday: z.ZodEnum<["0", "1"]>;
668
+ notes: z.ZodNullable<z.ZodString>;
669
+ period: z.ZodEnum<["1", "2", "3"]>;
670
+ qty: z.ZodNumber;
671
+ }, "strip", z.ZodTypeAny, {
672
+ qty: number;
673
+ day_type: "1" | "2" | "3";
674
+ holiday: "0" | "1";
675
+ notes: string | null;
676
+ period: "1" | "2" | "3";
677
+ }, {
678
+ qty: number;
679
+ day_type: "1" | "2" | "3";
680
+ holiday: "0" | "1";
681
+ notes: string | null;
682
+ period: "1" | "2" | "3";
683
+ }>>;
684
+ metric: z.ZodLiteral<"demand_by_product_by_agency_by_day">;
685
+ properties: z.ZodObject<{
686
+ agency_id: z.ZodString;
687
+ product_id: z.ZodString;
688
+ }, "strip", z.ZodTypeAny, {
689
+ agency_id: string;
690
+ product_id: string;
691
+ }, {
692
+ agency_id: string;
693
+ product_id: string;
694
+ }>;
695
+ }, "strip", z.ZodTypeAny, {
696
+ properties: {
697
+ agency_id: string;
698
+ product_id: string;
699
+ };
700
+ generated_at: Date;
701
+ metric: "demand_by_product_by_agency_by_day";
702
+ data: Record<string, {
703
+ qty: number;
704
+ day_type: "1" | "2" | "3";
705
+ holiday: "0" | "1";
706
+ notes: string | null;
707
+ period: "1" | "2" | "3";
708
+ }>;
709
+ description?: string | undefined;
710
+ }, {
711
+ properties: {
712
+ agency_id: string;
713
+ product_id: string;
714
+ };
715
+ generated_at: Date;
716
+ metric: "demand_by_product_by_agency_by_day";
717
+ data: Record<string, {
718
+ qty: number;
719
+ day_type: "1" | "2" | "3";
720
+ holiday: "0" | "1";
721
+ notes: string | null;
722
+ period: "1" | "2" | "3";
723
+ }>;
724
+ description?: string | undefined;
725
+ }>, z.ZodObject<{
726
+ description: z.ZodOptional<z.ZodString>;
727
+ generated_at: z.ZodDate;
728
+ } & {
729
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
730
+ qty: z.ZodNumber;
731
+ }, "strip", z.ZodTypeAny, {
732
+ qty: number;
733
+ }, {
734
+ qty: number;
735
+ }>>;
736
+ metric: z.ZodLiteral<"demand_by_product_by_agency_by_month">;
737
+ properties: z.ZodObject<{
738
+ agency_id: z.ZodString;
739
+ product_id: z.ZodString;
740
+ }, "strip", z.ZodTypeAny, {
741
+ agency_id: string;
742
+ product_id: string;
743
+ }, {
744
+ agency_id: string;
745
+ product_id: string;
746
+ }>;
747
+ }, "strip", z.ZodTypeAny, {
748
+ properties: {
749
+ agency_id: string;
750
+ product_id: string;
751
+ };
752
+ generated_at: Date;
753
+ metric: "demand_by_product_by_agency_by_month";
754
+ data: Record<string, {
755
+ qty: number;
756
+ }>;
757
+ description?: string | undefined;
758
+ }, {
759
+ properties: {
760
+ agency_id: string;
761
+ product_id: string;
762
+ };
763
+ generated_at: Date;
764
+ metric: "demand_by_product_by_agency_by_month";
765
+ data: Record<string, {
766
+ qty: number;
767
+ }>;
768
+ description?: string | undefined;
769
+ }>, z.ZodObject<{
770
+ description: z.ZodOptional<z.ZodString>;
771
+ generated_at: z.ZodDate;
772
+ } & {
773
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
774
+ qty: z.ZodNumber;
775
+ }, "strip", z.ZodTypeAny, {
776
+ qty: number;
777
+ }, {
778
+ qty: number;
779
+ }>>;
780
+ metric: z.ZodLiteral<"demand_by_product_by_agency_by_year">;
781
+ properties: z.ZodObject<{
782
+ agency_id: z.ZodString;
783
+ product_id: z.ZodString;
784
+ }, "strip", z.ZodTypeAny, {
785
+ agency_id: string;
786
+ product_id: string;
787
+ }, {
788
+ agency_id: string;
789
+ product_id: string;
790
+ }>;
791
+ }, "strip", z.ZodTypeAny, {
792
+ properties: {
793
+ agency_id: string;
794
+ product_id: string;
795
+ };
796
+ generated_at: Date;
797
+ metric: "demand_by_product_by_agency_by_year";
798
+ data: Record<string, {
799
+ qty: number;
800
+ }>;
801
+ description?: string | undefined;
802
+ }, {
803
+ properties: {
804
+ agency_id: string;
805
+ product_id: string;
806
+ };
807
+ generated_at: Date;
808
+ metric: "demand_by_product_by_agency_by_year";
809
+ data: Record<string, {
810
+ qty: number;
811
+ }>;
812
+ description?: string | undefined;
813
+ }>, z.ZodObject<{
814
+ description: z.ZodOptional<z.ZodString>;
815
+ generated_at: z.ZodDate;
816
+ } & {
817
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
818
+ day_type: z.ZodEnum<["1", "2", "3"]>;
819
+ holiday: z.ZodEnum<["0", "1"]>;
820
+ notes: z.ZodNullable<z.ZodString>;
821
+ period: z.ZodEnum<["1", "2", "3"]>;
822
+ qty: z.ZodNumber;
823
+ }, "strip", z.ZodTypeAny, {
824
+ qty: number;
825
+ day_type: "1" | "2" | "3";
826
+ holiday: "0" | "1";
827
+ notes: string | null;
828
+ period: "1" | "2" | "3";
829
+ }, {
830
+ qty: number;
831
+ day_type: "1" | "2" | "3";
832
+ holiday: "0" | "1";
833
+ notes: string | null;
834
+ period: "1" | "2" | "3";
835
+ }>>;
836
+ metric: z.ZodLiteral<"demand_by_product_by_line_by_day">;
837
+ properties: z.ZodObject<{
838
+ line_id: z.ZodString;
839
+ product_id: z.ZodString;
840
+ }, "strip", z.ZodTypeAny, {
841
+ line_id: string;
842
+ product_id: string;
843
+ }, {
844
+ line_id: string;
845
+ product_id: string;
846
+ }>;
847
+ }, "strip", z.ZodTypeAny, {
848
+ properties: {
849
+ line_id: string;
850
+ product_id: string;
851
+ };
852
+ generated_at: Date;
853
+ metric: "demand_by_product_by_line_by_day";
854
+ data: Record<string, {
855
+ qty: number;
856
+ day_type: "1" | "2" | "3";
857
+ holiday: "0" | "1";
858
+ notes: string | null;
859
+ period: "1" | "2" | "3";
860
+ }>;
861
+ description?: string | undefined;
862
+ }, {
863
+ properties: {
864
+ line_id: string;
865
+ product_id: string;
866
+ };
867
+ generated_at: Date;
868
+ metric: "demand_by_product_by_line_by_day";
869
+ data: Record<string, {
870
+ qty: number;
871
+ day_type: "1" | "2" | "3";
872
+ holiday: "0" | "1";
873
+ notes: string | null;
874
+ period: "1" | "2" | "3";
875
+ }>;
876
+ description?: string | undefined;
877
+ }>, z.ZodObject<{
878
+ description: z.ZodOptional<z.ZodString>;
879
+ generated_at: z.ZodDate;
880
+ } & {
881
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
882
+ qty: z.ZodNumber;
883
+ }, "strip", z.ZodTypeAny, {
884
+ qty: number;
885
+ }, {
886
+ qty: number;
887
+ }>>;
888
+ metric: z.ZodLiteral<"demand_by_product_by_line_by_month">;
889
+ properties: z.ZodObject<{
890
+ line_id: z.ZodString;
891
+ product_id: z.ZodString;
892
+ }, "strip", z.ZodTypeAny, {
893
+ line_id: string;
894
+ product_id: string;
895
+ }, {
896
+ line_id: string;
897
+ product_id: string;
898
+ }>;
899
+ }, "strip", z.ZodTypeAny, {
900
+ properties: {
901
+ line_id: string;
902
+ product_id: string;
903
+ };
904
+ generated_at: Date;
905
+ metric: "demand_by_product_by_line_by_month";
906
+ data: Record<string, {
907
+ qty: number;
908
+ }>;
909
+ description?: string | undefined;
910
+ }, {
911
+ properties: {
912
+ line_id: string;
913
+ product_id: string;
914
+ };
915
+ generated_at: Date;
916
+ metric: "demand_by_product_by_line_by_month";
917
+ data: Record<string, {
918
+ qty: number;
919
+ }>;
920
+ description?: string | undefined;
921
+ }>, z.ZodObject<{
922
+ description: z.ZodOptional<z.ZodString>;
923
+ generated_at: z.ZodDate;
924
+ } & {
925
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
926
+ qty: z.ZodNumber;
927
+ }, "strip", z.ZodTypeAny, {
928
+ qty: number;
929
+ }, {
930
+ qty: number;
931
+ }>>;
932
+ metric: z.ZodLiteral<"demand_by_product_by_line_by_year">;
933
+ properties: z.ZodObject<{
934
+ line_id: z.ZodString;
935
+ product_id: z.ZodString;
936
+ }, "strip", z.ZodTypeAny, {
937
+ line_id: string;
938
+ product_id: string;
939
+ }, {
940
+ line_id: string;
941
+ product_id: string;
942
+ }>;
943
+ }, "strip", z.ZodTypeAny, {
944
+ properties: {
945
+ line_id: string;
946
+ product_id: string;
947
+ };
948
+ generated_at: Date;
949
+ metric: "demand_by_product_by_line_by_year";
950
+ data: Record<string, {
951
+ qty: number;
952
+ }>;
953
+ description?: string | undefined;
954
+ }, {
955
+ properties: {
956
+ line_id: string;
957
+ product_id: string;
958
+ };
959
+ generated_at: Date;
960
+ metric: "demand_by_product_by_line_by_year";
961
+ data: Record<string, {
962
+ qty: number;
963
+ }>;
964
+ description?: string | undefined;
965
+ }>, z.ZodObject<{
966
+ description: z.ZodOptional<z.ZodString>;
967
+ generated_at: z.ZodDate;
968
+ } & {
969
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
970
+ day_type: z.ZodEnum<["1", "2", "3"]>;
971
+ holiday: z.ZodBoolean;
972
+ notes: z.ZodNullable<z.ZodString>;
973
+ period: z.ZodEnum<["1", "2", "3"]>;
974
+ qty: z.ZodNumber;
975
+ }, "strip", z.ZodTypeAny, {
976
+ qty: number;
977
+ day_type: "1" | "2" | "3";
978
+ holiday: boolean;
979
+ notes: string | null;
980
+ period: "1" | "2" | "3";
981
+ }, {
982
+ qty: number;
983
+ day_type: "1" | "2" | "3";
984
+ holiday: boolean;
985
+ notes: string | null;
986
+ period: "1" | "2" | "3";
987
+ }>>;
988
+ metric: z.ZodLiteral<"demand_by_product_by_pattern_by_day">;
989
+ properties: z.ZodObject<{
990
+ pattern_id: z.ZodString;
991
+ product_id: z.ZodString;
992
+ }, "strip", z.ZodTypeAny, {
993
+ pattern_id: string;
994
+ product_id: string;
995
+ }, {
996
+ pattern_id: string;
997
+ product_id: string;
998
+ }>;
999
+ }, "strip", z.ZodTypeAny, {
1000
+ properties: {
1001
+ pattern_id: string;
1002
+ product_id: string;
1003
+ };
1004
+ generated_at: Date;
1005
+ metric: "demand_by_product_by_pattern_by_day";
1006
+ data: Record<string, {
1007
+ qty: number;
1008
+ day_type: "1" | "2" | "3";
1009
+ holiday: boolean;
1010
+ notes: string | null;
1011
+ period: "1" | "2" | "3";
1012
+ }>;
1013
+ description?: string | undefined;
1014
+ }, {
1015
+ properties: {
1016
+ pattern_id: string;
1017
+ product_id: string;
1018
+ };
1019
+ generated_at: Date;
1020
+ metric: "demand_by_product_by_pattern_by_day";
1021
+ data: Record<string, {
1022
+ qty: number;
1023
+ day_type: "1" | "2" | "3";
1024
+ holiday: boolean;
1025
+ notes: string | null;
1026
+ period: "1" | "2" | "3";
1027
+ }>;
1028
+ description?: string | undefined;
1029
+ }>, z.ZodObject<{
1030
+ description: z.ZodOptional<z.ZodString>;
1031
+ generated_at: z.ZodDate;
1032
+ } & {
1033
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1034
+ qty: z.ZodNumber;
1035
+ }, "strip", z.ZodTypeAny, {
1036
+ qty: number;
1037
+ }, {
1038
+ qty: number;
1039
+ }>>;
1040
+ metric: z.ZodLiteral<"demand_by_product_by_pattern_by_month">;
1041
+ properties: z.ZodObject<{
1042
+ pattern_id: z.ZodString;
1043
+ product_id: z.ZodString;
1044
+ }, "strip", z.ZodTypeAny, {
1045
+ pattern_id: string;
1046
+ product_id: string;
1047
+ }, {
1048
+ pattern_id: string;
1049
+ product_id: string;
1050
+ }>;
1051
+ }, "strip", z.ZodTypeAny, {
1052
+ properties: {
1053
+ pattern_id: string;
1054
+ product_id: string;
1055
+ };
1056
+ generated_at: Date;
1057
+ metric: "demand_by_product_by_pattern_by_month";
1058
+ data: Record<string, {
1059
+ qty: number;
1060
+ }>;
1061
+ description?: string | undefined;
1062
+ }, {
1063
+ properties: {
1064
+ pattern_id: string;
1065
+ product_id: string;
1066
+ };
1067
+ generated_at: Date;
1068
+ metric: "demand_by_product_by_pattern_by_month";
1069
+ data: Record<string, {
1070
+ qty: number;
1071
+ }>;
1072
+ description?: string | undefined;
1073
+ }>, z.ZodObject<{
1074
+ description: z.ZodOptional<z.ZodString>;
1075
+ generated_at: z.ZodDate;
1076
+ } & {
1077
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1078
+ qty: z.ZodNumber;
1079
+ }, "strip", z.ZodTypeAny, {
1080
+ qty: number;
1081
+ }, {
1082
+ qty: number;
1083
+ }>>;
1084
+ metric: z.ZodLiteral<"demand_by_product_by_pattern_by_year">;
1085
+ properties: z.ZodObject<{
1086
+ pattern_id: z.ZodString;
1087
+ product_id: z.ZodString;
1088
+ }, "strip", z.ZodTypeAny, {
1089
+ pattern_id: string;
1090
+ product_id: string;
1091
+ }, {
1092
+ pattern_id: string;
1093
+ product_id: string;
1094
+ }>;
1095
+ }, "strip", z.ZodTypeAny, {
1096
+ properties: {
1097
+ pattern_id: string;
1098
+ product_id: string;
1099
+ };
1100
+ generated_at: Date;
1101
+ metric: "demand_by_product_by_pattern_by_year";
1102
+ data: Record<string, {
1103
+ qty: number;
1104
+ }>;
1105
+ description?: string | undefined;
1106
+ }, {
1107
+ properties: {
1108
+ pattern_id: string;
1109
+ product_id: string;
1110
+ };
1111
+ generated_at: Date;
1112
+ metric: "demand_by_product_by_pattern_by_year";
1113
+ data: Record<string, {
1114
+ qty: number;
1115
+ }>;
1116
+ description?: string | undefined;
1117
+ }>, z.ZodObject<{
1118
+ description: z.ZodOptional<z.ZodString>;
1119
+ generated_at: z.ZodDate;
1120
+ } & {
1121
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1122
+ day_type: z.ZodEnum<["1", "2", "3"]>;
1123
+ holiday: z.ZodBoolean;
1124
+ notes: z.ZodNullable<z.ZodString>;
1125
+ period: z.ZodEnum<["1", "2", "3"]>;
1126
+ qty: z.ZodNumber;
1127
+ }, "strip", z.ZodTypeAny, {
1128
+ qty: number;
1129
+ day_type: "1" | "2" | "3";
1130
+ holiday: boolean;
1131
+ notes: string | null;
1132
+ period: "1" | "2" | "3";
1133
+ }, {
1134
+ qty: number;
1135
+ day_type: "1" | "2" | "3";
1136
+ holiday: boolean;
1137
+ notes: string | null;
1138
+ period: "1" | "2" | "3";
1139
+ }>>;
1140
+ metric: z.ZodLiteral<"demand_by_category_by_agency_by_day">;
1141
+ properties: z.ZodObject<{
1142
+ agency_id: z.ZodString;
1143
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1144
+ }, "strip", z.ZodTypeAny, {
1145
+ agency_id: string;
1146
+ category: "on_board_sale" | "prepaid" | "subscription";
1147
+ }, {
1148
+ agency_id: string;
1149
+ category: "on_board_sale" | "prepaid" | "subscription";
1150
+ }>;
1151
+ }, "strip", z.ZodTypeAny, {
1152
+ properties: {
1153
+ agency_id: string;
1154
+ category: "on_board_sale" | "prepaid" | "subscription";
1155
+ };
1156
+ generated_at: Date;
1157
+ metric: "demand_by_category_by_agency_by_day";
1158
+ data: Record<string, {
1159
+ qty: number;
1160
+ day_type: "1" | "2" | "3";
1161
+ holiday: boolean;
1162
+ notes: string | null;
1163
+ period: "1" | "2" | "3";
1164
+ }>;
1165
+ description?: string | undefined;
1166
+ }, {
1167
+ properties: {
1168
+ agency_id: string;
1169
+ category: "on_board_sale" | "prepaid" | "subscription";
1170
+ };
1171
+ generated_at: Date;
1172
+ metric: "demand_by_category_by_agency_by_day";
1173
+ data: Record<string, {
1174
+ qty: number;
1175
+ day_type: "1" | "2" | "3";
1176
+ holiday: boolean;
1177
+ notes: string | null;
1178
+ period: "1" | "2" | "3";
1179
+ }>;
1180
+ description?: string | undefined;
1181
+ }>, z.ZodObject<{
1182
+ description: z.ZodOptional<z.ZodString>;
1183
+ generated_at: z.ZodDate;
1184
+ } & {
1185
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1186
+ qty: z.ZodNumber;
1187
+ }, "strip", z.ZodTypeAny, {
1188
+ qty: number;
1189
+ }, {
1190
+ qty: number;
1191
+ }>>;
1192
+ metric: z.ZodLiteral<"demand_by_category_by_agency_by_month">;
1193
+ properties: z.ZodObject<{
1194
+ agency_id: z.ZodString;
1195
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1196
+ }, "strip", z.ZodTypeAny, {
1197
+ agency_id: string;
1198
+ category: "on_board_sale" | "prepaid" | "subscription";
1199
+ }, {
1200
+ agency_id: string;
1201
+ category: "on_board_sale" | "prepaid" | "subscription";
1202
+ }>;
1203
+ }, "strip", z.ZodTypeAny, {
1204
+ properties: {
1205
+ agency_id: string;
1206
+ category: "on_board_sale" | "prepaid" | "subscription";
1207
+ };
1208
+ generated_at: Date;
1209
+ metric: "demand_by_category_by_agency_by_month";
1210
+ data: Record<string, {
1211
+ qty: number;
1212
+ }>;
1213
+ description?: string | undefined;
1214
+ }, {
1215
+ properties: {
1216
+ agency_id: string;
1217
+ category: "on_board_sale" | "prepaid" | "subscription";
1218
+ };
1219
+ generated_at: Date;
1220
+ metric: "demand_by_category_by_agency_by_month";
1221
+ data: Record<string, {
1222
+ qty: number;
1223
+ }>;
1224
+ description?: string | undefined;
1225
+ }>, z.ZodObject<{
1226
+ description: z.ZodOptional<z.ZodString>;
1227
+ generated_at: z.ZodDate;
1228
+ } & {
1229
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1230
+ qty: z.ZodNumber;
1231
+ }, "strip", z.ZodTypeAny, {
1232
+ qty: number;
1233
+ }, {
1234
+ qty: number;
1235
+ }>>;
1236
+ metric: z.ZodLiteral<"demand_by_category_by_agency_by_year">;
1237
+ properties: z.ZodObject<{
1238
+ agency_id: z.ZodString;
1239
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1240
+ }, "strip", z.ZodTypeAny, {
1241
+ agency_id: string;
1242
+ category: "on_board_sale" | "prepaid" | "subscription";
1243
+ }, {
1244
+ agency_id: string;
1245
+ category: "on_board_sale" | "prepaid" | "subscription";
1246
+ }>;
1247
+ }, "strip", z.ZodTypeAny, {
1248
+ properties: {
1249
+ agency_id: string;
1250
+ category: "on_board_sale" | "prepaid" | "subscription";
1251
+ };
1252
+ generated_at: Date;
1253
+ metric: "demand_by_category_by_agency_by_year";
1254
+ data: Record<string, {
1255
+ qty: number;
1256
+ }>;
1257
+ description?: string | undefined;
1258
+ }, {
1259
+ properties: {
1260
+ agency_id: string;
1261
+ category: "on_board_sale" | "prepaid" | "subscription";
1262
+ };
1263
+ generated_at: Date;
1264
+ metric: "demand_by_category_by_agency_by_year";
1265
+ data: Record<string, {
1266
+ qty: number;
1267
+ }>;
1268
+ description?: string | undefined;
1269
+ }>, z.ZodObject<{
1270
+ description: z.ZodOptional<z.ZodString>;
1271
+ generated_at: z.ZodDate;
1272
+ } & {
1273
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1274
+ day_type: z.ZodEnum<["1", "2", "3"]>;
1275
+ holiday: z.ZodBoolean;
1276
+ notes: z.ZodNullable<z.ZodString>;
1277
+ period: z.ZodEnum<["1", "2", "3"]>;
1278
+ qty: z.ZodNumber;
1279
+ }, "strip", z.ZodTypeAny, {
1280
+ qty: number;
1281
+ day_type: "1" | "2" | "3";
1282
+ holiday: boolean;
1283
+ notes: string | null;
1284
+ period: "1" | "2" | "3";
1285
+ }, {
1286
+ qty: number;
1287
+ day_type: "1" | "2" | "3";
1288
+ holiday: boolean;
1289
+ notes: string | null;
1290
+ period: "1" | "2" | "3";
1291
+ }>>;
1292
+ metric: z.ZodLiteral<"demand_by_category_by_line_by_day">;
1293
+ properties: z.ZodObject<{
1294
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1295
+ line_id: z.ZodString;
1296
+ }, "strip", z.ZodTypeAny, {
1297
+ line_id: string;
1298
+ category: "on_board_sale" | "prepaid" | "subscription";
1299
+ }, {
1300
+ line_id: string;
1301
+ category: "on_board_sale" | "prepaid" | "subscription";
1302
+ }>;
1303
+ }, "strip", z.ZodTypeAny, {
1304
+ properties: {
1305
+ line_id: string;
1306
+ category: "on_board_sale" | "prepaid" | "subscription";
1307
+ };
1308
+ generated_at: Date;
1309
+ metric: "demand_by_category_by_line_by_day";
1310
+ data: Record<string, {
1311
+ qty: number;
1312
+ day_type: "1" | "2" | "3";
1313
+ holiday: boolean;
1314
+ notes: string | null;
1315
+ period: "1" | "2" | "3";
1316
+ }>;
1317
+ description?: string | undefined;
1318
+ }, {
1319
+ properties: {
1320
+ line_id: string;
1321
+ category: "on_board_sale" | "prepaid" | "subscription";
1322
+ };
1323
+ generated_at: Date;
1324
+ metric: "demand_by_category_by_line_by_day";
1325
+ data: Record<string, {
1326
+ qty: number;
1327
+ day_type: "1" | "2" | "3";
1328
+ holiday: boolean;
1329
+ notes: string | null;
1330
+ period: "1" | "2" | "3";
1331
+ }>;
1332
+ description?: string | undefined;
1333
+ }>, z.ZodObject<{
1334
+ description: z.ZodOptional<z.ZodString>;
1335
+ generated_at: z.ZodDate;
1336
+ } & {
1337
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1338
+ qty: z.ZodNumber;
1339
+ }, "strip", z.ZodTypeAny, {
1340
+ qty: number;
1341
+ }, {
1342
+ qty: number;
1343
+ }>>;
1344
+ metric: z.ZodLiteral<"demand_by_category_by_line_by_month">;
1345
+ properties: z.ZodObject<{
1346
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1347
+ line_id: z.ZodString;
1348
+ }, "strip", z.ZodTypeAny, {
1349
+ line_id: string;
1350
+ category: "on_board_sale" | "prepaid" | "subscription";
1351
+ }, {
1352
+ line_id: string;
1353
+ category: "on_board_sale" | "prepaid" | "subscription";
1354
+ }>;
1355
+ }, "strip", z.ZodTypeAny, {
1356
+ properties: {
1357
+ line_id: string;
1358
+ category: "on_board_sale" | "prepaid" | "subscription";
1359
+ };
1360
+ generated_at: Date;
1361
+ metric: "demand_by_category_by_line_by_month";
1362
+ data: Record<string, {
1363
+ qty: number;
1364
+ }>;
1365
+ description?: string | undefined;
1366
+ }, {
1367
+ properties: {
1368
+ line_id: string;
1369
+ category: "on_board_sale" | "prepaid" | "subscription";
1370
+ };
1371
+ generated_at: Date;
1372
+ metric: "demand_by_category_by_line_by_month";
1373
+ data: Record<string, {
1374
+ qty: number;
1375
+ }>;
1376
+ description?: string | undefined;
1377
+ }>, z.ZodObject<{
1378
+ description: z.ZodOptional<z.ZodString>;
1379
+ generated_at: z.ZodDate;
1380
+ } & {
1381
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1382
+ qty: z.ZodNumber;
1383
+ }, "strip", z.ZodTypeAny, {
1384
+ qty: number;
1385
+ }, {
1386
+ qty: number;
1387
+ }>>;
1388
+ metric: z.ZodLiteral<"demand_by_category_by_line_by_year">;
1389
+ properties: z.ZodObject<{
1390
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1391
+ line_id: z.ZodString;
1392
+ }, "strip", z.ZodTypeAny, {
1393
+ line_id: string;
1394
+ category: "on_board_sale" | "prepaid" | "subscription";
1395
+ }, {
1396
+ line_id: string;
1397
+ category: "on_board_sale" | "prepaid" | "subscription";
1398
+ }>;
1399
+ }, "strip", z.ZodTypeAny, {
1400
+ properties: {
1401
+ line_id: string;
1402
+ category: "on_board_sale" | "prepaid" | "subscription";
1403
+ };
1404
+ generated_at: Date;
1405
+ metric: "demand_by_category_by_line_by_year";
1406
+ data: Record<string, {
1407
+ qty: number;
1408
+ }>;
1409
+ description?: string | undefined;
1410
+ }, {
1411
+ properties: {
1412
+ line_id: string;
1413
+ category: "on_board_sale" | "prepaid" | "subscription";
1414
+ };
1415
+ generated_at: Date;
1416
+ metric: "demand_by_category_by_line_by_year";
1417
+ data: Record<string, {
1418
+ qty: number;
1419
+ }>;
1420
+ description?: string | undefined;
1421
+ }>, z.ZodObject<{
1422
+ description: z.ZodOptional<z.ZodString>;
1423
+ generated_at: z.ZodDate;
1424
+ } & {
1425
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1426
+ day_type: z.ZodEnum<["1", "2", "3"]>;
1427
+ holiday: z.ZodBoolean;
1428
+ notes: z.ZodNullable<z.ZodString>;
1429
+ period: z.ZodEnum<["1", "2", "3"]>;
1430
+ qty: z.ZodNumber;
1431
+ }, "strip", z.ZodTypeAny, {
1432
+ qty: number;
1433
+ day_type: "1" | "2" | "3";
1434
+ holiday: boolean;
1435
+ notes: string | null;
1436
+ period: "1" | "2" | "3";
1437
+ }, {
1438
+ qty: number;
1439
+ day_type: "1" | "2" | "3";
1440
+ holiday: boolean;
1441
+ notes: string | null;
1442
+ period: "1" | "2" | "3";
1443
+ }>>;
1444
+ metric: z.ZodLiteral<"demand_by_category_by_pattern_by_day">;
1445
+ properties: z.ZodObject<{
1446
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1447
+ pattern_id: z.ZodString;
1448
+ }, "strip", z.ZodTypeAny, {
1449
+ pattern_id: string;
1450
+ category: "on_board_sale" | "prepaid" | "subscription";
1451
+ }, {
1452
+ pattern_id: string;
1453
+ category: "on_board_sale" | "prepaid" | "subscription";
1454
+ }>;
1455
+ }, "strip", z.ZodTypeAny, {
1456
+ properties: {
1457
+ pattern_id: string;
1458
+ category: "on_board_sale" | "prepaid" | "subscription";
1459
+ };
1460
+ generated_at: Date;
1461
+ metric: "demand_by_category_by_pattern_by_day";
1462
+ data: Record<string, {
1463
+ qty: number;
1464
+ day_type: "1" | "2" | "3";
1465
+ holiday: boolean;
1466
+ notes: string | null;
1467
+ period: "1" | "2" | "3";
1468
+ }>;
1469
+ description?: string | undefined;
1470
+ }, {
1471
+ properties: {
1472
+ pattern_id: string;
1473
+ category: "on_board_sale" | "prepaid" | "subscription";
1474
+ };
1475
+ generated_at: Date;
1476
+ metric: "demand_by_category_by_pattern_by_day";
1477
+ data: Record<string, {
1478
+ qty: number;
1479
+ day_type: "1" | "2" | "3";
1480
+ holiday: boolean;
1481
+ notes: string | null;
1482
+ period: "1" | "2" | "3";
1483
+ }>;
1484
+ description?: string | undefined;
1485
+ }>, z.ZodObject<{
1486
+ description: z.ZodOptional<z.ZodString>;
1487
+ generated_at: z.ZodDate;
1488
+ } & {
1489
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1490
+ qty: z.ZodNumber;
1491
+ }, "strip", z.ZodTypeAny, {
1492
+ qty: number;
1493
+ }, {
1494
+ qty: number;
1495
+ }>>;
1496
+ metric: z.ZodLiteral<"demand_by_category_by_pattern_by_month">;
1497
+ properties: z.ZodObject<{
1498
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1499
+ pattern_id: z.ZodString;
1500
+ }, "strip", z.ZodTypeAny, {
1501
+ pattern_id: string;
1502
+ category: "on_board_sale" | "prepaid" | "subscription";
1503
+ }, {
1504
+ pattern_id: string;
1505
+ category: "on_board_sale" | "prepaid" | "subscription";
1506
+ }>;
1507
+ }, "strip", z.ZodTypeAny, {
1508
+ properties: {
1509
+ pattern_id: string;
1510
+ category: "on_board_sale" | "prepaid" | "subscription";
1511
+ };
1512
+ generated_at: Date;
1513
+ metric: "demand_by_category_by_pattern_by_month";
1514
+ data: Record<string, {
1515
+ qty: number;
1516
+ }>;
1517
+ description?: string | undefined;
1518
+ }, {
1519
+ properties: {
1520
+ pattern_id: string;
1521
+ category: "on_board_sale" | "prepaid" | "subscription";
1522
+ };
1523
+ generated_at: Date;
1524
+ metric: "demand_by_category_by_pattern_by_month";
1525
+ data: Record<string, {
1526
+ qty: number;
1527
+ }>;
1528
+ description?: string | undefined;
1529
+ }>, z.ZodObject<{
1530
+ description: z.ZodOptional<z.ZodString>;
1531
+ generated_at: z.ZodDate;
1532
+ } & {
1533
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1534
+ qty: z.ZodNumber;
1535
+ }, "strip", z.ZodTypeAny, {
1536
+ qty: number;
1537
+ }, {
1538
+ qty: number;
1539
+ }>>;
1540
+ metric: z.ZodLiteral<"demand_by_category_by_pattern_by_year">;
1541
+ properties: z.ZodObject<{
1542
+ category: z.ZodEnum<["prepaid", "subscription", "on_board_sale"]>;
1543
+ pattern_id: z.ZodString;
1544
+ }, "strip", z.ZodTypeAny, {
1545
+ pattern_id: string;
1546
+ category: "on_board_sale" | "prepaid" | "subscription";
1547
+ }, {
1548
+ pattern_id: string;
1549
+ category: "on_board_sale" | "prepaid" | "subscription";
1550
+ }>;
1551
+ }, "strip", z.ZodTypeAny, {
1552
+ properties: {
1553
+ pattern_id: string;
1554
+ category: "on_board_sale" | "prepaid" | "subscription";
1555
+ };
1556
+ generated_at: Date;
1557
+ metric: "demand_by_category_by_pattern_by_year";
1558
+ data: Record<string, {
1559
+ qty: number;
1560
+ }>;
1561
+ description?: string | undefined;
1562
+ }, {
1563
+ properties: {
1564
+ pattern_id: string;
1565
+ category: "on_board_sale" | "prepaid" | "subscription";
1566
+ };
1567
+ generated_at: Date;
1568
+ metric: "demand_by_category_by_pattern_by_year";
1569
+ data: Record<string, {
1570
+ qty: number;
1571
+ }>;
1572
+ description?: string | undefined;
1573
+ }>, z.ZodObject<{
1574
+ description: z.ZodOptional<z.ZodString>;
1575
+ generated_at: z.ZodDate;
1576
+ } & {
1577
+ data: z.ZodObject<{
1578
+ agencies: z.ZodRecord<z.ZodString, z.ZodObject<{
1579
+ day: z.ZodObject<{
1580
+ date: z.ZodString;
1581
+ qty: z.ZodNumber;
1582
+ }, "strip", z.ZodTypeAny, {
1583
+ date: string;
1584
+ qty: number;
1585
+ }, {
1586
+ date: string;
1587
+ qty: number;
1588
+ }>;
1589
+ month: z.ZodObject<{
1590
+ date: z.ZodString;
1591
+ qty: z.ZodNumber;
1592
+ }, "strip", z.ZodTypeAny, {
1593
+ date: string;
1594
+ qty: number;
1595
+ }, {
1596
+ date: string;
1597
+ qty: number;
1598
+ }>;
1599
+ }, "strip", z.ZodTypeAny, {
1600
+ day: {
1601
+ date: string;
1602
+ qty: number;
1603
+ };
1604
+ month: {
1605
+ date: string;
1606
+ qty: number;
1607
+ };
1608
+ }, {
1609
+ day: {
1610
+ date: string;
1611
+ qty: number;
1612
+ };
1613
+ month: {
1614
+ date: string;
1615
+ qty: number;
1616
+ };
1617
+ }>>;
1618
+ total: z.ZodObject<{
1619
+ day: z.ZodObject<{
1620
+ date: z.ZodString;
1621
+ qty: z.ZodNumber;
1622
+ }, "strip", z.ZodTypeAny, {
1623
+ date: string;
1624
+ qty: number;
1625
+ }, {
1626
+ date: string;
1627
+ qty: number;
1628
+ }>;
1629
+ month: z.ZodObject<{
1630
+ date: z.ZodString;
1631
+ qty: z.ZodNumber;
1632
+ }, "strip", z.ZodTypeAny, {
1633
+ date: string;
1634
+ qty: number;
1635
+ }, {
1636
+ date: string;
1637
+ qty: number;
1638
+ }>;
1639
+ }, "strip", z.ZodTypeAny, {
1640
+ day: {
1641
+ date: string;
1642
+ qty: number;
1643
+ };
1644
+ month: {
1645
+ date: string;
1646
+ qty: number;
1647
+ };
1648
+ }, {
1649
+ day: {
1650
+ date: string;
1651
+ qty: number;
1652
+ };
1653
+ month: {
1654
+ date: string;
1655
+ qty: number;
1656
+ };
1657
+ }>;
1658
+ }, "strip", z.ZodTypeAny, {
1659
+ agencies: Record<string, {
1660
+ day: {
1661
+ date: string;
1662
+ qty: number;
1663
+ };
1664
+ month: {
1665
+ date: string;
1666
+ qty: number;
1667
+ };
1668
+ }>;
1669
+ total: {
1670
+ day: {
1671
+ date: string;
1672
+ qty: number;
1673
+ };
1674
+ month: {
1675
+ date: string;
1676
+ qty: number;
1677
+ };
1678
+ };
1679
+ }, {
1680
+ agencies: Record<string, {
1681
+ day: {
1682
+ date: string;
1683
+ qty: number;
1684
+ };
1685
+ month: {
1686
+ date: string;
1687
+ qty: number;
1688
+ };
1689
+ }>;
1690
+ total: {
1691
+ day: {
1692
+ date: string;
1693
+ qty: number;
1694
+ };
1695
+ month: {
1696
+ date: string;
1697
+ qty: number;
1698
+ };
1699
+ };
1700
+ }>;
1701
+ metric: z.ZodLiteral<"top_demand_by_agency">;
1702
+ }, "strip", z.ZodTypeAny, {
1703
+ generated_at: Date;
1704
+ metric: "top_demand_by_agency";
1705
+ data: {
1706
+ agencies: Record<string, {
1707
+ day: {
1708
+ date: string;
1709
+ qty: number;
1710
+ };
1711
+ month: {
1712
+ date: string;
1713
+ qty: number;
1714
+ };
1715
+ }>;
1716
+ total: {
1717
+ day: {
1718
+ date: string;
1719
+ qty: number;
1720
+ };
1721
+ month: {
1722
+ date: string;
1723
+ qty: number;
1724
+ };
1725
+ };
1726
+ };
1727
+ description?: string | undefined;
1728
+ }, {
1729
+ generated_at: Date;
1730
+ metric: "top_demand_by_agency";
1731
+ data: {
1732
+ agencies: Record<string, {
1733
+ day: {
1734
+ date: string;
1735
+ qty: number;
1736
+ };
1737
+ month: {
1738
+ date: string;
1739
+ qty: number;
1740
+ };
1741
+ }>;
1742
+ total: {
1743
+ day: {
1744
+ date: string;
1745
+ qty: number;
1746
+ };
1747
+ month: {
1748
+ date: string;
1749
+ qty: number;
1750
+ };
1751
+ };
1752
+ };
1753
+ description?: string | undefined;
1754
+ }>, z.ZodObject<{
1755
+ description: z.ZodOptional<z.ZodString>;
1756
+ generated_at: z.ZodDate;
1757
+ properties: z.ZodObject<{
1758
+ line_id: z.ZodString;
1759
+ }, "strip", z.ZodTypeAny, {
1760
+ line_id: string;
1761
+ }, {
1762
+ line_id: string;
1763
+ }>;
1764
+ } & {
1765
+ data: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodString, z.ZodObject<{
1766
+ avg: z.ZodOptional<z.ZodNumber>;
1767
+ count: z.ZodNumber;
1768
+ qty: z.ZodNumber;
1769
+ }, "strip", z.ZodTypeAny, {
1770
+ qty: number;
1771
+ count: number;
1772
+ avg?: number | undefined;
1773
+ }, {
1774
+ qty: number;
1775
+ count: number;
1776
+ avg?: number | undefined;
1777
+ }>>>;
1778
+ metric: z.ZodLiteral<"mean_demand_by_line_by_month">;
1779
+ }, "strip", z.ZodTypeAny, {
1780
+ properties: {
1781
+ line_id: string;
1782
+ };
1783
+ generated_at: Date;
1784
+ metric: "mean_demand_by_line_by_month";
1785
+ data: Record<string, Record<string, {
1786
+ qty: number;
1787
+ count: number;
1788
+ avg?: number | undefined;
1789
+ }>>;
1790
+ description?: string | undefined;
1791
+ }, {
1792
+ properties: {
1793
+ line_id: string;
1794
+ };
1795
+ generated_at: Date;
1796
+ metric: "mean_demand_by_line_by_month";
1797
+ data: Record<string, Record<string, {
1798
+ qty: number;
1799
+ count: number;
1800
+ avg?: number | undefined;
1801
+ }>>;
1802
+ description?: string | undefined;
1803
+ }>, z.ZodObject<{
1804
+ description: z.ZodOptional<z.ZodString>;
1805
+ generated_at: z.ZodDate;
1806
+ } & {
1807
+ data: z.ZodRecord<z.ZodString, z.ZodObject<{
1808
+ increase_pct: z.ZodNumber;
1809
+ qty: z.ZodNumber;
1810
+ year_avg: z.ZodNumber;
1811
+ }, "strip", z.ZodTypeAny, {
1812
+ qty: number;
1813
+ increase_pct: number;
1814
+ year_avg: number;
1815
+ }, {
1816
+ qty: number;
1817
+ increase_pct: number;
1818
+ year_avg: number;
1819
+ }>>;
1820
+ metric: z.ZodLiteral<"top_mean_demand_by_line_by_month">;
1821
+ properties: z.ZodObject<{
1822
+ year_month: z.ZodString;
1823
+ }, "strip", z.ZodTypeAny, {
1824
+ year_month: string;
1825
+ }, {
1826
+ year_month: string;
1827
+ }>;
1828
+ }, "strip", z.ZodTypeAny, {
1829
+ properties: {
1830
+ year_month: string;
1831
+ };
1832
+ generated_at: Date;
1833
+ metric: "top_mean_demand_by_line_by_month";
1834
+ data: Record<string, {
1835
+ qty: number;
1836
+ increase_pct: number;
1837
+ year_avg: number;
1838
+ }>;
1839
+ description?: string | undefined;
1840
+ }, {
1841
+ properties: {
1842
+ year_month: string;
1843
+ };
1844
+ generated_at: Date;
1845
+ metric: "top_mean_demand_by_line_by_month";
1846
+ data: Record<string, {
1847
+ qty: number;
1848
+ increase_pct: number;
1849
+ year_avg: number;
1850
+ }>;
1851
+ description?: string | undefined;
1852
+ }>, z.ZodObject<{
1853
+ description: z.ZodOptional<z.ZodString>;
1854
+ generated_at: z.ZodDate;
1855
+ } & {
1856
+ data: z.ZodObject<{
1857
+ agencies: z.ZodRecord<z.ZodString, z.ZodObject<{
1858
+ last_week: z.ZodNumber;
1859
+ now: z.ZodNumber;
1860
+ }, "strip", z.ZodTypeAny, {
1861
+ last_week: number;
1862
+ now: number;
1863
+ }, {
1864
+ last_week: number;
1865
+ now: number;
1866
+ }>>;
1867
+ total: z.ZodObject<{
1868
+ last_week: z.ZodNumber;
1869
+ now: z.ZodNumber;
1870
+ }, "strip", z.ZodTypeAny, {
1871
+ last_week: number;
1872
+ now: number;
1873
+ }, {
1874
+ last_week: number;
1875
+ now: number;
1876
+ }>;
1877
+ }, "strip", z.ZodTypeAny, {
1878
+ agencies: Record<string, {
1879
+ last_week: number;
1880
+ now: number;
1881
+ }>;
1882
+ total: {
1883
+ last_week: number;
1884
+ now: number;
1885
+ };
1886
+ }, {
1887
+ agencies: Record<string, {
1888
+ last_week: number;
1889
+ now: number;
1890
+ }>;
1891
+ total: {
1892
+ last_week: number;
1893
+ now: number;
1894
+ };
1895
+ }>;
1896
+ metric: z.ZodLiteral<"realtime_demand">;
1897
+ }, "strip", z.ZodTypeAny, {
1898
+ generated_at: Date;
1899
+ metric: "realtime_demand";
1900
+ data: {
1901
+ agencies: Record<string, {
1902
+ last_week: number;
1903
+ now: number;
1904
+ }>;
1905
+ total: {
1906
+ last_week: number;
1907
+ now: number;
1908
+ };
1909
+ };
1910
+ description?: string | undefined;
1911
+ }, {
1912
+ generated_at: Date;
1913
+ metric: "realtime_demand";
1914
+ data: {
1915
+ agencies: Record<string, {
1916
+ last_week: number;
1917
+ now: number;
1918
+ }>;
1919
+ total: {
1920
+ last_week: number;
1921
+ now: number;
1922
+ };
1923
+ };
1924
+ description?: string | undefined;
1925
+ }>, z.ZodObject<{
1926
+ description: z.ZodOptional<z.ZodString>;
1927
+ generated_at: z.ZodDate;
1928
+ } & {
1929
+ data: z.ZodObject<{
1930
+ agencies: z.ZodRecord<z.ZodString, z.ZodObject<{
1931
+ accomplished_rides: z.ZodObject<{
1932
+ last_week: z.ZodNumber;
1933
+ now: z.ZodNumber;
1934
+ }, "strip", z.ZodTypeAny, {
1935
+ last_week: number;
1936
+ now: number;
1937
+ }, {
1938
+ last_week: number;
1939
+ now: number;
1940
+ }>;
1941
+ advanced_rides: z.ZodObject<{
1942
+ last_week: z.ZodNumber;
1943
+ now: z.ZodNumber;
1944
+ }, "strip", z.ZodTypeAny, {
1945
+ last_week: number;
1946
+ now: number;
1947
+ }, {
1948
+ last_week: number;
1949
+ now: number;
1950
+ }>;
1951
+ five_min_delays: z.ZodObject<{
1952
+ last_week: z.ZodNumber;
1953
+ now: z.ZodNumber;
1954
+ }, "strip", z.ZodTypeAny, {
1955
+ last_week: number;
1956
+ now: number;
1957
+ }, {
1958
+ last_week: number;
1959
+ now: number;
1960
+ }>;
1961
+ mean_delay_minutes: z.ZodObject<{
1962
+ last_week: z.ZodNumber;
1963
+ now: z.ZodNumber;
1964
+ }, "strip", z.ZodTypeAny, {
1965
+ last_week: number;
1966
+ now: number;
1967
+ }, {
1968
+ last_week: number;
1969
+ now: number;
1970
+ }>;
1971
+ no_passengers_rides: z.ZodObject<{
1972
+ last_week: z.ZodNumber;
1973
+ now: z.ZodNumber;
1974
+ }, "strip", z.ZodTypeAny, {
1975
+ last_week: number;
1976
+ now: number;
1977
+ }, {
1978
+ last_week: number;
1979
+ now: number;
1980
+ }>;
1981
+ rides_with_sales: z.ZodObject<{
1982
+ last_week: z.ZodNumber;
1983
+ now: z.ZodNumber;
1984
+ }, "strip", z.ZodTypeAny, {
1985
+ last_week: number;
1986
+ now: number;
1987
+ }, {
1988
+ last_week: number;
1989
+ now: number;
1990
+ }>;
1991
+ scheduled_rides: z.ZodObject<{
1992
+ last_week: z.ZodNumber;
1993
+ now: z.ZodNumber;
1994
+ }, "strip", z.ZodTypeAny, {
1995
+ last_week: number;
1996
+ now: number;
1997
+ }, {
1998
+ last_week: number;
1999
+ now: number;
2000
+ }>;
2001
+ valid_rides: z.ZodObject<{
2002
+ last_week: z.ZodNumber;
2003
+ now: z.ZodNumber;
2004
+ }, "strip", z.ZodTypeAny, {
2005
+ last_week: number;
2006
+ now: number;
2007
+ }, {
2008
+ last_week: number;
2009
+ now: number;
2010
+ }>;
2011
+ }, "strip", z.ZodTypeAny, {
2012
+ accomplished_rides: {
2013
+ last_week: number;
2014
+ now: number;
2015
+ };
2016
+ advanced_rides: {
2017
+ last_week: number;
2018
+ now: number;
2019
+ };
2020
+ five_min_delays: {
2021
+ last_week: number;
2022
+ now: number;
2023
+ };
2024
+ mean_delay_minutes: {
2025
+ last_week: number;
2026
+ now: number;
2027
+ };
2028
+ no_passengers_rides: {
2029
+ last_week: number;
2030
+ now: number;
2031
+ };
2032
+ rides_with_sales: {
2033
+ last_week: number;
2034
+ now: number;
2035
+ };
2036
+ scheduled_rides: {
2037
+ last_week: number;
2038
+ now: number;
2039
+ };
2040
+ valid_rides: {
2041
+ last_week: number;
2042
+ now: number;
2043
+ };
2044
+ }, {
2045
+ accomplished_rides: {
2046
+ last_week: number;
2047
+ now: number;
2048
+ };
2049
+ advanced_rides: {
2050
+ last_week: number;
2051
+ now: number;
2052
+ };
2053
+ five_min_delays: {
2054
+ last_week: number;
2055
+ now: number;
2056
+ };
2057
+ mean_delay_minutes: {
2058
+ last_week: number;
2059
+ now: number;
2060
+ };
2061
+ no_passengers_rides: {
2062
+ last_week: number;
2063
+ now: number;
2064
+ };
2065
+ rides_with_sales: {
2066
+ last_week: number;
2067
+ now: number;
2068
+ };
2069
+ scheduled_rides: {
2070
+ last_week: number;
2071
+ now: number;
2072
+ };
2073
+ valid_rides: {
2074
+ last_week: number;
2075
+ now: number;
2076
+ };
2077
+ }>>;
2078
+ total: z.ZodObject<{
2079
+ accomplished_rides: z.ZodObject<{
2080
+ last_week: z.ZodNumber;
2081
+ now: z.ZodNumber;
2082
+ }, "strip", z.ZodTypeAny, {
2083
+ last_week: number;
2084
+ now: number;
2085
+ }, {
2086
+ last_week: number;
2087
+ now: number;
2088
+ }>;
2089
+ advanced_rides: z.ZodObject<{
2090
+ last_week: z.ZodNumber;
2091
+ now: z.ZodNumber;
2092
+ }, "strip", z.ZodTypeAny, {
2093
+ last_week: number;
2094
+ now: number;
2095
+ }, {
2096
+ last_week: number;
2097
+ now: number;
2098
+ }>;
2099
+ five_min_delays: z.ZodObject<{
2100
+ last_week: z.ZodNumber;
2101
+ now: z.ZodNumber;
2102
+ }, "strip", z.ZodTypeAny, {
2103
+ last_week: number;
2104
+ now: number;
2105
+ }, {
2106
+ last_week: number;
2107
+ now: number;
2108
+ }>;
2109
+ mean_delay_minutes: z.ZodObject<{
2110
+ last_week: z.ZodNumber;
2111
+ now: z.ZodNumber;
2112
+ }, "strip", z.ZodTypeAny, {
2113
+ last_week: number;
2114
+ now: number;
2115
+ }, {
2116
+ last_week: number;
2117
+ now: number;
2118
+ }>;
2119
+ no_passengers_rides: z.ZodObject<{
2120
+ last_week: z.ZodNumber;
2121
+ now: z.ZodNumber;
2122
+ }, "strip", z.ZodTypeAny, {
2123
+ last_week: number;
2124
+ now: number;
2125
+ }, {
2126
+ last_week: number;
2127
+ now: number;
2128
+ }>;
2129
+ rides_with_sales: z.ZodObject<{
2130
+ last_week: z.ZodNumber;
2131
+ now: z.ZodNumber;
2132
+ }, "strip", z.ZodTypeAny, {
2133
+ last_week: number;
2134
+ now: number;
2135
+ }, {
2136
+ last_week: number;
2137
+ now: number;
2138
+ }>;
2139
+ scheduled_rides: z.ZodObject<{
2140
+ last_week: z.ZodNumber;
2141
+ now: z.ZodNumber;
2142
+ }, "strip", z.ZodTypeAny, {
2143
+ last_week: number;
2144
+ now: number;
2145
+ }, {
2146
+ last_week: number;
2147
+ now: number;
2148
+ }>;
2149
+ valid_rides: z.ZodObject<{
2150
+ last_week: z.ZodNumber;
2151
+ now: z.ZodNumber;
2152
+ }, "strip", z.ZodTypeAny, {
2153
+ last_week: number;
2154
+ now: number;
2155
+ }, {
2156
+ last_week: number;
2157
+ now: number;
2158
+ }>;
2159
+ }, "strip", z.ZodTypeAny, {
2160
+ accomplished_rides: {
2161
+ last_week: number;
2162
+ now: number;
2163
+ };
2164
+ advanced_rides: {
2165
+ last_week: number;
2166
+ now: number;
2167
+ };
2168
+ five_min_delays: {
2169
+ last_week: number;
2170
+ now: number;
2171
+ };
2172
+ mean_delay_minutes: {
2173
+ last_week: number;
2174
+ now: number;
2175
+ };
2176
+ no_passengers_rides: {
2177
+ last_week: number;
2178
+ now: number;
2179
+ };
2180
+ rides_with_sales: {
2181
+ last_week: number;
2182
+ now: number;
2183
+ };
2184
+ scheduled_rides: {
2185
+ last_week: number;
2186
+ now: number;
2187
+ };
2188
+ valid_rides: {
2189
+ last_week: number;
2190
+ now: number;
2191
+ };
2192
+ }, {
2193
+ accomplished_rides: {
2194
+ last_week: number;
2195
+ now: number;
2196
+ };
2197
+ advanced_rides: {
2198
+ last_week: number;
2199
+ now: number;
2200
+ };
2201
+ five_min_delays: {
2202
+ last_week: number;
2203
+ now: number;
2204
+ };
2205
+ mean_delay_minutes: {
2206
+ last_week: number;
2207
+ now: number;
2208
+ };
2209
+ no_passengers_rides: {
2210
+ last_week: number;
2211
+ now: number;
2212
+ };
2213
+ rides_with_sales: {
2214
+ last_week: number;
2215
+ now: number;
2216
+ };
2217
+ scheduled_rides: {
2218
+ last_week: number;
2219
+ now: number;
2220
+ };
2221
+ valid_rides: {
2222
+ last_week: number;
2223
+ now: number;
2224
+ };
2225
+ }>;
2226
+ }, "strip", z.ZodTypeAny, {
2227
+ agencies: Record<string, {
2228
+ accomplished_rides: {
2229
+ last_week: number;
2230
+ now: number;
2231
+ };
2232
+ advanced_rides: {
2233
+ last_week: number;
2234
+ now: number;
2235
+ };
2236
+ five_min_delays: {
2237
+ last_week: number;
2238
+ now: number;
2239
+ };
2240
+ mean_delay_minutes: {
2241
+ last_week: number;
2242
+ now: number;
2243
+ };
2244
+ no_passengers_rides: {
2245
+ last_week: number;
2246
+ now: number;
2247
+ };
2248
+ rides_with_sales: {
2249
+ last_week: number;
2250
+ now: number;
2251
+ };
2252
+ scheduled_rides: {
2253
+ last_week: number;
2254
+ now: number;
2255
+ };
2256
+ valid_rides: {
2257
+ last_week: number;
2258
+ now: number;
2259
+ };
2260
+ }>;
2261
+ total: {
2262
+ accomplished_rides: {
2263
+ last_week: number;
2264
+ now: number;
2265
+ };
2266
+ advanced_rides: {
2267
+ last_week: number;
2268
+ now: number;
2269
+ };
2270
+ five_min_delays: {
2271
+ last_week: number;
2272
+ now: number;
2273
+ };
2274
+ mean_delay_minutes: {
2275
+ last_week: number;
2276
+ now: number;
2277
+ };
2278
+ no_passengers_rides: {
2279
+ last_week: number;
2280
+ now: number;
2281
+ };
2282
+ rides_with_sales: {
2283
+ last_week: number;
2284
+ now: number;
2285
+ };
2286
+ scheduled_rides: {
2287
+ last_week: number;
2288
+ now: number;
2289
+ };
2290
+ valid_rides: {
2291
+ last_week: number;
2292
+ now: number;
2293
+ };
2294
+ };
2295
+ }, {
2296
+ agencies: Record<string, {
2297
+ accomplished_rides: {
2298
+ last_week: number;
2299
+ now: number;
2300
+ };
2301
+ advanced_rides: {
2302
+ last_week: number;
2303
+ now: number;
2304
+ };
2305
+ five_min_delays: {
2306
+ last_week: number;
2307
+ now: number;
2308
+ };
2309
+ mean_delay_minutes: {
2310
+ last_week: number;
2311
+ now: number;
2312
+ };
2313
+ no_passengers_rides: {
2314
+ last_week: number;
2315
+ now: number;
2316
+ };
2317
+ rides_with_sales: {
2318
+ last_week: number;
2319
+ now: number;
2320
+ };
2321
+ scheduled_rides: {
2322
+ last_week: number;
2323
+ now: number;
2324
+ };
2325
+ valid_rides: {
2326
+ last_week: number;
2327
+ now: number;
2328
+ };
2329
+ }>;
2330
+ total: {
2331
+ accomplished_rides: {
2332
+ last_week: number;
2333
+ now: number;
2334
+ };
2335
+ advanced_rides: {
2336
+ last_week: number;
2337
+ now: number;
2338
+ };
2339
+ five_min_delays: {
2340
+ last_week: number;
2341
+ now: number;
2342
+ };
2343
+ mean_delay_minutes: {
2344
+ last_week: number;
2345
+ now: number;
2346
+ };
2347
+ no_passengers_rides: {
2348
+ last_week: number;
2349
+ now: number;
2350
+ };
2351
+ rides_with_sales: {
2352
+ last_week: number;
2353
+ now: number;
2354
+ };
2355
+ scheduled_rides: {
2356
+ last_week: number;
2357
+ now: number;
2358
+ };
2359
+ valid_rides: {
2360
+ last_week: number;
2361
+ now: number;
2362
+ };
2363
+ };
2364
+ }>;
2365
+ metric: z.ZodLiteral<"realtime_service_compliance">;
2366
+ }, "strip", z.ZodTypeAny, {
2367
+ generated_at: Date;
2368
+ metric: "realtime_service_compliance";
2369
+ data: {
2370
+ agencies: Record<string, {
2371
+ accomplished_rides: {
2372
+ last_week: number;
2373
+ now: number;
2374
+ };
2375
+ advanced_rides: {
2376
+ last_week: number;
2377
+ now: number;
2378
+ };
2379
+ five_min_delays: {
2380
+ last_week: number;
2381
+ now: number;
2382
+ };
2383
+ mean_delay_minutes: {
2384
+ last_week: number;
2385
+ now: number;
2386
+ };
2387
+ no_passengers_rides: {
2388
+ last_week: number;
2389
+ now: number;
2390
+ };
2391
+ rides_with_sales: {
2392
+ last_week: number;
2393
+ now: number;
2394
+ };
2395
+ scheduled_rides: {
2396
+ last_week: number;
2397
+ now: number;
2398
+ };
2399
+ valid_rides: {
2400
+ last_week: number;
2401
+ now: number;
2402
+ };
2403
+ }>;
2404
+ total: {
2405
+ accomplished_rides: {
2406
+ last_week: number;
2407
+ now: number;
2408
+ };
2409
+ advanced_rides: {
2410
+ last_week: number;
2411
+ now: number;
2412
+ };
2413
+ five_min_delays: {
2414
+ last_week: number;
2415
+ now: number;
2416
+ };
2417
+ mean_delay_minutes: {
2418
+ last_week: number;
2419
+ now: number;
2420
+ };
2421
+ no_passengers_rides: {
2422
+ last_week: number;
2423
+ now: number;
2424
+ };
2425
+ rides_with_sales: {
2426
+ last_week: number;
2427
+ now: number;
2428
+ };
2429
+ scheduled_rides: {
2430
+ last_week: number;
2431
+ now: number;
2432
+ };
2433
+ valid_rides: {
2434
+ last_week: number;
2435
+ now: number;
2436
+ };
2437
+ };
2438
+ };
2439
+ description?: string | undefined;
2440
+ }, {
2441
+ generated_at: Date;
2442
+ metric: "realtime_service_compliance";
2443
+ data: {
2444
+ agencies: Record<string, {
2445
+ accomplished_rides: {
2446
+ last_week: number;
2447
+ now: number;
2448
+ };
2449
+ advanced_rides: {
2450
+ last_week: number;
2451
+ now: number;
2452
+ };
2453
+ five_min_delays: {
2454
+ last_week: number;
2455
+ now: number;
2456
+ };
2457
+ mean_delay_minutes: {
2458
+ last_week: number;
2459
+ now: number;
2460
+ };
2461
+ no_passengers_rides: {
2462
+ last_week: number;
2463
+ now: number;
2464
+ };
2465
+ rides_with_sales: {
2466
+ last_week: number;
2467
+ now: number;
2468
+ };
2469
+ scheduled_rides: {
2470
+ last_week: number;
2471
+ now: number;
2472
+ };
2473
+ valid_rides: {
2474
+ last_week: number;
2475
+ now: number;
2476
+ };
2477
+ }>;
2478
+ total: {
2479
+ accomplished_rides: {
2480
+ last_week: number;
2481
+ now: number;
2482
+ };
2483
+ advanced_rides: {
2484
+ last_week: number;
2485
+ now: number;
2486
+ };
2487
+ five_min_delays: {
2488
+ last_week: number;
2489
+ now: number;
2490
+ };
2491
+ mean_delay_minutes: {
2492
+ last_week: number;
2493
+ now: number;
2494
+ };
2495
+ no_passengers_rides: {
2496
+ last_week: number;
2497
+ now: number;
2498
+ };
2499
+ rides_with_sales: {
2500
+ last_week: number;
2501
+ now: number;
2502
+ };
2503
+ scheduled_rides: {
2504
+ last_week: number;
2505
+ now: number;
2506
+ };
2507
+ valid_rides: {
2508
+ last_week: number;
2509
+ now: number;
2510
+ };
2511
+ };
2512
+ };
2513
+ description?: string | undefined;
2514
+ }>, z.ZodObject<{
2515
+ description: z.ZodOptional<z.ZodString>;
2516
+ generated_at: z.ZodDate;
2517
+ } & {
2518
+ data: z.ZodObject<{
2519
+ agencies: z.ZodRecord<z.ZodString, z.ZodRecord<z.ZodEnum<["day_type_1", "day_type_2", "day_type_3"]>, z.ZodRecord<z.ZodString, z.ZodNumber>>>;
2520
+ total: z.ZodRecord<z.ZodEnum<["day_type_1", "day_type_2", "day_type_3"]>, z.ZodRecord<z.ZodString, z.ZodNumber>>;
2521
+ }, "strip", z.ZodTypeAny, {
2522
+ agencies: Record<string, Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>>;
2523
+ total: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>;
2524
+ }, {
2525
+ agencies: Record<string, Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>>;
2526
+ total: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>;
2527
+ }>;
2528
+ metric: z.ZodLiteral<"top_demand_by_agency_by_day_type">;
2529
+ }, "strip", z.ZodTypeAny, {
2530
+ generated_at: Date;
2531
+ metric: "top_demand_by_agency_by_day_type";
2532
+ data: {
2533
+ agencies: Record<string, Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>>;
2534
+ total: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>;
2535
+ };
2536
+ description?: string | undefined;
2537
+ }, {
2538
+ generated_at: Date;
2539
+ metric: "top_demand_by_agency_by_day_type";
2540
+ data: {
2541
+ agencies: Record<string, Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>>;
2542
+ total: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", Record<string, number>>>;
2543
+ };
2544
+ description?: string | undefined;
2545
+ }>, z.ZodObject<{
2546
+ description: z.ZodOptional<z.ZodString>;
2547
+ generated_at: z.ZodDate;
2548
+ } & {
2549
+ data: z.ZodObject<{
2550
+ top_performers: z.ZodRecord<z.ZodString, z.ZodObject<{
2551
+ increase_pct: z.ZodNumber;
2552
+ last_30_days_by_day_type: z.ZodRecord<z.ZodEnum<["day_type_1", "day_type_2", "day_type_3"]>, z.ZodNumber>;
2553
+ last_30_days_total: z.ZodNumber;
2554
+ ytd_avg: z.ZodNumber;
2555
+ }, "strip", z.ZodTypeAny, {
2556
+ increase_pct: number;
2557
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2558
+ last_30_days_total: number;
2559
+ ytd_avg: number;
2560
+ }, {
2561
+ increase_pct: number;
2562
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2563
+ last_30_days_total: number;
2564
+ ytd_avg: number;
2565
+ }>>;
2566
+ worst_performers: z.ZodRecord<z.ZodString, z.ZodObject<{
2567
+ increase_pct: z.ZodNumber;
2568
+ last_30_days_by_day_type: z.ZodRecord<z.ZodEnum<["day_type_1", "day_type_2", "day_type_3"]>, z.ZodNumber>;
2569
+ last_30_days_total: z.ZodNumber;
2570
+ ytd_avg: z.ZodNumber;
2571
+ }, "strip", z.ZodTypeAny, {
2572
+ increase_pct: number;
2573
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2574
+ last_30_days_total: number;
2575
+ ytd_avg: number;
2576
+ }, {
2577
+ increase_pct: number;
2578
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2579
+ last_30_days_total: number;
2580
+ ytd_avg: number;
2581
+ }>>;
2582
+ }, "strip", z.ZodTypeAny, {
2583
+ top_performers: Record<string, {
2584
+ increase_pct: number;
2585
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2586
+ last_30_days_total: number;
2587
+ ytd_avg: number;
2588
+ }>;
2589
+ worst_performers: Record<string, {
2590
+ increase_pct: number;
2591
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2592
+ last_30_days_total: number;
2593
+ ytd_avg: number;
2594
+ }>;
2595
+ }, {
2596
+ top_performers: Record<string, {
2597
+ increase_pct: number;
2598
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2599
+ last_30_days_total: number;
2600
+ ytd_avg: number;
2601
+ }>;
2602
+ worst_performers: Record<string, {
2603
+ increase_pct: number;
2604
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2605
+ last_30_days_total: number;
2606
+ ytd_avg: number;
2607
+ }>;
2608
+ }>;
2609
+ metric: z.ZodLiteral<"top_lines_30day_performance">;
2610
+ }, "strip", z.ZodTypeAny, {
2611
+ generated_at: Date;
2612
+ metric: "top_lines_30day_performance";
2613
+ data: {
2614
+ top_performers: Record<string, {
2615
+ increase_pct: number;
2616
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2617
+ last_30_days_total: number;
2618
+ ytd_avg: number;
2619
+ }>;
2620
+ worst_performers: Record<string, {
2621
+ increase_pct: number;
2622
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2623
+ last_30_days_total: number;
2624
+ ytd_avg: number;
2625
+ }>;
2626
+ };
2627
+ description?: string | undefined;
2628
+ }, {
2629
+ generated_at: Date;
2630
+ metric: "top_lines_30day_performance";
2631
+ data: {
2632
+ top_performers: Record<string, {
2633
+ increase_pct: number;
2634
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2635
+ last_30_days_total: number;
2636
+ ytd_avg: number;
2637
+ }>;
2638
+ worst_performers: Record<string, {
2639
+ increase_pct: number;
2640
+ last_30_days_by_day_type: Partial<Record<"day_type_1" | "day_type_2" | "day_type_3", number>>;
2641
+ last_30_days_total: number;
2642
+ ytd_avg: number;
2643
+ }>;
2644
+ };
2645
+ description?: string | undefined;
2646
+ }>]>;
2647
+ export type Metric = z.infer<typeof MetricSchema>;