@burdenoff/microfe-movethewheels 2026.510.105

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 (208) hide show
  1. package/README.md +82 -0
  2. package/dist/AIAssistantPage-hD0VYJdH.js +210 -0
  3. package/dist/AnalyticsPage-DHTHCUtr.js +201 -0
  4. package/dist/CreateOrderPage-Cprg4Y9V.js +471 -0
  5. package/dist/CustomerDetailsPage-DNDEw7IW.js +239 -0
  6. package/dist/CustomersPage-CDjjeCEL.js +119 -0
  7. package/dist/DashboardPage-8iTPXRAG.js +374 -0
  8. package/dist/DataTable-CRIKfdIN.js +239 -0
  9. package/dist/DriverDetailsPage-CRyRCno7.js +297 -0
  10. package/dist/DriversPage-16O8fVmf.js +127 -0
  11. package/dist/FinancePage-BYUxK5dR.js +154 -0
  12. package/dist/FleetPage-CHYETCWT.js +293 -0
  13. package/dist/ImportExportPage-C3MKKxfc.js +232 -0
  14. package/dist/InventoryPage--822AxZM.js +223 -0
  15. package/dist/LiveTrackingPage-Dp3rTJDr.js +332 -0
  16. package/dist/MarketplacePage-DjEqudfM.js +192 -0
  17. package/dist/MetricCard-GTbxAk1a.js +135 -0
  18. package/dist/OrderDetailsPage-BIuYG0ub.js +398 -0
  19. package/dist/OrdersListPage-CW5V0Uvh.js +257 -0
  20. package/dist/PageLayout-B7b0vl0R.js +1894 -0
  21. package/dist/ProductDetailsPage-Q3X7AT-7.js +168 -0
  22. package/dist/ProductsPage-CUj9JpnW.js +131 -0
  23. package/dist/ReportsPage-DblO5CdJ.js +227 -0
  24. package/dist/RouteDetailsPage-CLctgk6A.js +240 -0
  25. package/dist/RoutesPage-8hrv6RWT.js +116 -0
  26. package/dist/SettingsPage-BJ5BQeqn.js +247 -0
  27. package/dist/StatusBadge-BrrwraIA.js +206 -0
  28. package/dist/TrackingPage-BGqHDh-w.js +322 -0
  29. package/dist/VehicleDetailsPage-XnDH4iQR.js +194 -0
  30. package/dist/VehiclesPage-Cs4XxHkA.js +127 -0
  31. package/dist/WarehouseDetailsPage-GemdMvr_.js +215 -0
  32. package/dist/WarehousesPage-QTiuDuXy.js +121 -0
  33. package/dist/arrow-left-6CiLhqVp.js +11 -0
  34. package/dist/box-BunB_4UH.js +18 -0
  35. package/dist/chart-column-DWwVEVQ-.js +22 -0
  36. package/dist/chevron-right-DhZVf20o.js +8 -0
  37. package/dist/circle-alert-D5f6RZxt.js +26 -0
  38. package/dist/circle-check-big-D-JMHcTe.js +11 -0
  39. package/dist/clock-CvwBKbQP.js +13 -0
  40. package/dist/dev/main.d.ts +1 -0
  41. package/dist/dollar-sign-CP9qeU5d.js +14 -0
  42. package/dist/download-CIuG04pJ.js +21 -0
  43. package/dist/file-text-Dd_thxkn.js +26 -0
  44. package/dist/filter-DyRMX9CU.js +8 -0
  45. package/dist/formatters-_vJlC-47.js +50 -0
  46. package/dist/generated/global-operations.d.ts +1 -0
  47. package/dist/generated/global-types.d.ts +20715 -0
  48. package/dist/generated/wspace-operations.d.ts +3704 -0
  49. package/dist/generated/wspace-types.d.ts +53362 -0
  50. package/dist/graphqlClient-CdJyR_ed.js +55 -0
  51. package/dist/index.d.ts +4 -0
  52. package/dist/index.js +772 -0
  53. package/dist/map-BqH1cBJi.js +18 -0
  54. package/dist/map-pin-CFBOmh-A.js +13 -0
  55. package/dist/movethewheels/MoveTheWheelsRoot.d.ts +25 -0
  56. package/dist/movethewheels/MoveTheWheelsRoutes.d.ts +7 -0
  57. package/dist/movethewheels/components/DataTable.d.ts +32 -0
  58. package/dist/movethewheels/components/MetricCard.d.ts +43 -0
  59. package/dist/movethewheels/components/PageLayout.d.ts +68 -0
  60. package/dist/movethewheels/components/StatusBadge.d.ts +49 -0
  61. package/dist/movethewheels/components/index.d.ts +10 -0
  62. package/dist/movethewheels/components/ui.d.ts +22 -0
  63. package/dist/movethewheels/constants/index.d.ts +24 -0
  64. package/dist/movethewheels/constants/mockData.d.ts +33 -0
  65. package/dist/movethewheels/hooks/index.d.ts +12 -0
  66. package/dist/movethewheels/hooks/useAnalytics.d.ts +118 -0
  67. package/dist/movethewheels/hooks/useCustomers.d.ts +37 -0
  68. package/dist/movethewheels/hooks/useFleet.d.ts +71 -0
  69. package/dist/movethewheels/hooks/useInventory.d.ts +60 -0
  70. package/dist/movethewheels/hooks/useOrders.d.ts +47 -0
  71. package/dist/movethewheels/hooks/useRoutes.d.ts +41 -0
  72. package/dist/movethewheels/hooks/useTracking.d.ts +69 -0
  73. package/dist/movethewheels/index.d.ts +30 -0
  74. package/dist/movethewheels/pages/AIAssistantPage.d.ts +4 -0
  75. package/dist/movethewheels/pages/AnalyticsPage.d.ts +4 -0
  76. package/dist/movethewheels/pages/CreateOrderPage.d.ts +6 -0
  77. package/dist/movethewheels/pages/CustomerDetailsPage.d.ts +4 -0
  78. package/dist/movethewheels/pages/CustomersPage.d.ts +4 -0
  79. package/dist/movethewheels/pages/DashboardPage.d.ts +6 -0
  80. package/dist/movethewheels/pages/DriverDetailsPage.d.ts +4 -0
  81. package/dist/movethewheels/pages/DriversPage.d.ts +4 -0
  82. package/dist/movethewheels/pages/FinancePage.d.ts +4 -0
  83. package/dist/movethewheels/pages/FleetPage.d.ts +6 -0
  84. package/dist/movethewheels/pages/ImportExportPage.d.ts +4 -0
  85. package/dist/movethewheels/pages/InventoryPage.d.ts +4 -0
  86. package/dist/movethewheels/pages/LiveTrackingPage.d.ts +6 -0
  87. package/dist/movethewheels/pages/MarketplacePage.d.ts +4 -0
  88. package/dist/movethewheels/pages/OrderDetailsPage.d.ts +6 -0
  89. package/dist/movethewheels/pages/OrdersListPage.d.ts +6 -0
  90. package/dist/movethewheels/pages/ProductDetailsPage.d.ts +4 -0
  91. package/dist/movethewheels/pages/ProductsPage.d.ts +4 -0
  92. package/dist/movethewheels/pages/ReportsPage.d.ts +4 -0
  93. package/dist/movethewheels/pages/RouteDetailsPage.d.ts +4 -0
  94. package/dist/movethewheels/pages/RoutesPage.d.ts +4 -0
  95. package/dist/movethewheels/pages/SettingsPage.d.ts +4 -0
  96. package/dist/movethewheels/pages/TrackingPage.d.ts +6 -0
  97. package/dist/movethewheels/pages/VehicleDetailsPage.d.ts +4 -0
  98. package/dist/movethewheels/pages/VehiclesPage.d.ts +4 -0
  99. package/dist/movethewheels/pages/WarehouseDetailsPage.d.ts +4 -0
  100. package/dist/movethewheels/pages/WarehousesPage.d.ts +4 -0
  101. package/dist/movethewheels/providers/MoveTheWheelsProvider.d.ts +16 -0
  102. package/dist/movethewheels/store/movethewheelsStore.d.ts +73 -0
  103. package/dist/movethewheels/types/index.d.ts +655 -0
  104. package/dist/movethewheels/utils/cn.d.ts +6 -0
  105. package/dist/movethewheels/utils/formatters.d.ts +60 -0
  106. package/dist/movethewheels/utils/graphqlClient.d.ts +11 -0
  107. package/dist/movethewheels/utils/index.d.ts +7 -0
  108. package/dist/movethewheels/utils/navigation.d.ts +23 -0
  109. package/dist/navigation-BgnOfsVd.js +6 -0
  110. package/dist/navigation-C2fY_aS9.js +8 -0
  111. package/dist/package-DVZbDRcV.js +22 -0
  112. package/dist/phone-KdwpVmC4.js +18 -0
  113. package/dist/plus-Bl7uX6Ji.js +11 -0
  114. package/dist/refresh-cw-BYjl3K-8.js +22 -0
  115. package/dist/route-Ce_poKFi.js +51 -0
  116. package/dist/save-C-qDVat-.js +18 -0
  117. package/dist/search-5pdn5eOO.js +13 -0
  118. package/dist/settings-C4kIDsYg.js +28 -0
  119. package/dist/square-pen-BwQ67vLE.js +11 -0
  120. package/dist/star-BlVsC3Ad.js +8 -0
  121. package/dist/store-DTmQT5M0.js +26 -0
  122. package/dist/trending-up-C1faflCI.js +11 -0
  123. package/dist/triangle-alert-CUoVAA4L.js +18 -0
  124. package/dist/truck-BmDAzu05.js +30 -0
  125. package/dist/useAnalytics-ph7eTIK6.js +297 -0
  126. package/dist/useCustomers-bS3a4ytk.js +186 -0
  127. package/dist/useFleet-BdETplNE.js +398 -0
  128. package/dist/useInventory-Dwn18FPz.js +323 -0
  129. package/dist/useOrders-D_3_hGMp.js +324 -0
  130. package/dist/useRoutes-v4aBaS-E.js +224 -0
  131. package/dist/useTracking-De2KIUNu.js +261 -0
  132. package/dist/user-BplzDrLP.js +13 -0
  133. package/dist/users-i-igmsP4.js +24 -0
  134. package/dist/warehouse-DewG0PXh.js +25 -0
  135. package/dist/wrench-CoSDEIC7.js +31 -0
  136. package/package.json +107 -0
  137. package/src/dev/main.tsx +110 -0
  138. package/src/dev/styles.css +139 -0
  139. package/src/generated/global-operations.ts +2 -0
  140. package/src/generated/global-types.ts +24048 -0
  141. package/src/generated/wspace-operations.ts +3734 -0
  142. package/src/generated/wspace-types.ts +60715 -0
  143. package/src/index.ts +4 -0
  144. package/src/movethewheels/MoveTheWheelsRoot.tsx +258 -0
  145. package/src/movethewheels/MoveTheWheelsRoutes.tsx +119 -0
  146. package/src/movethewheels/components/DataTable.tsx +367 -0
  147. package/src/movethewheels/components/MetricCard.tsx +180 -0
  148. package/src/movethewheels/components/PageLayout.tsx +234 -0
  149. package/src/movethewheels/components/StatusBadge.tsx +243 -0
  150. package/src/movethewheels/components/index.ts +26 -0
  151. package/src/movethewheels/components/ui.tsx +124 -0
  152. package/src/movethewheels/constants/index.ts +65 -0
  153. package/src/movethewheels/constants/mockData.ts +1342 -0
  154. package/src/movethewheels/hooks/index.ts +55 -0
  155. package/src/movethewheels/hooks/useAnalytics.ts +476 -0
  156. package/src/movethewheels/hooks/useCustomers.ts +359 -0
  157. package/src/movethewheels/hooks/useFleet.ts +778 -0
  158. package/src/movethewheels/hooks/useInventory.ts +632 -0
  159. package/src/movethewheels/hooks/useOrders.ts +703 -0
  160. package/src/movethewheels/hooks/useRoutes.ts +453 -0
  161. package/src/movethewheels/hooks/useTracking.ts +505 -0
  162. package/src/movethewheels/index.ts +68 -0
  163. package/src/movethewheels/pages/AIAssistantPage.tsx +160 -0
  164. package/src/movethewheels/pages/AnalyticsPage.tsx +190 -0
  165. package/src/movethewheels/pages/CreateOrderPage.tsx +454 -0
  166. package/src/movethewheels/pages/CustomerDetailsPage.tsx +207 -0
  167. package/src/movethewheels/pages/CustomersPage.tsx +115 -0
  168. package/src/movethewheels/pages/DashboardPage.tsx +414 -0
  169. package/src/movethewheels/pages/DriverDetailsPage.tsx +261 -0
  170. package/src/movethewheels/pages/DriversPage.tsx +118 -0
  171. package/src/movethewheels/pages/FinancePage.tsx +141 -0
  172. package/src/movethewheels/pages/FleetPage.tsx +289 -0
  173. package/src/movethewheels/pages/ImportExportPage.tsx +165 -0
  174. package/src/movethewheels/pages/InventoryPage.tsx +212 -0
  175. package/src/movethewheels/pages/LiveTrackingPage.tsx +325 -0
  176. package/src/movethewheels/pages/MarketplacePage.tsx +235 -0
  177. package/src/movethewheels/pages/OrderDetailsPage.tsx +387 -0
  178. package/src/movethewheels/pages/OrdersListPage.tsx +241 -0
  179. package/src/movethewheels/pages/ProductDetailsPage.tsx +155 -0
  180. package/src/movethewheels/pages/ProductsPage.tsx +124 -0
  181. package/src/movethewheels/pages/ReportsPage.tsx +164 -0
  182. package/src/movethewheels/pages/RouteDetailsPage.tsx +245 -0
  183. package/src/movethewheels/pages/RoutesPage.tsx +104 -0
  184. package/src/movethewheels/pages/SettingsPage.tsx +242 -0
  185. package/src/movethewheels/pages/TrackingPage.tsx +419 -0
  186. package/src/movethewheels/pages/VehicleDetailsPage.tsx +218 -0
  187. package/src/movethewheels/pages/VehiclesPage.tsx +124 -0
  188. package/src/movethewheels/pages/WarehouseDetailsPage.tsx +216 -0
  189. package/src/movethewheels/pages/WarehousesPage.tsx +122 -0
  190. package/src/movethewheels/providers/MoveTheWheelsProvider.tsx +66 -0
  191. package/src/movethewheels/store/movethewheelsStore.ts +136 -0
  192. package/src/movethewheels/types/index.ts +744 -0
  193. package/src/movethewheels/utils/cn.ts +9 -0
  194. package/src/movethewheels/utils/formatters.ts +215 -0
  195. package/src/movethewheels/utils/graphqlClient.ts +63 -0
  196. package/src/movethewheels/utils/index.ts +8 -0
  197. package/src/movethewheels/utils/navigation.ts +70 -0
  198. package/src/operations/global/.gitkeep +0 -0
  199. package/src/operations/wspace/movethewheels/fragments/core.graphql +191 -0
  200. package/src/operations/wspace/movethewheels/mutations/entities.graphql +87 -0
  201. package/src/operations/wspace/movethewheels/mutations/logistics.graphql +86 -0
  202. package/src/operations/wspace/movethewheels/mutations/marketplace-reports.graphql +81 -0
  203. package/src/operations/wspace/movethewheels/mutations/orders.graphql +21 -0
  204. package/src/operations/wspace/movethewheels/queries/dashboard.graphql +61 -0
  205. package/src/operations/wspace/movethewheels/queries/entities.graphql +83 -0
  206. package/src/operations/wspace/movethewheels/queries/logistics.graphql +84 -0
  207. package/src/operations/wspace/movethewheels/queries/marketplace-reports.graphql +40 -0
  208. package/src/operations/wspace/movethewheels/queries/orders.graphql +43 -0
