@osise/api-client 0.0.1 → 0.0.2

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 (160) hide show
  1. package/README.md +82 -0
  2. package/dist/cjs/api/admin-b2b.js +260 -0
  3. package/dist/cjs/api/admin-b2b.js.map +1 -0
  4. package/dist/cjs/api/admin-finance.js +78 -0
  5. package/dist/cjs/api/admin-finance.js.map +1 -0
  6. package/dist/cjs/api/admin-payouts.js +54 -0
  7. package/dist/cjs/api/admin-payouts.js.map +1 -0
  8. package/dist/cjs/api/admin-qc.js +237 -0
  9. package/dist/cjs/api/admin-qc.js.map +1 -0
  10. package/dist/cjs/api/admin.js +280 -24
  11. package/dist/cjs/api/admin.js.map +1 -1
  12. package/dist/cjs/api/b2b.js +124 -0
  13. package/dist/cjs/api/b2b.js.map +1 -0
  14. package/dist/cjs/api/communication.js +283 -0
  15. package/dist/cjs/api/communication.js.map +1 -0
  16. package/dist/cjs/api/index.js +33 -1
  17. package/dist/cjs/api/index.js.map +1 -1
  18. package/dist/cjs/api/jobs.js +304 -43
  19. package/dist/cjs/api/jobs.js.map +1 -1
  20. package/dist/cjs/api/location.js +91 -0
  21. package/dist/cjs/api/location.js.map +1 -0
  22. package/dist/cjs/api/payments.js +129 -0
  23. package/dist/cjs/api/payments.js.map +1 -0
  24. package/dist/cjs/api/support.js +148 -0
  25. package/dist/cjs/api/support.js.map +1 -0
  26. package/dist/cjs/hooks/index.js +1738 -4
  27. package/dist/cjs/hooks/index.js.map +1 -1
  28. package/dist/cjs/index.js +35 -1
  29. package/dist/cjs/index.js.map +1 -1
  30. package/dist/cjs/types/admin-finance.js +7 -0
  31. package/dist/cjs/types/admin-finance.js.map +1 -0
  32. package/dist/cjs/types/admin-invoice.js +7 -0
  33. package/dist/cjs/types/admin-invoice.js.map +1 -0
  34. package/dist/cjs/types/admin-payout.js +7 -0
  35. package/dist/cjs/types/admin-payout.js.map +1 -0
  36. package/dist/cjs/types/b2b.js +7 -0
  37. package/dist/cjs/types/b2b.js.map +1 -0
  38. package/dist/cjs/types/communication.js +90 -0
  39. package/dist/cjs/types/communication.js.map +1 -0
  40. package/dist/cjs/types/enums.js +343 -1
  41. package/dist/cjs/types/enums.js.map +1 -1
  42. package/dist/cjs/types/index.js +18 -2
  43. package/dist/cjs/types/index.js.map +1 -1
  44. package/dist/cjs/types/job.js +1 -0
  45. package/dist/cjs/types/job.js.map +1 -1
  46. package/dist/cjs/types/location.js +7 -0
  47. package/dist/cjs/types/location.js.map +1 -0
  48. package/dist/cjs/types/payment.js +7 -0
  49. package/dist/cjs/types/payment.js.map +1 -0
  50. package/dist/cjs/types/qc.js +8 -0
  51. package/dist/cjs/types/qc.js.map +1 -0
  52. package/dist/cjs/types/support.js +7 -0
  53. package/dist/cjs/types/support.js.map +1 -0
  54. package/dist/esm/api/admin-b2b.js +255 -0
  55. package/dist/esm/api/admin-b2b.js.map +1 -0
  56. package/dist/esm/api/admin-finance.js +74 -0
  57. package/dist/esm/api/admin-finance.js.map +1 -0
  58. package/dist/esm/api/admin-payouts.js +50 -0
  59. package/dist/esm/api/admin-payouts.js.map +1 -0
  60. package/dist/esm/api/admin-qc.js +233 -0
  61. package/dist/esm/api/admin-qc.js.map +1 -0
  62. package/dist/esm/api/admin.js +275 -22
  63. package/dist/esm/api/admin.js.map +1 -1
  64. package/dist/esm/api/b2b.js +120 -0
  65. package/dist/esm/api/b2b.js.map +1 -0
  66. package/dist/esm/api/communication.js +275 -0
  67. package/dist/esm/api/communication.js.map +1 -0
  68. package/dist/esm/api/index.js +10 -1
  69. package/dist/esm/api/index.js.map +1 -1
  70. package/dist/esm/api/jobs.js +304 -43
  71. package/dist/esm/api/jobs.js.map +1 -1
  72. package/dist/esm/api/location.js +87 -0
  73. package/dist/esm/api/location.js.map +1 -0
  74. package/dist/esm/api/payments.js +124 -0
  75. package/dist/esm/api/payments.js.map +1 -0
  76. package/dist/esm/api/support.js +143 -0
  77. package/dist/esm/api/support.js.map +1 -0
  78. package/dist/esm/hooks/index.js +1552 -3
  79. package/dist/esm/hooks/index.js.map +1 -1
  80. package/dist/esm/index.js +36 -2
  81. package/dist/esm/index.js.map +1 -1
  82. package/dist/esm/types/admin-finance.js +6 -0
  83. package/dist/esm/types/admin-finance.js.map +1 -0
  84. package/dist/esm/types/admin-invoice.js +6 -0
  85. package/dist/esm/types/admin-invoice.js.map +1 -0
  86. package/dist/esm/types/admin-payout.js +6 -0
  87. package/dist/esm/types/admin-payout.js.map +1 -0
  88. package/dist/esm/types/b2b.js +6 -0
  89. package/dist/esm/types/b2b.js.map +1 -0
  90. package/dist/esm/types/communication.js +87 -0
  91. package/dist/esm/types/communication.js.map +1 -0
  92. package/dist/esm/types/enums.js +341 -0
  93. package/dist/esm/types/enums.js.map +1 -1
  94. package/dist/esm/types/index.js +18 -2
  95. package/dist/esm/types/index.js.map +1 -1
  96. package/dist/esm/types/job.js +1 -0
  97. package/dist/esm/types/job.js.map +1 -1
  98. package/dist/esm/types/location.js +6 -0
  99. package/dist/esm/types/location.js.map +1 -0
  100. package/dist/esm/types/payment.js +6 -0
  101. package/dist/esm/types/payment.js.map +1 -0
  102. package/dist/esm/types/qc.js +7 -0
  103. package/dist/esm/types/qc.js.map +1 -0
  104. package/dist/esm/types/support.js +6 -0
  105. package/dist/esm/types/support.js.map +1 -0
  106. package/dist/types/api/admin-b2b.d.ts +225 -0
  107. package/dist/types/api/admin-b2b.d.ts.map +1 -0
  108. package/dist/types/api/admin-finance.d.ts +52 -0
  109. package/dist/types/api/admin-finance.d.ts.map +1 -0
  110. package/dist/types/api/admin-payouts.d.ts +37 -0
  111. package/dist/types/api/admin-payouts.d.ts.map +1 -0
  112. package/dist/types/api/admin-qc.d.ts +157 -0
  113. package/dist/types/api/admin-qc.d.ts.map +1 -0
  114. package/dist/types/api/admin.d.ts +184 -17
  115. package/dist/types/api/admin.d.ts.map +1 -1
  116. package/dist/types/api/b2b.d.ts +77 -0
  117. package/dist/types/api/b2b.d.ts.map +1 -0
  118. package/dist/types/api/communication.d.ts +201 -0
  119. package/dist/types/api/communication.d.ts.map +1 -0
  120. package/dist/types/api/index.d.ts +10 -1
  121. package/dist/types/api/index.d.ts.map +1 -1
  122. package/dist/types/api/jobs.d.ts +197 -38
  123. package/dist/types/api/jobs.d.ts.map +1 -1
  124. package/dist/types/api/location.d.ts +76 -0
  125. package/dist/types/api/location.d.ts.map +1 -0
  126. package/dist/types/api/payments.d.ts +81 -0
  127. package/dist/types/api/payments.d.ts.map +1 -0
  128. package/dist/types/api/support.d.ts +101 -0
  129. package/dist/types/api/support.d.ts.map +1 -0
  130. package/dist/types/hooks/index.d.ts +965 -6
  131. package/dist/types/hooks/index.d.ts.map +1 -1
  132. package/dist/types/index.d.ts +32 -2
  133. package/dist/types/index.d.ts.map +1 -1
  134. package/dist/types/types/admin-finance.d.ts +265 -0
  135. package/dist/types/types/admin-finance.d.ts.map +1 -0
  136. package/dist/types/types/admin-invoice.d.ts +262 -0
  137. package/dist/types/types/admin-invoice.d.ts.map +1 -0
  138. package/dist/types/types/admin-payout.d.ts +180 -0
  139. package/dist/types/types/admin-payout.d.ts.map +1 -0
  140. package/dist/types/types/admin.d.ts +1341 -0
  141. package/dist/types/types/admin.d.ts.map +1 -1
  142. package/dist/types/types/b2b.d.ts +687 -0
  143. package/dist/types/types/b2b.d.ts.map +1 -0
  144. package/dist/types/types/communication.d.ts +670 -0
  145. package/dist/types/types/communication.d.ts.map +1 -0
  146. package/dist/types/types/enums.d.ts +311 -0
  147. package/dist/types/types/enums.d.ts.map +1 -1
  148. package/dist/types/types/index.d.ts +10 -1
  149. package/dist/types/types/index.d.ts.map +1 -1
  150. package/dist/types/types/job.d.ts +576 -55
  151. package/dist/types/types/job.d.ts.map +1 -1
  152. package/dist/types/types/location.d.ts +74 -0
  153. package/dist/types/types/location.d.ts.map +1 -0
  154. package/dist/types/types/payment.d.ts +281 -0
  155. package/dist/types/types/payment.d.ts.map +1 -0
  156. package/dist/types/types/qc.d.ts +589 -0
  157. package/dist/types/types/qc.d.ts.map +1 -0
  158. package/dist/types/types/support.d.ts +194 -0
  159. package/dist/types/types/support.d.ts.map +1 -0
  160. package/package.json +1 -1