@@ -0,0 +1,1342 @@
1
+ /**
2
+ * Mock Data for MoveTheWheels Microfrontend
3
+ *
4
+ * This data is used for development and testing.
5
+ * In production, this will be replaced with GraphQL queries.
6
+ */
7
+
8
+ import type {
9
+ User,
10
+ Customer,
11
+ Order,
12
+ Vehicle,
13
+ Driver,
14
+ Warehouse,
15
+ Inventory,
16
+ Product,
17
+ Route,
18
+ Tracking,
19
+ Notification,
20
+ ServiceProvider,
21
+ ServiceOffering,
22
+ Analytics,
23
+ } from '../types';
24
+
25
+ // Mock Users
26
+ export const mockUsers: User[] = [
27
+ {
28
+ id: 'user-1',
29
+ email: 'john.admin@movetheweels.com',
30
+ firstName: 'John',
31
+ lastName: 'Smith',
32
+ role: 'business_owner',
33
+ avatar:
34
+ 'https://images.unsplash.com/photo-1472099645785-5658abf4ff4e?ixlib=rb-1.2.1&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
35
+ },
36
+ {
37
+ id: 'user-2',
38
+ email: 'sarah.manager@movetheweels.com',
39
+ firstName: 'Sarah',
40
+ lastName: 'Johnson',
41
+ role: 'logistics_manager',
42
+ avatar:
43
+ 'https://images.unsplash.com/photo-1494790108755-2616b612b691?ixlib=rb-1.2.1&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
44
+ },
45
+ {
46
+ id: 'user-3',
47
+ email: 'mike.driver@movetheweels.com',
48
+ firstName: 'Mike',
49
+ lastName: 'Wilson',
50
+ role: 'driver',
51
+ avatar:
52
+ 'https://images.unsplash.com/photo-1519244703995-f4e0f30006d5?ixlib=rb-1.2.1&auto=format&fit=facearea&facepad=2&w=256&h=256&q=80',
53
+ },
54
+ {
55
+ id: 'user-4',
56
+ email: 'emma.customer@example.com',
57
+ firstName: 'Emma',
58
+ lastName: 'Davis',
59
+ role: 'customer_b2c',
60
+ },
61
+ ];
62
+
63
+ // Mock Customers
64
+ export const mockCustomers: Customer[] = [
65
+ {
66
+ id: 'customer-1',
67
+ name: 'Alice Cooper',
68
+ email: 'alice.cooper@techstart.com',
69
+ phone: '+1-555-0201',
70
+ type: 'b2b',
71
+ company: 'TechStart Inc.',
72
+ address: {
73
+ street: '123 Innovation Drive',
74
+ city: 'San Francisco',
75
+ state: 'CA',
76
+ postalCode: '94105',
77
+ country: 'United States',
78
+ latitude: 37.7749,
79
+ longitude: -122.4194,
80
+ },
81
+ businessLicense: 'BL-CA-2023-001',
82
+ taxId: 'TAX-123456789',
83
+ website: 'https://techstart.com',
84
+ preferredContactMethod: 'email',
85
+ marketingOptIn: true,
86
+ notes: 'High-volume B2B client, prefers morning deliveries',
87
+ isActive: true,
88
+ rating: 4.8,
89
+ createdAt: new Date('2023-03-15T00:00:00Z'),
90
+ updatedAt: new Date('2024-01-10T00:00:00Z'),
91
+ },
92
+ {
93
+ id: 'customer-2',
94
+ name: 'Bob Martinez',
95
+ email: 'bob.martinez@personal.com',
96
+ phone: '+1-555-0202',
97
+ type: 'b2c',
98
+ address: {
99
+ street: '456 Residential Ave',
100
+ city: 'Los Angeles',
101
+ state: 'CA',
102
+ postalCode: '90210',
103
+ country: 'United States',
104
+ latitude: 34.0522,
105
+ longitude: -118.2437,
106
+ },
107
+ preferredContactMethod: 'phone',
108
+ marketingOptIn: false,
109
+ notes: 'Prefers weekend deliveries, has dogs',
110
+ isActive: true,
111
+ rating: 4.5,
112
+ createdAt: new Date('2023-06-20T00:00:00Z'),
113
+ updatedAt: new Date('2024-01-05T00:00:00Z'),
114
+ },
115
+ {
116
+ id: 'customer-3',
117
+ name: 'Carol Johnson',
118
+ email: 'carol@globallogistics.com',
119
+ phone: '+1-555-0203',
120
+ type: 'b2b',
121
+ company: 'Global Logistics Corp',
122
+ address: {
123
+ street: '789 Commerce Blvd',
124
+ city: 'Chicago',
125
+ state: 'IL',
126
+ postalCode: '60601',
127
+ country: 'United States',
128
+ latitude: 41.8781,
129
+ longitude: -87.6298,
130
+ },
131
+ businessLicense: 'BL-IL-2022-045',
132
+ taxId: 'TAX-987654321',
133
+ website: 'https://globallogistics.com',
134
+ preferredContactMethod: 'both',
135
+ marketingOptIn: true,
136
+ notes: 'Requires special handling certifications for hazmat',
137
+ isActive: true,
138
+ rating: 4.9,
139
+ createdAt: new Date('2022-11-10T00:00:00Z'),
140
+ updatedAt: new Date('2024-01-12T00:00:00Z'),
141
+ },
142
+ {
143
+ id: 'customer-4',
144
+ name: 'David Chen',
145
+ email: 'david.chen@home.com',
146
+ phone: '+1-555-0204',
147
+ type: 'b2c',
148
+ address: {
149
+ street: '321 Suburban Lane',
150
+ city: 'Austin',
151
+ state: 'TX',
152
+ postalCode: '73301',
153
+ country: 'United States',
154
+ latitude: 30.2672,
155
+ longitude: -97.7431,
156
+ },
157
+ preferredContactMethod: 'email',
158
+ marketingOptIn: true,
159
+ notes: 'Works from home, flexible delivery times',
160
+ isActive: true,
161
+ rating: 4.7,
162
+ createdAt: new Date('2023-08-05T00:00:00Z'),
163
+ updatedAt: new Date('2024-01-08T00:00:00Z'),
164
+ },
165
+ {
166
+ id: 'customer-5',
167
+ name: 'Eva Rodriguez',
168
+ email: 'eva@mediasolutions.com',
169
+ phone: '+1-555-0205',
170
+ type: 'b2b',
171
+ company: 'Media Solutions LLC',
172
+ address: {
173
+ street: '654 Creative Street',
174
+ city: 'New York',
175
+ state: 'NY',
176
+ postalCode: '10001',
177
+ country: 'United States',
178
+ latitude: 40.7128,
179
+ longitude: -74.006,
180
+ },
181
+ businessLicense: 'BL-NY-2023-123',
182
+ taxId: 'TAX-456789123',
183
+ website: 'https://mediasolutions.com',
184
+ preferredContactMethod: 'email',
185
+ marketingOptIn: false,
186
+ notes: 'Rush orders common, priority client',
187
+ isActive: true,
188
+ rating: 4.6,
189
+ createdAt: new Date('2023-01-20T00:00:00Z'),
190
+ updatedAt: new Date('2024-01-15T00:00:00Z'),
191
+ },
192
+ ];
193
+
194
+ // Mock Products
195
+ export const mockProducts: Product[] = [
196
+ {
197
+ id: 'product-1',
198
+ sku: 'ELEC-LAPTOP-001',
199
+ name: 'Gaming Laptop Pro',
200
+ description: 'High-performance gaming laptop with RGB keyboard',
201
+ category: 'Electronics',
202
+ brand: 'TechBrand',
203
+ dimensions: { length: 35, width: 25, height: 3, unit: 'cm' },
204
+ weight: 2.5,
205
+ value: 1299.99,
206
+ barcode: '1234567890123',
207
+ images: ['https://images.unsplash.com/photo-1603302576837-37561b2e2302?w=400'],
208
+ attributes: [
209
+ { name: 'Color', value: 'Black', type: 'text' },
210
+ { name: 'RAM', value: '16GB', type: 'text' },
211
+ { name: 'Storage', value: '512GB SSD', type: 'text' },
212
+ ],
213
+ hazardous: false,
214
+ temperatureControlled: false,
215
+ fragile: true,
216
+ createdAt: new Date('2023-01-01T00:00:00Z'),
217
+ updatedAt: new Date('2024-01-01T00:00:00Z'),
218
+ },
219
+ {
220
+ id: 'product-2',
221
+ sku: 'FURN-CHAIR-001',
222
+ name: 'Ergonomic Office Chair',
223
+ description: 'Comfortable office chair with lumbar support',
224
+ category: 'Furniture',
225
+ brand: 'ComfortSeating',
226
+ dimensions: { length: 60, width: 60, height: 110, unit: 'cm' },
227
+ weight: 18.5,
228
+ value: 349.99,
229
+ barcode: '1234567890124',
230
+ images: ['https://images.unsplash.com/photo-1586023492125-27b2c045efd7?w=400'],
231
+ attributes: [
232
+ { name: 'Color', value: 'Black', type: 'text' },
233
+ { name: 'Material', value: 'Mesh', type: 'text' },
234
+ { name: 'Adjustable Height', value: 'true', type: 'boolean' },
235
+ ],
236
+ hazardous: false,
237
+ temperatureControlled: false,
238
+ fragile: false,
239
+ createdAt: new Date('2023-01-01T00:00:00Z'),
240
+ updatedAt: new Date('2024-01-01T00:00:00Z'),
241
+ },
242
+ {
243
+ id: 'product-3',
244
+ sku: 'ELEC-PHONE-001',
245
+ name: 'Smartphone Pro Max',
246
+ description: 'Latest smartphone with advanced camera system',
247
+ category: 'Electronics',
248
+ brand: 'TechBrand',
249
+ dimensions: { length: 16, width: 8, height: 1, unit: 'cm' },
250
+ weight: 0.2,
251
+ value: 999.99,
252
+ barcode: '1234567890125',
253
+ images: ['https://images.unsplash.com/photo-1592899677977-9c10ca588bbd?w=400'],
254
+ attributes: [
255
+ { name: 'Color', value: 'Silver', type: 'text' },
256
+ { name: 'Storage', value: '256GB', type: 'text' },
257
+ ],
258
+ hazardous: false,
259
+ temperatureControlled: false,
260
+ fragile: true,
261
+ createdAt: new Date('2023-06-01T00:00:00Z'),
262
+ updatedAt: new Date('2024-01-10T00:00:00Z'),
263
+ },
264
+ ];
265
+
266
+ // Mock Orders
267
+ export const mockOrders: Order[] = [
268
+ {
269
+ id: 'order-1',
270
+ orderNumber: 'ORD-2024-001001',
271
+ customerId: 'customer-2',
272
+ customerInfo: {
273
+ name: 'Bob Martinez',
274
+ email: 'bob.martinez@personal.com',
275
+ phone: '+1-555-0202',
276
+ preferredDeliveryTime: 'Morning (9AM - 12PM)',
277
+ deliveryInstructions: 'Leave package at front door if no answer',
278
+ },
279
+ items: [
280
+ {
281
+ id: 'item-1',
282
+ productId: 'product-1',
283
+ name: 'Gaming Laptop Pro',
284
+ description: 'High-performance gaming laptop',
285
+ quantity: 1,
286
+ weight: 2.5,
287
+ dimensions: { length: 35, width: 25, height: 3, unit: 'cm' },
288
+ value: 1299.99,
289
+ sku: 'ELEC-LAPTOP-001',
290
+ barcode: '1234567890123',
291
+ },
292
+ ],
293
+ status: 'in_transit',
294
+ orderType: 'b2c',
295
+ priority: 'normal',
296
+ pickupAddress: {
297
+ street: '789 Warehouse District',
298
+ city: 'San Francisco',
299
+ state: 'CA',
300
+ postalCode: '94103',
301
+ country: 'USA',
302
+ latitude: 37.7849,
303
+ longitude: -122.4094,
304
+ },
305
+ deliveryAddress: {
306
+ street: '456 Residential Ave',
307
+ city: 'Los Angeles',
308
+ state: 'CA',
309
+ postalCode: '90210',
310
+ country: 'USA',
311
+ latitude: 34.0522,
312
+ longitude: -118.2437,
313
+ },
314
+ scheduledPickup: new Date('2024-01-15T09:00:00Z'),
315
+ scheduledDelivery: new Date('2024-01-15T14:00:00Z'),
316
+ actualPickup: new Date('2024-01-15T09:15:00Z'),
317
+ driverId: 'user-3',
318
+ vehicleId: 'vehicle-1',
319
+ trackingNumber: 'TRK123456789',
320
+ specialInstructions: 'Handle with care - fragile electronics',
321
+ pricing: {
322
+ subtotal: 1299.99,
323
+ taxes: 103.99,
324
+ fees: {
325
+ delivery: 15.0,
326
+ handling: 5.0,
327
+ insurance: 12.99,
328
+ },
329
+ total: 1436.97,
330
+ currency: 'USD',
331
+ paymentMethod: 'credit_card',
332
+ paymentStatus: 'paid',
333
+ },
334
+ timeline: [
335
+ {
336
+ timestamp: new Date('2024-01-14T15:30:00Z'),
337
+ status: 'confirmed',
338
+ notes: 'Order confirmed and payment processed',
339
+ performedBy: 'system',
340
+ },
341
+ {
342
+ timestamp: new Date('2024-01-15T08:00:00Z'),
343
+ status: 'assigned',
344
+ notes: 'Driver assigned and route optimized',
345
+ performedBy: 'user-2',
346
+ },
347
+ {
348
+ timestamp: new Date('2024-01-15T09:15:00Z'),
349
+ status: 'picked_up',
350
+ location: {
351
+ street: '789 Warehouse District',
352
+ city: 'San Francisco',
353
+ state: 'CA',
354
+ postalCode: '94103',
355
+ country: 'USA',
356
+ },
357
+ notes: 'Package picked up from warehouse',
358
+ performedBy: 'user-3',
359
+ },
360
+ ],
361
+ createdAt: new Date('2024-01-14T15:30:00Z'),
362
+ updatedAt: new Date('2024-01-15T09:15:00Z'),
363
+ },
364
+ {
365
+ id: 'order-2',
366
+ orderNumber: 'ORD-2024-001002',
367
+ customerId: 'customer-1',
368
+ customerInfo: {
369
+ name: 'Alice Cooper',
370
+ email: 'alice.cooper@techstart.com',
371
+ phone: '+1-555-0201',
372
+ company: 'TechStart Inc.',
373
+ preferredDeliveryTime: 'Business Hours (9AM - 5PM)',
374
+ },
375
+ items: [
376
+ {
377
+ id: 'item-2',
378
+ productId: 'product-2',
379
+ name: 'Ergonomic Office Chair',
380
+ description: 'Comfortable office chair with lumbar support',
381
+ quantity: 5,
382
+ weight: 18.5,
383
+ dimensions: { length: 60, width: 60, height: 110, unit: 'cm' },
384
+ value: 349.99,
385
+ sku: 'FURN-CHAIR-001',
386
+ barcode: '1234567890124',
387
+ },
388
+ ],
389
+ status: 'confirmed',
390
+ orderType: 'b2b',
391
+ priority: 'high',
392
+ pickupAddress: {
393
+ street: '789 Warehouse District',
394
+ city: 'San Francisco',
395
+ state: 'CA',
396
+ postalCode: '94103',
397
+ country: 'USA',
398
+ latitude: 37.7849,
399
+ longitude: -122.4094,
400
+ },
401
+ deliveryAddress: {
402
+ street: '123 Innovation Drive',
403
+ city: 'San Francisco',
404
+ state: 'CA',
405
+ postalCode: '94105',
406
+ country: 'USA',
407
+ latitude: 37.7749,
408
+ longitude: -122.4194,
409
+ },
410
+ scheduledPickup: new Date('2024-01-16T08:00:00Z'),
411
+ scheduledDelivery: new Date('2024-01-16T11:00:00Z'),
412
+ trackingNumber: 'TRK123456790',
413
+ pricing: {
414
+ subtotal: 1749.95,
415
+ taxes: 139.99,
416
+ fees: {
417
+ delivery: 25.0,
418
+ handling: 10.0,
419
+ },
420
+ total: 1924.94,
421
+ currency: 'USD',
422
+ paymentMethod: 'net_30',
423
+ paymentStatus: 'pending',
424
+ },
425
+ timeline: [
426
+ {
427
+ timestamp: new Date('2024-01-15T11:00:00Z'),
428
+ status: 'confirmed',
429
+ notes: 'B2B order confirmed, payment terms NET-30',
430
+ performedBy: 'user-2',
431
+ },
432
+ ],
433
+ createdAt: new Date('2024-01-15T11:00:00Z'),
434
+ updatedAt: new Date('2024-01-15T11:00:00Z'),
435
+ },
436
+ {
437
+ id: 'order-3',
438
+ orderNumber: 'ORD-2024-001003',
439
+ customerId: 'customer-3',
440
+ customerInfo: {
441
+ name: 'Carol Johnson',
442
+ email: 'carol@globallogistics.com',
443
+ phone: '+1-555-0203',
444
+ company: 'Global Logistics Corp',
445
+ },
446
+ items: [
447
+ {
448
+ id: 'item-3',
449
+ productId: 'product-3',
450
+ name: 'Smartphone Pro Max',
451
+ quantity: 10,
452
+ weight: 0.2,
453
+ dimensions: { length: 16, width: 8, height: 1, unit: 'cm' },
454
+ value: 999.99,
455
+ sku: 'ELEC-PHONE-001',
456
+ barcode: '1234567890125',
457
+ },
458
+ ],
459
+ status: 'delivered',
460
+ orderType: 'b2b',
461
+ priority: 'normal',
462
+ pickupAddress: {
463
+ street: '789 Warehouse District',
464
+ city: 'San Francisco',
465
+ state: 'CA',
466
+ postalCode: '94103',
467
+ country: 'USA',
468
+ latitude: 37.7849,
469
+ longitude: -122.4094,
470
+ },
471
+ deliveryAddress: {
472
+ street: '789 Commerce Blvd',
473
+ city: 'Chicago',
474
+ state: 'IL',
475
+ postalCode: '60601',
476
+ country: 'USA',
477
+ latitude: 41.8781,
478
+ longitude: -87.6298,
479
+ },
480
+ scheduledPickup: new Date('2024-01-10T08:00:00Z'),
481
+ scheduledDelivery: new Date('2024-01-12T14:00:00Z'),
482
+ actualPickup: new Date('2024-01-10T08:30:00Z'),
483
+ actualDelivery: new Date('2024-01-12T13:45:00Z'),
484
+ trackingNumber: 'TRK123456791',
485
+ pricing: {
486
+ subtotal: 9999.9,
487
+ taxes: 799.99,
488
+ fees: {
489
+ delivery: 150.0,
490
+ handling: 50.0,
491
+ insurance: 99.99,
492
+ },
493
+ total: 11099.88,
494
+ currency: 'USD',
495
+ paymentMethod: 'wire_transfer',
496
+ paymentStatus: 'paid',
497
+ },
498
+ timeline: [
499
+ {
500
+ timestamp: new Date('2024-01-09T10:00:00Z'),
501
+ status: 'confirmed',
502
+ notes: 'Order confirmed',
503
+ performedBy: 'system',
504
+ },
505
+ {
506
+ timestamp: new Date('2024-01-10T08:30:00Z'),
507
+ status: 'picked_up',
508
+ notes: 'Picked up from warehouse',
509
+ performedBy: 'user-3',
510
+ },
511
+ {
512
+ timestamp: new Date('2024-01-11T16:00:00Z'),
513
+ status: 'in_transit',
514
+ notes: 'In transit to Chicago',
515
+ performedBy: 'system',
516
+ },
517
+ {
518
+ timestamp: new Date('2024-01-12T13:45:00Z'),
519
+ status: 'delivered',
520
+ notes: 'Delivered to recipient',
521
+ performedBy: 'user-3',
522
+ },
523
+ ],
524
+ createdAt: new Date('2024-01-09T10:00:00Z'),
525
+ updatedAt: new Date('2024-01-12T13:45:00Z'),
526
+ },
527
+ {
528
+ id: 'order-4',
529
+ orderNumber: 'ORD-2024-001004',
530
+ customerId: 'customer-4',
531
+ customerInfo: {
532
+ name: 'David Chen',
533
+ email: 'david.chen@home.com',
534
+ phone: '+1-555-0204',
535
+ },
536
+ items: [
537
+ {
538
+ id: 'item-4',
539
+ productId: 'product-1',
540
+ name: 'Gaming Laptop Pro',
541
+ quantity: 1,
542
+ weight: 2.5,
543
+ dimensions: { length: 35, width: 25, height: 3, unit: 'cm' },
544
+ value: 1299.99,
545
+ sku: 'ELEC-LAPTOP-001',
546
+ barcode: '1234567890123',
547
+ },
548
+ ],
549
+ status: 'pending',
550
+ orderType: 'b2c',
551
+ priority: 'low',
552
+ pickupAddress: {
553
+ street: '789 Warehouse District',
554
+ city: 'San Francisco',
555
+ state: 'CA',
556
+ postalCode: '94103',
557
+ country: 'USA',
558
+ latitude: 37.7849,
559
+ longitude: -122.4094,
560
+ },
561
+ deliveryAddress: {
562
+ street: '321 Suburban Lane',
563
+ city: 'Austin',
564
+ state: 'TX',
565
+ postalCode: '73301',
566
+ country: 'USA',
567
+ latitude: 30.2672,
568
+ longitude: -97.7431,
569
+ },
570
+ scheduledPickup: new Date('2024-01-20T10:00:00Z'),
571
+ scheduledDelivery: new Date('2024-01-22T16:00:00Z'),
572
+ trackingNumber: 'TRK123456792',
573
+ pricing: {
574
+ subtotal: 1299.99,
575
+ taxes: 103.99,
576
+ fees: {
577
+ delivery: 35.0,
578
+ handling: 5.0,
579
+ },
580
+ total: 1443.98,
581
+ currency: 'USD',
582
+ paymentMethod: 'credit_card',
583
+ paymentStatus: 'paid',
584
+ },
585
+ timeline: [
586
+ {
587
+ timestamp: new Date('2024-01-17T14:00:00Z'),
588
+ status: 'pending',
589
+ notes: 'Order received',
590
+ performedBy: 'system',
591
+ },
592
+ ],
593
+ createdAt: new Date('2024-01-17T14:00:00Z'),
594
+ updatedAt: new Date('2024-01-17T14:00:00Z'),
595
+ },
596
+ ];
597
+
598
+ // Mock Vehicles
599
+ export const mockVehicles: Vehicle[] = [
600
+ {
601
+ id: 'vehicle-1',
602
+ vehicleNumber: 'VAN-001',
603
+ type: 'van',
604
+ make: 'Ford',
605
+ model: 'Transit',
606
+ year: 2022,
607
+ capacity: {
608
+ weight: 1500,
609
+ volume: 12.5,
610
+ pallets: 4,
611
+ },
612
+ status: 'assigned',
613
+ driverId: 'user-3',
614
+ currentLocation: {
615
+ latitude: 37.7749,
616
+ longitude: -122.4194,
617
+ address: 'Downtown San Francisco',
618
+ timestamp: new Date('2024-01-15T10:30:00Z'),
619
+ accuracy: 10,
620
+ },
621
+ lastMaintenance: new Date('2023-12-15T00:00:00Z'),
622
+ nextMaintenance: new Date('2024-03-15T00:00:00Z'),
623
+ fuelLevel: 75,
624
+ mileage: 35420,
625
+ documents: [
626
+ {
627
+ id: 'doc-1',
628
+ type: 'registration',
629
+ documentUrl: '/documents/vehicle-1-registration.pdf',
630
+ expiryDate: new Date('2025-06-30T00:00:00Z'),
631
+ verified: true,
632
+ },
633
+ {
634
+ id: 'doc-2',
635
+ type: 'insurance',
636
+ documentUrl: '/documents/vehicle-1-insurance.pdf',
637
+ expiryDate: new Date('2024-12-31T00:00:00Z'),
638
+ verified: true,
639
+ },
640
+ ],
641
+ createdAt: new Date('2022-03-01T00:00:00Z'),
642
+ },
643
+ {
644
+ id: 'vehicle-2',
645
+ vehicleNumber: 'TRUCK-001',
646
+ type: 'truck',
647
+ make: 'Mercedes',
648
+ model: 'Sprinter',
649
+ year: 2021,
650
+ capacity: {
651
+ weight: 3500,
652
+ volume: 17.0,
653
+ pallets: 8,
654
+ },
655
+ status: 'available',
656
+ currentLocation: {
657
+ latitude: 37.7849,
658
+ longitude: -122.4094,
659
+ address: 'Warehouse District',
660
+ timestamp: new Date('2024-01-15T08:00:00Z'),
661
+ accuracy: 5,
662
+ },
663
+ lastMaintenance: new Date('2024-01-01T00:00:00Z'),
664
+ nextMaintenance: new Date('2024-04-01T00:00:00Z'),
665
+ fuelLevel: 90,
666
+ mileage: 28750,
667
+ documents: [
668
+ {
669
+ id: 'doc-3',
670
+ type: 'registration',
671
+ documentUrl: '/documents/vehicle-2-registration.pdf',
672
+ expiryDate: new Date('2025-08-15T00:00:00Z'),
673
+ verified: true,
674
+ },
675
+ ],
676
+ createdAt: new Date('2021-08-15T00:00:00Z'),
677
+ },
678
+ {
679
+ id: 'vehicle-3',
680
+ vehicleNumber: 'VAN-002',
681
+ type: 'van',
682
+ make: 'Chevrolet',
683
+ model: 'Express',
684
+ year: 2023,
685
+ capacity: {
686
+ weight: 1800,
687
+ volume: 14.0,
688
+ pallets: 5,
689
+ },
690
+ status: 'maintenance',
691
+ lastMaintenance: new Date('2024-01-10T00:00:00Z'),
692
+ nextMaintenance: new Date('2024-01-20T00:00:00Z'),
693
+ fuelLevel: 45,
694
+ mileage: 12500,
695
+ documents: [],
696
+ createdAt: new Date('2023-06-01T00:00:00Z'),
697
+ },
698
+ ];
699
+
700
+ // Mock Drivers
701
+ export const mockDrivers: Driver[] = [
702
+ {
703
+ id: 'driver-1',
704
+ userId: 'user-3',
705
+ fullName: 'Mike Wilson',
706
+ employeeId: 'EMP001',
707
+ licenseNumber: 'DL123456789',
708
+ licenseType: 'Commercial Class A',
709
+ licenseExpiry: new Date('2026-05-15T00:00:00Z'),
710
+ vehicleIds: ['vehicle-1'],
711
+ assignedVehicle: 'vehicle-1',
712
+ status: 'busy',
713
+ currentLocation: {
714
+ latitude: 37.7749,
715
+ longitude: -122.4194,
716
+ address: 'Downtown San Francisco',
717
+ timestamp: new Date('2024-01-15T10:30:00Z'),
718
+ accuracy: 10,
719
+ },
720
+ joinDate: new Date('2021-03-15T00:00:00Z'),
721
+ baseSalary: 55000,
722
+ completedOrders: 1250,
723
+ todayOrders: 5,
724
+ specializations: ['local_delivery', 'refrigerated_transport'],
725
+ workingHours: {
726
+ startTime: '08:00',
727
+ endTime: '17:00',
728
+ workingDays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday'],
729
+ maxHoursPerDay: 8,
730
+ maxHoursPerWeek: 40,
731
+ currentHoursToday: 2.5,
732
+ currentHoursThisWeek: 22,
733
+ },
734
+ ratings: {
735
+ overall: 4.8,
736
+ punctuality: 4.9,
737
+ communication: 4.7,
738
+ carefulHandling: 4.8,
739
+ professionalism: 4.8,
740
+ onTimeDelivery: 4.9,
741
+ totalRatings: 156,
742
+ },
743
+ documents: [
744
+ {
745
+ id: 'driver-doc-1',
746
+ type: 'license',
747
+ documentUrl: '/documents/driver-1-license.pdf',
748
+ expiryDate: new Date('2026-05-15T00:00:00Z'),
749
+ verified: true,
750
+ },
751
+ ],
752
+ earnings: {
753
+ totalEarnings: 45230.5,
754
+ weeklyEarnings: 892.25,
755
+ monthlyEarnings: 3580.75,
756
+ pendingPayments: 450.0,
757
+ completedDeliveries: 1247,
758
+ bonuses: 230.0,
759
+ },
760
+ compliance: {
761
+ hoursOfService: true,
762
+ documentation: true,
763
+ vehicleInspection: true,
764
+ lastUpdate: new Date('2024-01-15T08:00:00Z'),
765
+ },
766
+ createdAt: new Date('2021-03-15T00:00:00Z'),
767
+ },
768
+ {
769
+ id: 'driver-2',
770
+ userId: 'user-5',
771
+ fullName: 'James Rodriguez',
772
+ employeeId: 'EMP002',
773
+ licenseNumber: 'DL987654321',
774
+ licenseType: 'Commercial Class B',
775
+ licenseExpiry: new Date('2025-11-20T00:00:00Z'),
776
+ vehicleIds: ['vehicle-2'],
777
+ status: 'available',
778
+ joinDate: new Date('2022-06-01T00:00:00Z'),
779
+ baseSalary: 52000,
780
+ completedOrders: 850,
781
+ todayOrders: 0,
782
+ specializations: ['long_haul', 'heavy_freight'],
783
+ workingHours: {
784
+ startTime: '06:00',
785
+ endTime: '15:00',
786
+ workingDays: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'],
787
+ maxHoursPerDay: 10,
788
+ maxHoursPerWeek: 50,
789
+ currentHoursToday: 0,
790
+ currentHoursThisWeek: 35,
791
+ },
792
+ ratings: {
793
+ overall: 4.6,
794
+ punctuality: 4.5,
795
+ communication: 4.7,
796
+ carefulHandling: 4.6,
797
+ professionalism: 4.7,
798
+ onTimeDelivery: 4.5,
799
+ totalRatings: 98,
800
+ },
801
+ documents: [],
802
+ earnings: {
803
+ totalEarnings: 32150.0,
804
+ weeklyEarnings: 780.5,
805
+ monthlyEarnings: 3120.0,
806
+ pendingPayments: 0,
807
+ completedDeliveries: 848,
808
+ bonuses: 150.0,
809
+ },
810
+ compliance: {
811
+ hoursOfService: true,
812
+ documentation: true,
813
+ vehicleInspection: true,
814
+ lastUpdate: new Date('2024-01-14T06:00:00Z'),
815
+ },
816
+ createdAt: new Date('2022-06-01T00:00:00Z'),
817
+ },
818
+ ];
819
+
820
+ // Mock Warehouses
821
+ export const mockWarehouses: Warehouse[] = [
822
+ {
823
+ id: 'warehouse-1',
824
+ name: 'Main Distribution Center',
825
+ code: 'MDC-SF-001',
826
+ address: {
827
+ street: '789 Warehouse District',
828
+ city: 'San Francisco',
829
+ state: 'CA',
830
+ postalCode: '94103',
831
+ country: 'USA',
832
+ latitude: 37.7849,
833
+ longitude: -122.4094,
834
+ },
835
+ type: 'distribution',
836
+ capacity: {
837
+ totalSpace: 50000,
838
+ usedSpace: 32500,
839
+ totalPallets: 2000,
840
+ usedPallets: 1300,
841
+ specialAreas: [
842
+ {
843
+ type: 'cold_storage',
844
+ capacity: 500,
845
+ currentUsage: 200,
846
+ temperature: { min: -18, max: -15, unit: 'celsius' },
847
+ },
848
+ {
849
+ type: 'hazmat',
850
+ capacity: 100,
851
+ currentUsage: 25,
852
+ },
853
+ ],
854
+ },
855
+ operatingHours: {
856
+ Monday: { open: '06:00', close: '22:00' },
857
+ Tuesday: { open: '06:00', close: '22:00' },
858
+ Wednesday: { open: '06:00', close: '22:00' },
859
+ Thursday: { open: '06:00', close: '22:00' },
860
+ Friday: { open: '06:00', close: '22:00' },
861
+ Saturday: { open: '08:00', close: '18:00' },
862
+ Sunday: null,
863
+ },
864
+ contacts: [
865
+ {
866
+ primaryEmail: 'warehouse@quicklogistics.com',
867
+ primaryPhone: '+1-555-0150',
868
+ },
869
+ ],
870
+ zones: [
871
+ {
872
+ id: 'zone-1',
873
+ name: 'Receiving Dock A',
874
+ type: 'receiving',
875
+ location: 'North Wing',
876
+ capacity: 200,
877
+ currentOccupancy: 45,
878
+ },
879
+ {
880
+ id: 'zone-2',
881
+ name: 'Storage Area 1',
882
+ type: 'storage',
883
+ location: 'Central Area',
884
+ capacity: 1000,
885
+ currentOccupancy: 650,
886
+ },
887
+ {
888
+ id: 'zone-3',
889
+ name: 'Picking Zone A',
890
+ type: 'picking',
891
+ location: 'East Wing',
892
+ capacity: 300,
893
+ currentOccupancy: 180,
894
+ },
895
+ ],
896
+ equipment: [
897
+ {
898
+ id: 'equip-1',
899
+ type: 'forklift',
900
+ model: 'Toyota 8FGU25',
901
+ status: 'operational',
902
+ lastMaintenance: new Date('2024-01-01T00:00:00Z'),
903
+ nextMaintenance: new Date('2024-04-01T00:00:00Z'),
904
+ },
905
+ ],
906
+ staff: [
907
+ {
908
+ userId: 'user-5',
909
+ role: 'supervisor',
910
+ shift: 'morning',
911
+ permissions: ['manage_inventory', 'assign_tasks', 'view_reports'],
912
+ },
913
+ ],
914
+ metrics: {
915
+ throughput: 850,
916
+ accuracy: 99.2,
917
+ productivity: 87.5,
918
+ utilization: 65.0,
919
+ ordersFulfilled: 1247,
920
+ averageProcessingTime: 15.5,
921
+ lastUpdated: new Date('2024-01-15T10:00:00Z'),
922
+ },
923
+ isActive: true,
924
+ createdAt: new Date('2022-01-01T00:00:00Z'),
925
+ },
926
+ ];
927
+
928
+ // Mock Inventory
929
+ export const mockInventory: Inventory[] = [
930
+ {
931
+ id: 'inv-1',
932
+ productId: 'product-1',
933
+ warehouseId: 'warehouse-1',
934
+ zoneId: 'zone-2',
935
+ quantity: 85,
936
+ reservedQuantity: 12,
937
+ availableQuantity: 73,
938
+ reorderLevel: 20,
939
+ maxLevel: 100,
940
+ lastRestocked: new Date('2024-01-10T00:00:00Z'),
941
+ location: {
942
+ aisle: 'A',
943
+ shelf: '12',
944
+ position: 'B',
945
+ level: 2,
946
+ },
947
+ movements: [
948
+ {
949
+ id: 'mov-1',
950
+ type: 'outbound',
951
+ quantity: -1,
952
+ reason: 'Order fulfillment',
953
+ reference: 'order-1',
954
+ performedBy: 'user-3',
955
+ timestamp: new Date('2024-01-15T09:15:00Z'),
956
+ cost: 1299.99,
957
+ },
958
+ ],
959
+ createdAt: new Date('2023-01-01T00:00:00Z'),
960
+ updatedAt: new Date('2024-01-15T09:15:00Z'),
961
+ },
962
+ {
963
+ id: 'inv-2',
964
+ productId: 'product-2',
965
+ warehouseId: 'warehouse-1',
966
+ zoneId: 'zone-2',
967
+ quantity: 45,
968
+ reservedQuantity: 5,
969
+ availableQuantity: 40,
970
+ reorderLevel: 10,
971
+ maxLevel: 50,
972
+ lastRestocked: new Date('2024-01-12T00:00:00Z'),
973
+ location: {
974
+ aisle: 'B',
975
+ shelf: '5',
976
+ position: 'A',
977
+ level: 1,
978
+ },
979
+ movements: [
980
+ {
981
+ id: 'mov-2',
982
+ type: 'inbound',
983
+ quantity: 25,
984
+ reason: 'Restock',
985
+ reference: 'PO-2024-001',
986
+ performedBy: 'user-5',
987
+ timestamp: new Date('2024-01-12T00:00:00Z'),
988
+ cost: 8749.75,
989
+ },
990
+ ],
991
+ createdAt: new Date('2023-01-01T00:00:00Z'),
992
+ updatedAt: new Date('2024-01-12T00:00:00Z'),
993
+ },
994
+ {
995
+ id: 'inv-3',
996
+ productId: 'product-3',
997
+ warehouseId: 'warehouse-1',
998
+ zoneId: 'zone-2',
999
+ quantity: 150,
1000
+ reservedQuantity: 20,
1001
+ availableQuantity: 130,
1002
+ reorderLevel: 30,
1003
+ maxLevel: 200,
1004
+ lastRestocked: new Date('2024-01-14T00:00:00Z'),
1005
+ location: {
1006
+ aisle: 'A',
1007
+ shelf: '8',
1008
+ position: 'C',
1009
+ level: 3,
1010
+ },
1011
+ movements: [],
1012
+ createdAt: new Date('2023-06-01T00:00:00Z'),
1013
+ updatedAt: new Date('2024-01-14T00:00:00Z'),
1014
+ },
1015
+ ];
1016
+
1017
+ // Mock Routes
1018
+ export const mockRoutes: Route[] = [
1019
+ {
1020
+ id: 'route-1',
1021
+ name: 'Downtown Delivery Route 1',
1022
+ driverId: 'driver-1',
1023
+ vehicleId: 'vehicle-1',
1024
+ status: 'in_progress',
1025
+ stops: [
1026
+ {
1027
+ id: 'stop-1',
1028
+ orderId: 'order-1',
1029
+ sequence: 1,
1030
+ address: {
1031
+ street: '789 Warehouse District',
1032
+ city: 'San Francisco',
1033
+ state: 'CA',
1034
+ postalCode: '94103',
1035
+ country: 'USA',
1036
+ latitude: 37.7849,
1037
+ longitude: -122.4094,
1038
+ },
1039
+ type: 'pickup',
1040
+ scheduledTime: new Date('2024-01-15T09:00:00Z'),
1041
+ actualTime: new Date('2024-01-15T09:15:00Z'),
1042
+ duration: 15,
1043
+ status: 'completed',
1044
+ notes: 'Package picked up successfully',
1045
+ },
1046
+ {
1047
+ id: 'stop-2',
1048
+ orderId: 'order-1',
1049
+ sequence: 2,
1050
+ address: {
1051
+ street: '456 Residential Ave',
1052
+ city: 'San Francisco',
1053
+ state: 'CA',
1054
+ postalCode: '94110',
1055
+ country: 'USA',
1056
+ latitude: 37.7349,
1057
+ longitude: -122.4294,
1058
+ },
1059
+ type: 'delivery',
1060
+ scheduledTime: new Date('2024-01-15T14:00:00Z'),
1061
+ duration: 10,
1062
+ status: 'pending',
1063
+ },
1064
+ ],
1065
+ distance: 18.5,
1066
+ estimatedDuration: 45,
1067
+ startTime: new Date('2024-01-15T08:45:00Z'),
1068
+ optimized: true,
1069
+ trafficConditions: [
1070
+ {
1071
+ timestamp: new Date('2024-01-15T10:30:00Z'),
1072
+ condition: 'moderate',
1073
+ delay: 5,
1074
+ location: 'Mission Street Bridge',
1075
+ },
1076
+ ],
1077
+ createdAt: new Date('2024-01-15T08:00:00Z'),
1078
+ },
1079
+ ];
1080
+
1081
+ // Mock Tracking
1082
+ export const mockTracking: Tracking[] = [
1083
+ {
1084
+ id: 'track-1',
1085
+ entityId: 'order-1',
1086
+ entityType: 'order',
1087
+ currentLocation: {
1088
+ latitude: 37.7549,
1089
+ longitude: -122.4244,
1090
+ address: 'En route to delivery',
1091
+ timestamp: new Date('2024-01-15T10:30:00Z'),
1092
+ accuracy: 10,
1093
+ },
1094
+ locationHistory: [
1095
+ {
1096
+ latitude: 37.7849,
1097
+ longitude: -122.4094,
1098
+ address: 'Warehouse District',
1099
+ timestamp: new Date('2024-01-15T09:15:00Z'),
1100
+ accuracy: 5,
1101
+ },
1102
+ {
1103
+ latitude: 37.7749,
1104
+ longitude: -122.4194,
1105
+ address: 'Downtown',
1106
+ timestamp: new Date('2024-01-15T10:00:00Z'),
1107
+ accuracy: 8,
1108
+ },
1109
+ ],
1110
+ status: 'In Transit',
1111
+ estimatedArrival: new Date('2024-01-15T14:00:00Z'),
1112
+ nextCheckpoint: '456 Residential Ave',
1113
+ alerts: [
1114
+ {
1115
+ id: 'alert-1',
1116
+ type: 'delay',
1117
+ severity: 'low',
1118
+ message: 'Minor traffic delay on Mission Street',
1119
+ timestamp: new Date('2024-01-15T10:25:00Z'),
1120
+ acknowledged: true,
1121
+ resolvedAt: new Date('2024-01-15T10:30:00Z'),
1122
+ },
1123
+ ],
1124
+ lastUpdated: new Date('2024-01-15T10:30:00Z'),
1125
+ },
1126
+ ];
1127
+
1128
+ // Mock Notifications
1129
+ export const mockNotifications: Notification[] = [
1130
+ {
1131
+ id: 'notif-1',
1132
+ type: 'success',
1133
+ title: 'Order Picked Up',
1134
+ message: 'Order ORD-2024-001001 has been successfully picked up and is en route',
1135
+ read: false,
1136
+ actionUrl: '/orders/order-1',
1137
+ createdAt: new Date('2024-01-15T09:15:00Z'),
1138
+ },
1139
+ {
1140
+ id: 'notif-2',
1141
+ type: 'warning',
1142
+ title: 'Low Inventory Alert',
1143
+ message: 'Gaming Laptop Pro is running low in stock (20 units remaining)',
1144
+ read: false,
1145
+ actionUrl: '/inventory',
1146
+ createdAt: new Date('2024-01-15T08:00:00Z'),
1147
+ },
1148
+ {
1149
+ id: 'notif-3',
1150
+ type: 'info',
1151
+ title: 'New Order Received',
1152
+ message: 'New B2B order ORD-2024-001002 from TechStart Inc.',
1153
+ read: true,
1154
+ actionUrl: '/orders/order-2',
1155
+ createdAt: new Date('2024-01-15T11:00:00Z'),
1156
+ },
1157
+ ];
1158
+
1159
+ // Mock Service Providers
1160
+ export const mockServiceProviders: ServiceProvider[] = [
1161
+ {
1162
+ id: 'provider-1',
1163
+ userId: 'user-sp-1',
1164
+ companyName: 'QuickLogistics Pro',
1165
+ businessType: 'logistics',
1166
+ description:
1167
+ 'Premium last-mile delivery services with real-time tracking and guaranteed delivery windows.',
1168
+ services: [],
1169
+ coverage: {
1170
+ countries: ['United States'],
1171
+ states: ['CA', 'NY', 'TX', 'FL'],
1172
+ cities: ['San Francisco', 'Los Angeles', 'New York', 'Austin', 'Miami'],
1173
+ zipCodes: [],
1174
+ serviceRadius: 50,
1175
+ domesticService: true,
1176
+ internationalService: false,
1177
+ },
1178
+ certifications: [
1179
+ {
1180
+ id: 'cert-1',
1181
+ name: 'DOT Certification',
1182
+ issuingBody: 'Department of Transportation',
1183
+ certificateNumber: 'DOT-123456',
1184
+ issueDate: new Date('2023-01-15'),
1185
+ expiryDate: new Date('2025-01-15'),
1186
+ documentUrl: '/docs/dot-cert.pdf',
1187
+ verified: true,
1188
+ },
1189
+ ],
1190
+ pricing: {
1191
+ model: 'per_shipment',
1192
+ basePrice: 15.99,
1193
+ currency: 'USD',
1194
+ minimumCharge: 10.0,
1195
+ additionalFees: [],
1196
+ discounts: [],
1197
+ negotiable: false,
1198
+ },
1199
+ availability: {
1200
+ operatingHours: {
1201
+ monday: { open: '08:00', close: '18:00' },
1202
+ tuesday: { open: '08:00', close: '18:00' },
1203
+ wednesday: { open: '08:00', close: '18:00' },
1204
+ thursday: { open: '08:00', close: '18:00' },
1205
+ friday: { open: '08:00', close: '18:00' },
1206
+ saturday: { open: '09:00', close: '15:00' },
1207
+ sunday: null,
1208
+ },
1209
+ responseTime: 2,
1210
+ leadTime: 1,
1211
+ capacity: 100,
1212
+ blackoutDates: [],
1213
+ emergencyService: true,
1214
+ },
1215
+ rating: 4.8,
1216
+ totalReviews: 156,
1217
+ verificationStatus: 'verified',
1218
+ documents: [],
1219
+ contactInfo: {
1220
+ primaryEmail: 'contact@quicklogistics.com',
1221
+ primaryPhone: '+1-555-QUICK',
1222
+ website: 'https://quicklogistics.com',
1223
+ },
1224
+ isActive: true,
1225
+ featured: true,
1226
+ createdAt: new Date('2023-02-01'),
1227
+ updatedAt: new Date('2024-01-15'),
1228
+ },
1229
+ ];
1230
+
1231
+ // Mock Service Offerings
1232
+ export const mockServiceOfferings: ServiceOffering[] = [
1233
+ {
1234
+ id: 'service-1',
1235
+ serviceProviderId: 'provider-1',
1236
+ title: 'Same-Day Delivery',
1237
+ description:
1238
+ 'Guaranteed same-day delivery within the city limits with real-time tracking and SMS notifications.',
1239
+ category: 'last_mile_delivery',
1240
+ subCategory: 'same_day',
1241
+ features: [
1242
+ 'Real-time tracking',
1243
+ 'SMS notifications',
1244
+ 'Proof of delivery photos',
1245
+ 'Signature capture',
1246
+ 'Insurance included',
1247
+ ],
1248
+ pricing: {
1249
+ basePrice: 15.99,
1250
+ currency: 'USD',
1251
+ pricePerUnit: 2.5,
1252
+ unit: 'kg',
1253
+ minimumCharge: 15.99,
1254
+ },
1255
+ duration: {
1256
+ estimated: 4,
1257
+ minimum: 2,
1258
+ maximum: 8,
1259
+ unit: 'hours',
1260
+ },
1261
+ requirements: [
1262
+ 'Package weight under 30kg',
1263
+ 'Pickup within city limits',
1264
+ 'Delivery within city limits',
1265
+ ],
1266
+ capacity: {
1267
+ maxWeight: 30,
1268
+ maxVolume: 0.5,
1269
+ maxDistance: 50,
1270
+ simultaneousOrders: 25,
1271
+ },
1272
+ images: ['/images/same-day-delivery-1.jpg'],
1273
+ tags: ['fast', 'reliable', 'tracking', 'urban'],
1274
+ isActive: true,
1275
+ createdAt: new Date('2023-02-15'),
1276
+ },
1277
+ ];
1278
+
1279
+ // Mock Analytics
1280
+ export const mockAnalytics: Analytics = {
1281
+ overview: {
1282
+ totalOrders: 15420,
1283
+ totalRevenue: 2845670.5,
1284
+ activeVehicles: 28,
1285
+ onTimeDeliveryRate: 94.2,
1286
+ customerSatisfaction: 4.7,
1287
+ },
1288
+ trends: {
1289
+ dailyOrders: [
1290
+ { date: '2024-01-08', orders: 156 },
1291
+ { date: '2024-01-09', orders: 143 },
1292
+ { date: '2024-01-10', orders: 189 },
1293
+ { date: '2024-01-11', orders: 167 },
1294
+ { date: '2024-01-12', orders: 201 },
1295
+ { date: '2024-01-13', orders: 178 },
1296
+ { date: '2024-01-14', orders: 195 },
1297
+ { date: '2024-01-15', orders: 87 },
1298
+ ],
1299
+ revenue: [
1300
+ { month: 'Sep', revenue: 234500 },
1301
+ { month: 'Oct', revenue: 267800 },
1302
+ { month: 'Nov', revenue: 289400 },
1303
+ { month: 'Dec', revenue: 312600 },
1304
+ { month: 'Jan', revenue: 245670 },
1305
+ ],
1306
+ },
1307
+ fleet: {
1308
+ utilization: 78.5,
1309
+ totalVehicles: 35,
1310
+ activeVehicles: 28,
1311
+ maintenanceVehicles: 4,
1312
+ outOfServiceVehicles: 3,
1313
+ fuelEfficiency: 12.8,
1314
+ },
1315
+ performance: {
1316
+ onTimePickup: 92.1,
1317
+ onTimeDelivery: 94.2,
1318
+ damagedItems: 0.3,
1319
+ customerComplaints: 1.2,
1320
+ driverRatings: 4.6,
1321
+ },
1322
+ };
1323
+
1324
+ // Export all mock data
1325
+ export const mockData = {
1326
+ users: mockUsers,
1327
+ customers: mockCustomers,
1328
+ products: mockProducts,
1329
+ orders: mockOrders,
1330
+ vehicles: mockVehicles,
1331
+ drivers: mockDrivers,
1332
+ warehouses: mockWarehouses,
1333
+ inventory: mockInventory,
1334
+ routes: mockRoutes,
1335
+ tracking: mockTracking,
1336
+ notifications: mockNotifications,
1337
+ serviceProviders: mockServiceProviders,
1338
+ serviceOfferings: mockServiceOfferings,
1339
+ analytics: mockAnalytics,
1340
+ };
1341
+
1342
+ export default mockData;