@@ -0,0 +1,687 @@
1
+ /**
2
+ * B2B DTOs
3
+ * Types for B2B company management, team, properties, and reports
4
+ */
5
+ import { ContractType, CompanyStatus, CompanyUserRole, ContractStatus } from './enums';
6
+ import { PaginationParams } from './common';
7
+ /** Company information visible to B2B consumers */
8
+ export interface CompanyInfoDto {
9
+ companyId: string;
10
+ name: string;
11
+ code: string;
12
+ logoUrl?: string;
13
+ myRole: string;
14
+ permissions: CompanyPermissionsDto;
15
+ contract?: ContractSummaryDto;
16
+ teamMemberCount: number;
17
+ propertyCount: number;
18
+ }
19
+ /** User's permissions within the company */
20
+ export interface CompanyPermissionsDto {
21
+ canRequestServices: boolean;
22
+ canApproveRequests: boolean;
23
+ canViewReports: boolean;
24
+ canManageTeam: boolean;
25
+ spendingLimit?: number;
26
+ }
27
+ /** Summary of active contract for B2B consumers */
28
+ export interface ContractSummaryDto {
29
+ type: string;
30
+ includedHours: number;
31
+ hoursUsedThisPeriod: number;
32
+ hoursRemaining: number;
33
+ currentPeriodEnd: string;
34
+ hasPriorityScheduling: boolean;
35
+ }
36
+ /** Request to link to a company using company code */
37
+ export interface LinkCompanyDto {
38
+ companyCode: string;
39
+ }
40
+ /** Team list request parameters */
41
+ export interface TeamListRequestDto extends PaginationParams {
42
+ search?: string;
43
+ role?: string;
44
+ isActive?: boolean;
45
+ }
46
+ /** Team list response */
47
+ export interface TeamListResponseDto {
48
+ members: TeamMemberInfoDto[];
49
+ totalCount: number;
50
+ page: number;
51
+ pageSize: number;
52
+ totalPages: number;
53
+ }
54
+ /** Team member information */
55
+ export interface TeamMemberInfoDto {
56
+ id: string;
57
+ consumerId: string;
58
+ fullName: string;
59
+ phoneNumber: string;
60
+ email?: string;
61
+ profileImageUrl?: string;
62
+ role: string;
63
+ jobTitle?: string;
64
+ department?: string;
65
+ canRequestServices: boolean;
66
+ canApproveRequests: boolean;
67
+ canViewReports: boolean;
68
+ canManageTeam: boolean;
69
+ spendingLimit?: number;
70
+ joinedAt: string;
71
+ isActive: boolean;
72
+ }
73
+ /** Request to invite a team member */
74
+ export interface InviteTeamMemberDto {
75
+ phoneNumber: string;
76
+ role?: string;
77
+ jobTitle?: string;
78
+ department?: string;
79
+ canRequestServices?: boolean;
80
+ canApproveRequests?: boolean;
81
+ canViewReports?: boolean;
82
+ spendingLimit?: number;
83
+ }
84
+ /** Request to update a team member's role */
85
+ export interface UpdateTeamMemberRoleDto {
86
+ role: string;
87
+ jobTitle?: string;
88
+ department?: string;
89
+ canRequestServices?: boolean;
90
+ canApproveRequests?: boolean;
91
+ canViewReports?: boolean;
92
+ spendingLimit?: number;
93
+ }
94
+ /** Monthly report response */
95
+ export interface B2BReportDto {
96
+ companyId: string;
97
+ companyName: string;
98
+ reportMonth: string;
99
+ periodStart: string;
100
+ periodEnd: string;
101
+ contract: ReportContractSummaryDto;
102
+ jobs: ReportJobSummaryDto;
103
+ financial: ReportFinancialSummaryDto;
104
+ sla: ReportSlaSummaryDto;
105
+ topCategories: ReportCategoryDto[];
106
+ generatedAt: string;
107
+ }
108
+ /** Contract summary for report */
109
+ export interface ReportContractSummaryDto {
110
+ type: string;
111
+ includedHours: number;
112
+ hoursUsed: number;
113
+ usagePercentage: number;
114
+ }
115
+ /** Job summary for report */
116
+ export interface ReportJobSummaryDto {
117
+ total: number;
118
+ completed: number;
119
+ cancelled: number;
120
+ averageRating: number;
121
+ }
122
+ /** Financial summary for report */
123
+ export interface ReportFinancialSummaryDto {
124
+ totalCost: number;
125
+ monthlyFee: number;
126
+ overtimeCharges: number;
127
+ materialsCost: number;
128
+ }
129
+ /** SLA summary for report */
130
+ export interface ReportSlaSummaryDto {
131
+ emergencyCompliance: number;
132
+ routineCompliance: number;
133
+ overallCompliance: number;
134
+ }
135
+ /** Category breakdown for report */
136
+ export interface ReportCategoryDto {
137
+ name: string;
138
+ jobCount: number;
139
+ percentage: number;
140
+ }
141
+ /** Property list request parameters */
142
+ export interface ConsumerPropertyListRequestDto extends PaginationParams {
143
+ search?: string;
144
+ propertyType?: string;
145
+ isActive?: boolean;
146
+ }
147
+ /** Property list response */
148
+ export interface ConsumerPropertyListResponseDto {
149
+ properties: PropertyInfoDto[];
150
+ totalCount: number;
151
+ page: number;
152
+ pageSize: number;
153
+ totalPages: number;
154
+ }
155
+ /** Property information for list */
156
+ export interface PropertyInfoDto {
157
+ id: string;
158
+ name: string;
159
+ code?: string;
160
+ propertyType?: string;
161
+ address: string;
162
+ city: string;
163
+ state: string;
164
+ managerName?: string;
165
+ managerPhone?: string;
166
+ isActive: boolean;
167
+ }
168
+ /** Detailed property response */
169
+ export interface ConsumerPropertyDetailDto {
170
+ id: string;
171
+ name: string;
172
+ code?: string;
173
+ propertyType?: string;
174
+ description?: string;
175
+ street: string;
176
+ area?: string;
177
+ city: string;
178
+ state: string;
179
+ latitude?: number;
180
+ longitude?: number;
181
+ floors?: number;
182
+ areaSqMeters?: number;
183
+ units?: number;
184
+ yearBuilt?: number;
185
+ managerName?: string;
186
+ managerPhone?: string;
187
+ managerEmail?: string;
188
+ accessInstructions?: string;
189
+ isActive: boolean;
190
+ createdAt: string;
191
+ updatedAt?: string;
192
+ }
193
+ /** Request to create a B2B property */
194
+ export interface CreateB2BPropertyDto {
195
+ name: string;
196
+ street: string;
197
+ city: string;
198
+ state: string;
199
+ code?: string;
200
+ propertyType?: string;
201
+ description?: string;
202
+ area?: string;
203
+ managerName?: string;
204
+ managerPhone?: string;
205
+ managerEmail?: string;
206
+ accessInstructions?: string;
207
+ }
208
+ /** Request to update a B2B property */
209
+ export interface UpdateB2BPropertyDto {
210
+ name?: string;
211
+ code?: string;
212
+ propertyType?: string;
213
+ description?: string;
214
+ street?: string;
215
+ area?: string;
216
+ city?: string;
217
+ state?: string;
218
+ managerName?: string;
219
+ managerPhone?: string;
220
+ managerEmail?: string;
221
+ accessInstructions?: string;
222
+ isActive?: boolean;
223
+ }
224
+ /** Admin company list item */
225
+ export interface AdminCompanyListItemDto {
226
+ id: string;
227
+ name: string;
228
+ code: string;
229
+ industry?: string;
230
+ status: CompanyStatus;
231
+ activeContractType?: ContractType;
232
+ accountManagerName?: string;
233
+ userCount: number;
234
+ propertyCount: number;
235
+ createdAt: string;
236
+ }
237
+ /** Admin company detail */
238
+ export interface AdminCompanyDetailDto {
239
+ id: string;
240
+ name: string;
241
+ code: string;
242
+ industry?: string;
243
+ website?: string;
244
+ logoUrl?: string;
245
+ status: CompanyStatus;
246
+ billingEmail: string;
247
+ billingPhone?: string;
248
+ taxId?: string;
249
+ notes?: string;
250
+ accountManagerId?: string;
251
+ accountManagerName?: string;
252
+ addresses: AdminCompanyAddressDto[];
253
+ activeContract?: AdminContractDto;
254
+ userCount: number;
255
+ propertyCount: number;
256
+ totalJobsCompleted: number;
257
+ totalSpend: number;
258
+ createdAt: string;
259
+ updatedAt?: string;
260
+ }
261
+ /** Company address for admin */
262
+ export interface AdminCompanyAddressDto {
263
+ id: string;
264
+ type: string;
265
+ street: string;
266
+ area?: string;
267
+ city: string;
268
+ state: string;
269
+ isPrimary: boolean;
270
+ }
271
+ /** Request to create a company */
272
+ export interface CreateCompanyDto {
273
+ name: string;
274
+ industry?: string;
275
+ website?: string;
276
+ logoUrl?: string;
277
+ billingEmail: string;
278
+ billingPhone?: string;
279
+ taxId?: string;
280
+ notes?: string;
281
+ accountManagerId?: string;
282
+ addresses?: CreateCompanyAddressDto[];
283
+ }
284
+ /** Request to create a company address */
285
+ export interface CreateCompanyAddressDto {
286
+ type: string;
287
+ street: string;
288
+ area?: string;
289
+ city: string;
290
+ state: string;
291
+ isPrimary?: boolean;
292
+ }
293
+ /** Request to update a company */
294
+ export interface UpdateCompanyDto {
295
+ name?: string;
296
+ industry?: string;
297
+ website?: string;
298
+ logoUrl?: string;
299
+ status?: CompanyStatus;
300
+ billingEmail?: string;
301
+ billingPhone?: string;
302
+ taxId?: string;
303
+ notes?: string;
304
+ accountManagerId?: string;
305
+ }
306
+ /** Company filter parameters */
307
+ export interface CompanyFilterDto extends PaginationParams {
308
+ search?: string;
309
+ industry?: string;
310
+ status?: CompanyStatus;
311
+ contractType?: ContractType;
312
+ accountManagerId?: string;
313
+ }
314
+ /** Result of regenerating company code */
315
+ export interface RegenerateCodeResultDto {
316
+ companyId: string;
317
+ oldCode: string;
318
+ newCode: string;
319
+ }
320
+ /** Request to assign account manager */
321
+ export interface AssignAccountManagerDto {
322
+ accountManagerId: string;
323
+ }
324
+ /** Company user for admin */
325
+ export interface AdminCompanyUserDto {
326
+ id: string;
327
+ consumerId: string;
328
+ fullName: string;
329
+ phoneNumber: string;
330
+ email?: string;
331
+ profileImageUrl?: string;
332
+ role: CompanyUserRole;
333
+ jobTitle?: string;
334
+ department?: string;
335
+ canRequestServices: boolean;
336
+ canApproveRequests: boolean;
337
+ canViewReports: boolean;
338
+ canManageTeam: boolean;
339
+ spendingLimit?: number;
340
+ joinedAt: string;
341
+ isActive: boolean;
342
+ }
343
+ /** Request to add a company user */
344
+ export interface AddCompanyUserDto {
345
+ consumerId: string;
346
+ role?: CompanyUserRole;
347
+ jobTitle?: string;
348
+ department?: string;
349
+ canRequestServices?: boolean;
350
+ canApproveRequests?: boolean;
351
+ canViewReports?: boolean;
352
+ canManageTeam?: boolean;
353
+ spendingLimit?: number;
354
+ }
355
+ /** Request to update a company user */
356
+ export interface UpdateCompanyUserDto {
357
+ role?: CompanyUserRole;
358
+ jobTitle?: string;
359
+ department?: string;
360
+ canRequestServices?: boolean;
361
+ canApproveRequests?: boolean;
362
+ canViewReports?: boolean;
363
+ canManageTeam?: boolean;
364
+ spendingLimit?: number;
365
+ isActive?: boolean;
366
+ }
367
+ /** Contract for admin */
368
+ export interface AdminContractDto {
369
+ id: string;
370
+ companyId: string;
371
+ type: ContractType;
372
+ status: ContractStatus;
373
+ startDate: string;
374
+ endDate: string;
375
+ monthlyFee: number;
376
+ includedHours: number;
377
+ overtimeHourlyRate?: number;
378
+ emergencyResponseHours: number;
379
+ routineResponseHours: number;
380
+ paymentTerms?: string;
381
+ autoRenew: boolean;
382
+ notes?: string;
383
+ signedAt?: string;
384
+ terminatedAt?: string;
385
+ terminationReason?: string;
386
+ createdAt: string;
387
+ updatedAt?: string;
388
+ }
389
+ /** Contract list item */
390
+ export interface AdminContractListItemDto {
391
+ id: string;
392
+ companyName: string;
393
+ type: ContractType;
394
+ status: ContractStatus;
395
+ startDate: string;
396
+ endDate: string;
397
+ monthlyFee: number;
398
+ includedHours: number;
399
+ }
400
+ /** Request to create a contract */
401
+ export interface CreateContractDto {
402
+ type: ContractType;
403
+ startDate: string;
404
+ endDate: string;
405
+ monthlyFee: number;
406
+ includedHours: number;
407
+ overtimeHourlyRate?: number;
408
+ emergencyResponseHours?: number;
409
+ routineResponseHours?: number;
410
+ paymentTerms?: string;
411
+ autoRenew?: boolean;
412
+ notes?: string;
413
+ }
414
+ /** Request to update a contract */
415
+ export interface UpdateContractDto {
416
+ type?: ContractType;
417
+ status?: ContractStatus;
418
+ startDate?: string;
419
+ endDate?: string;
420
+ monthlyFee?: number;
421
+ includedHours?: number;
422
+ overtimeHourlyRate?: number;
423
+ emergencyResponseHours?: number;
424
+ routineResponseHours?: number;
425
+ paymentTerms?: string;
426
+ autoRenew?: boolean;
427
+ notes?: string;
428
+ }
429
+ /** Contract filter parameters */
430
+ export interface ContractFilterDto extends PaginationParams {
431
+ companyId?: string;
432
+ type?: ContractType;
433
+ status?: ContractStatus;
434
+ startDateFrom?: string;
435
+ startDateTo?: string;
436
+ }
437
+ /** Property for admin */
438
+ export interface AdminPropertyDto {
439
+ id: string;
440
+ companyId: string;
441
+ companyName: string;
442
+ name: string;
443
+ code?: string;
444
+ propertyType?: string;
445
+ description?: string;
446
+ street: string;
447
+ area?: string;
448
+ city: string;
449
+ state: string;
450
+ latitude?: number;
451
+ longitude?: number;
452
+ floors?: number;
453
+ areaSqMeters?: number;
454
+ units?: number;
455
+ yearBuilt?: number;
456
+ managerName?: string;
457
+ managerPhone?: string;
458
+ managerEmail?: string;
459
+ accessInstructions?: string;
460
+ isActive: boolean;
461
+ jobCount: number;
462
+ createdAt: string;
463
+ updatedAt?: string;
464
+ }
465
+ /** Property list item for admin */
466
+ export interface AdminPropertyListItemDto {
467
+ id: string;
468
+ companyName: string;
469
+ name: string;
470
+ code?: string;
471
+ propertyType?: string;
472
+ city: string;
473
+ state: string;
474
+ isActive: boolean;
475
+ jobCount: number;
476
+ }
477
+ /** Request to create a property (admin) */
478
+ export interface AdminCreatePropertyDto {
479
+ name: string;
480
+ street: string;
481
+ city: string;
482
+ state: string;
483
+ code?: string;
484
+ propertyType?: string;
485
+ description?: string;
486
+ area?: string;
487
+ latitude?: number;
488
+ longitude?: number;
489
+ floors?: number;
490
+ areaSqMeters?: number;
491
+ units?: number;
492
+ yearBuilt?: number;
493
+ managerName?: string;
494
+ managerPhone?: string;
495
+ managerEmail?: string;
496
+ accessInstructions?: string;
497
+ }
498
+ /** Request to update a property (admin) */
499
+ export interface AdminUpdatePropertyDto {
500
+ name?: string;
501
+ code?: string;
502
+ propertyType?: string;
503
+ description?: string;
504
+ street?: string;
505
+ area?: string;
506
+ city?: string;
507
+ state?: string;
508
+ latitude?: number;
509
+ longitude?: number;
510
+ floors?: number;
511
+ areaSqMeters?: number;
512
+ units?: number;
513
+ yearBuilt?: number;
514
+ managerName?: string;
515
+ managerPhone?: string;
516
+ managerEmail?: string;
517
+ accessInstructions?: string;
518
+ isActive?: boolean;
519
+ }
520
+ /** Property filter parameters */
521
+ export interface PropertyFilterDto extends PaginationParams {
522
+ search?: string;
523
+ companyId?: string;
524
+ propertyType?: string;
525
+ city?: string;
526
+ state?: string;
527
+ isActive?: boolean;
528
+ }
529
+ /** Department code for admin */
530
+ export interface AdminDepartmentCodeDto {
531
+ id: string;
532
+ companyId: string;
533
+ code: string;
534
+ name: string;
535
+ description?: string;
536
+ budgetLimit?: number;
537
+ currentSpend: number;
538
+ isActive: boolean;
539
+ createdAt: string;
540
+ }
541
+ /** Request to create a department code */
542
+ export interface CreateDepartmentCodeDto {
543
+ code: string;
544
+ name: string;
545
+ description?: string;
546
+ budgetLimit?: number;
547
+ }
548
+ /** Request to update a department code */
549
+ export interface UpdateDepartmentCodeDto {
550
+ code?: string;
551
+ name?: string;
552
+ description?: string;
553
+ budgetLimit?: number;
554
+ isActive?: boolean;
555
+ }
556
+ /** Meeting note for admin */
557
+ export interface AdminMeetingNoteDto {
558
+ id: string;
559
+ companyId: string;
560
+ companyName: string;
561
+ meetingDate: string;
562
+ meetingType: string;
563
+ category?: string;
564
+ attendees: string[];
565
+ summary: string;
566
+ actionItems: string[];
567
+ nextSteps?: string;
568
+ sentiment?: string;
569
+ createdById: string;
570
+ createdByName: string;
571
+ createdAt: string;
572
+ updatedAt?: string;
573
+ }
574
+ /** Meeting note list item */
575
+ export interface AdminMeetingNoteListItemDto {
576
+ id: string;
577
+ companyName: string;
578
+ meetingDate: string;
579
+ meetingType: string;
580
+ category?: string;
581
+ summary: string;
582
+ createdByName: string;
583
+ }
584
+ /** Request to create a meeting note */
585
+ export interface CreateMeetingNoteDto {
586
+ meetingDate: string;
587
+ meetingType: string;
588
+ category?: string;
589
+ attendees: string[];
590
+ summary: string;
591
+ actionItems?: string[];
592
+ nextSteps?: string;
593
+ sentiment?: string;
594
+ }
595
+ /** Request to update a meeting note */
596
+ export interface UpdateMeetingNoteDto {
597
+ meetingDate?: string;
598
+ meetingType?: string;
599
+ category?: string;
600
+ attendees?: string[];
601
+ summary?: string;
602
+ actionItems?: string[];
603
+ nextSteps?: string;
604
+ sentiment?: string;
605
+ }
606
+ /** Meeting note filter parameters */
607
+ export interface MeetingNoteFilterDto extends PaginationParams {
608
+ companyId?: string;
609
+ meetingType?: string;
610
+ category?: string;
611
+ dateFrom?: string;
612
+ dateTo?: string;
613
+ createdById?: string;
614
+ }
615
+ /** Usage report for admin */
616
+ export interface AdminUsageReportDto {
617
+ companyId: string;
618
+ companyName: string;
619
+ periodStart: string;
620
+ periodEnd: string;
621
+ contract: UsageReportContractDto;
622
+ jobs: UsageReportJobsDto;
623
+ financial: UsageReportFinancialDto;
624
+ sla: UsageReportSlaDto;
625
+ categoryBreakdown: UsageReportCategoryDto[];
626
+ propertyBreakdown: UsageReportPropertyDto[];
627
+ monthlyTrend: UsageReportMonthDto[];
628
+ generatedAt: string;
629
+ }
630
+ /** Contract info for usage report */
631
+ export interface UsageReportContractDto {
632
+ type: string;
633
+ includedHours: number;
634
+ hoursUsed: number;
635
+ hoursRemaining: number;
636
+ usagePercentage: number;
637
+ }
638
+ /** Job stats for usage report */
639
+ export interface UsageReportJobsDto {
640
+ total: number;
641
+ completed: number;
642
+ cancelled: number;
643
+ inProgress: number;
644
+ averageCompletionTime: number;
645
+ averageRating: number;
646
+ }
647
+ /** Financial stats for usage report */
648
+ export interface UsageReportFinancialDto {
649
+ monthlyFee: number;
650
+ overtimeCharges: number;
651
+ materialsCost: number;
652
+ totalCost: number;
653
+ costSavings: number;
654
+ }
655
+ /** SLA stats for usage report */
656
+ export interface UsageReportSlaDto {
657
+ emergencyResponseTarget: number;
658
+ emergencyResponseActual: number;
659
+ emergencyCompliance: number;
660
+ routineResponseTarget: number;
661
+ routineResponseActual: number;
662
+ routineCompliance: number;
663
+ overallCompliance: number;
664
+ }
665
+ /** Category breakdown for usage report */
666
+ export interface UsageReportCategoryDto {
667
+ categoryName: string;
668
+ jobCount: number;
669
+ totalCost: number;
670
+ hoursUsed: number;
671
+ percentage: number;
672
+ }
673
+ /** Property breakdown for usage report */
674
+ export interface UsageReportPropertyDto {
675
+ propertyId: string;
676
+ propertyName: string;
677
+ jobCount: number;
678
+ totalCost: number;
679
+ }
680
+ /** Monthly data for usage report */
681
+ export interface UsageReportMonthDto {
682
+ month: string;
683
+ jobCount: number;
684
+ totalCost: number;
685
+ hoursUsed: number;
686
+ }
687
+ //# sourceMappingURL=b2b.d.ts.map