@trakit/objects 0.0.1

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 (219) hide show
  1. package/API/Arrays.d.ts +46 -0
  2. package/API/Base.d.ts +18 -0
  3. package/API/BaseComponent.d.ts +37 -0
  4. package/API/BaseCompound.d.ts +19 -0
  5. package/API/Codifier.d.ts +5 -0
  6. package/API/Component.d.ts +42 -0
  7. package/API/Compound.d.ts +19 -0
  8. package/API/Constants.d.ts +39 -0
  9. package/API/Conversion.d.ts +255 -0
  10. package/API/Files.d.ts +21 -0
  11. package/API/Functions.d.ts +191 -0
  12. package/API/Geography/Functions.d.ts +232 -0
  13. package/API/Geography/Interfaces.d.ts +145 -0
  14. package/API/Geography/LatLng.d.ts +78 -0
  15. package/API/Geography/LatLngBounds.d.ts +145 -0
  16. package/API/Geography/Position.d.ts +62 -0
  17. package/API/Geography/StreetAddress.d.ts +58 -0
  18. package/API/Geometry/Functions.d.ts +114 -0
  19. package/API/Geometry/Interfaces.d.ts +111 -0
  20. package/API/Geometry/Point.d.ts +80 -0
  21. package/API/Geometry/Radial.d.ts +109 -0
  22. package/API/Geometry/Rectangle.d.ts +163 -0
  23. package/API/Geometry/Size.d.ts +52 -0
  24. package/API/Guid.d.ts +4 -0
  25. package/API/Interfaces/IAmCompany.d.ts +11 -0
  26. package/API/Interfaces/IBelongAsset.d.ts +15 -0
  27. package/API/Interfaces/IBelongBillingProfile.d.ts +15 -0
  28. package/API/Interfaces/IBelongCompany.d.ts +15 -0
  29. package/API/Interfaces/IDeserializable.d.ts +12 -0
  30. package/API/Interfaces/IEnabled.d.ts +10 -0
  31. package/API/Interfaces/IFileSize.d.ts +9 -0
  32. package/API/Interfaces/IGlobal.d.ts +11 -0
  33. package/API/Interfaces/IHavePermissions.d.ts +20 -0
  34. package/API/Interfaces/IHavePreferences.d.ts +29 -0
  35. package/API/Interfaces/IIconic.d.ts +15 -0
  36. package/API/Interfaces/IIdUlong.d.ts +10 -0
  37. package/API/Interfaces/ILabelled.d.ts +9 -0
  38. package/API/Interfaces/INamed.d.ts +13 -0
  39. package/API/Interfaces/IPictured.d.ts +15 -0
  40. package/API/Interfaces/IRequestable.d.ts +18 -0
  41. package/API/Interfaces/ISerializable.d.ts +10 -0
  42. package/API/Interfaces/ISuspendable.d.ts +16 -0
  43. package/API/Interfaces/IVisual.d.ts +18 -0
  44. package/API/Maps.d.ts +28 -0
  45. package/API/Objects.d.ts +33 -0
  46. package/API/SearchPattern.d.ts +45 -0
  47. package/API/TimeSpan.d.ts +140 -0
  48. package/API/Timezone.d.ts +44 -0
  49. package/API/Timezones.d.ts +7 -0
  50. package/API/Types.d.ts +114 -0
  51. package/Accounts/Contact.d.ts +140 -0
  52. package/Accounts/Machine.d.ts +131 -0
  53. package/Accounts/NotificationMethod.d.ts +17 -0
  54. package/Accounts/Permissions/Authorizer.d.ts +204 -0
  55. package/Accounts/Permissions/Permission.d.ts +57 -0
  56. package/Accounts/Permissions/PermissionEscalation.d.ts +33 -0
  57. package/Accounts/Permissions/PermissionEscalationState.d.ts +17 -0
  58. package/Accounts/Permissions/PermissionEscalationType.d.ts +13 -0
  59. package/Accounts/Permissions/PermissionLevel.d.ts +17 -0
  60. package/Accounts/Permissions/PermissionMethod.d.ts +13 -0
  61. package/Accounts/Permissions/PermissionType.d.ts +280 -0
  62. package/Accounts/Session.d.ts +92 -0
  63. package/Accounts/SessionStatus.d.ts +29 -0
  64. package/Accounts/SystemsOfUnits.d.ts +13 -0
  65. package/Accounts/User.d.ts +147 -0
  66. package/Accounts/UserAdvanced.d.ts +54 -0
  67. package/Accounts/UserGeneral.d.ts +100 -0
  68. package/Accounts/UserGroup.d.ts +52 -0
  69. package/Accounts/UserNotifications.d.ts +76 -0
  70. package/Assets/Asset.d.ts +192 -0
  71. package/Assets/AssetAdvanced.d.ts +90 -0
  72. package/Assets/AssetAttribute.d.ts +71 -0
  73. package/Assets/AssetDispatch.d.ts +63 -0
  74. package/Assets/AssetGeneral.d.ts +109 -0
  75. package/Assets/AssetPlaceStatus.d.ts +31 -0
  76. package/Assets/AssetPlaceStatusType.d.ts +17 -0
  77. package/Assets/AssetType.d.ts +21 -0
  78. package/Assets/Person.d.ts +25 -0
  79. package/Assets/PersonGeneral.d.ts +35 -0
  80. package/Assets/Trailer.d.ts +42 -0
  81. package/Assets/TrailerGeneral.d.ts +47 -0
  82. package/Assets/Vehicle.d.ts +73 -0
  83. package/Assets/VehicleAdvanced.d.ts +25 -0
  84. package/Assets/VehicleGeneral.d.ts +33 -0
  85. package/Behaviours/Behaviour.d.ts +79 -0
  86. package/Behaviours/BehaviourLog.d.ts +97 -0
  87. package/Behaviours/BehaviourLogType.d.ts +21 -0
  88. package/Behaviours/BehaviourParameter.d.ts +37 -0
  89. package/Behaviours/BehaviourParameterType.d.ts +21 -0
  90. package/Behaviours/BehaviourScript.d.ts +84 -0
  91. package/Billing/BillableBase.d.ts +85 -0
  92. package/Billing/BillableSmsProfile.d.ts +26 -0
  93. package/Billing/BillingCurrency.d.ts +17 -0
  94. package/Billing/BillingCycle.d.ts +17 -0
  95. package/Billing/BillingProfile.d.ts +107 -0
  96. package/Billing/Hosting/BillableHostingBase.d.ts +41 -0
  97. package/Billing/Hosting/BillableHostingDiscount.d.ts +35 -0
  98. package/Billing/Hosting/BillableHostingLicense.d.ts +29 -0
  99. package/Billing/Hosting/BillableHostingLicenseType.d.ts +20 -0
  100. package/Billing/Hosting/BillableHostingRule.d.ts +29 -0
  101. package/Billing/Hosting/BillableHostingType.d.ts +41 -0
  102. package/Billing/Report/BillingReport.d.ts +114 -0
  103. package/Billing/Report/BillingReportBreakdown.d.ts +35 -0
  104. package/Billing/Report/BillingReportHostingSummary.d.ts +36 -0
  105. package/Billing/Report/BillingReportLicenseBreakdown.d.ts +80 -0
  106. package/Billing/Report/BillingReportServiceBreakdown.d.ts +126 -0
  107. package/Billing/Report/BillingReportStatus.d.ts +25 -0
  108. package/Billing/Report/BillingReportSummary.d.ts +51 -0
  109. package/Companies/ColourStyle.d.ts +25 -0
  110. package/Companies/Company.d.ts +150 -0
  111. package/Companies/CompanyDirectory.d.ts +49 -0
  112. package/Companies/CompanyGeneral.d.ts +51 -0
  113. package/Companies/CompanyPolicies.d.ts +62 -0
  114. package/Companies/CompanyReseller.d.ts +163 -0
  115. package/Companies/CompanyStyles.d.ts +46 -0
  116. package/Companies/LabelStyle.d.ts +46 -0
  117. package/Companies/NotificationServerEmail.d.ts +99 -0
  118. package/Companies/NotificationServerSms.d.ts +25 -0
  119. package/Companies/PasswordExpiryMode.d.ts +17 -0
  120. package/Companies/PasswordPolicy.d.ts +51 -0
  121. package/Companies/SessionMultiUser.d.ts +17 -0
  122. package/Companies/SessionPolicy.d.ts +47 -0
  123. package/Dispatch/DispatchDirection.d.ts +53 -0
  124. package/Dispatch/DispatchJob.d.ts +109 -0
  125. package/Dispatch/DispatchJobPriority.d.ts +25 -0
  126. package/Dispatch/DispatchStep.d.ts +99 -0
  127. package/Dispatch/DispatchStepState.d.ts +27 -0
  128. package/Dispatch/DispatchStepStatus.d.ts +21 -0
  129. package/Dispatch/DispatchTask.d.ts +156 -0
  130. package/Dispatch/DispatchTaskStatus.d.ts +50 -0
  131. package/Hosting/Document.d.ts +71 -0
  132. package/Hosting/Fields/FormFieldAttachments.d.ts +38 -0
  133. package/Hosting/Fields/FormFieldBase.d.ts +71 -0
  134. package/Hosting/Fields/FormFieldBoolean.d.ts +46 -0
  135. package/Hosting/Fields/FormFieldChoice.d.ts +48 -0
  136. package/Hosting/Fields/FormFieldDate.d.ts +33 -0
  137. package/Hosting/Fields/FormFieldNumeric.d.ts +61 -0
  138. package/Hosting/Fields/FormFieldNumericSize.d.ts +32 -0
  139. package/Hosting/Fields/FormFieldSignature.d.ts +17 -0
  140. package/Hosting/Fields/FormFieldText.d.ts +39 -0
  141. package/Hosting/Fields/FormFieldTime.d.ts +34 -0
  142. package/Hosting/Fields/FormFieldTimezone.d.ts +14 -0
  143. package/Hosting/FormFieldType.d.ts +127 -0
  144. package/Hosting/FormResult.d.ts +97 -0
  145. package/Hosting/FormTemplate.d.ts +81 -0
  146. package/Images/Dashcam.d.ts +70 -0
  147. package/Images/DashcamBase.d.ts +98 -0
  148. package/Images/DashcamLive.d.ts +43 -0
  149. package/Images/DashcamMediaType.d.ts +17 -0
  150. package/Images/Icon.d.ts +87 -0
  151. package/Images/IconGlyph.d.ts +54 -0
  152. package/Images/IconLabel.d.ts +32 -0
  153. package/Images/IconLayer.d.ts +33 -0
  154. package/Images/Picture.d.ts +73 -0
  155. package/Maintenance/MaintenanceInterval.d.ts +49 -0
  156. package/Maintenance/MaintenanceJob.d.ts +137 -0
  157. package/Maintenance/MaintenanceJobStatus.d.ts +21 -0
  158. package/Maintenance/MaintenanceSchedule.d.ts +119 -0
  159. package/Messaging/AlertPriority.d.ts +17 -0
  160. package/Messaging/AssetAlert.d.ts +28 -0
  161. package/Messaging/AssetMessage.d.ts +40 -0
  162. package/Messaging/MessageBase.d.ts +101 -0
  163. package/Messaging/MessageFolder.d.ts +13 -0
  164. package/Messaging/MessageStatus.d.ts +29 -0
  165. package/Messaging/MessageType.d.ts +33 -0
  166. package/Places/Place.d.ts +116 -0
  167. package/Places/PlaceType.d.ts +25 -0
  168. package/Providers/Config/ProviderConfig.d.ts +72 -0
  169. package/Providers/Config/ProviderRegistration.d.ts +123 -0
  170. package/Providers/Config/ProviderScript.d.ts +87 -0
  171. package/Providers/Config/ProviderScriptBlock.d.ts +40 -0
  172. package/Providers/Config/ProviderScriptParameter.d.ts +49 -0
  173. package/Providers/Config/ProviderScriptParameterType.d.ts +17 -0
  174. package/Providers/Configuration/ProviderConfiguration.d.ts +68 -0
  175. package/Providers/Configuration/ProviderConfigurationNode.d.ts +65 -0
  176. package/Providers/Configuration/ProviderConfigurationType.d.ts +62 -0
  177. package/Providers/Configuration/ProviderGeofenceBase.d.ts +31 -0
  178. package/Providers/Configuration/ProviderGeofenceCircular.d.ts +28 -0
  179. package/Providers/Configuration/ProviderGeofencePoint.d.ts +12 -0
  180. package/Providers/Configuration/ProviderGeofencePolygon.d.ts +23 -0
  181. package/Providers/Configuration/ProviderGeofenceRectangle.d.ts +28 -0
  182. package/Providers/Provider.d.ts +145 -0
  183. package/Providers/ProviderAdvanced.d.ts +51 -0
  184. package/Providers/ProviderCommand.d.ts +36 -0
  185. package/Providers/ProviderCommandStatus.d.ts +29 -0
  186. package/Providers/ProviderCommandType.d.ts +37 -0
  187. package/Providers/ProviderControl.d.ts +42 -0
  188. package/Providers/ProviderData.d.ts +30 -0
  189. package/Providers/ProviderGeneral.d.ts +117 -0
  190. package/Providers/ProviderType.d.ts +106 -0
  191. package/README.md +13 -0
  192. package/Reports/ReportBreakdown.d.ts +72 -0
  193. package/Reports/ReportBreakdownJob.d.ts +62 -0
  194. package/Reports/ReportBreakdownMessage.d.ts +65 -0
  195. package/Reports/ReportBreakdownTask.d.ts +71 -0
  196. package/Reports/ReportDataTotal.d.ts +50 -0
  197. package/Reports/ReportFilterMode.d.ts +17 -0
  198. package/Reports/ReportNotifications.d.ts +31 -0
  199. package/Reports/ReportOptions.d.ts +51 -0
  200. package/Reports/ReportParameter.d.ts +25 -0
  201. package/Reports/ReportParameterType.d.ts +59 -0
  202. package/Reports/ReportRecurrence.d.ts +54 -0
  203. package/Reports/ReportRecurrenceType.d.ts +34 -0
  204. package/Reports/ReportResult.d.ts +170 -0
  205. package/Reports/ReportResultData.d.ts +17 -0
  206. package/Reports/ReportSchedule.d.ts +112 -0
  207. package/Reports/ReportScorecard.d.ts +39 -0
  208. package/Reports/ReportScorecardParameter.d.ts +31 -0
  209. package/Reports/ReportScorecardRules.d.ts +26 -0
  210. package/Reports/ReportStatus.d.ts +29 -0
  211. package/Reports/ReportSummary.d.ts +119 -0
  212. package/Reports/ReportSummaryReason.d.ts +27 -0
  213. package/Reports/ReportTemplate.d.ts +82 -0
  214. package/Reports/ReportTotal.d.ts +48 -0
  215. package/Reports/ReportType.d.ts +42 -0
  216. package/Storage.d.ts +166 -0
  217. package/objects.d.ts +534 -0
  218. package/objects.min.js +7 -0
  219. package/package.json +22 -0
@@ -0,0 +1,17 @@
1
+ /**
2
+ * The type of repeating cycle used for generating bills.
3
+ */
4
+ export declare enum BillingCycle {
5
+ /**
6
+ * Once a month
7
+ */
8
+ monthly = "monthly",
9
+ /**
10
+ * Every three months
11
+ */
12
+ quarterly = "quarterly",
13
+ /**
14
+ * Once per year
15
+ */
16
+ annually = "annually"
17
+ }
@@ -0,0 +1,107 @@
1
+ import { BaseComponent } from "../API/BaseComponent";
2
+ import { IBelongCompany } from "../API/Interfaces/IBelongCompany";
3
+ import { IIdUlong } from "../API/Interfaces/IIdUlong";
4
+ import { INamed } from "../API/Interfaces/INamed";
5
+ import { ulong } from "../API/Types";
6
+ import { Company } from "../Companies/Company";
7
+ import { BillableSmsProfile } from "./BillableSmsProfile";
8
+ import { BillingCurrency } from "./BillingCurrency";
9
+ import { BillingCycle } from "./BillingCycle";
10
+ /**
11
+ * A profile used to generate billable orders for a customer.
12
+ */
13
+ export declare class BillingProfile extends BaseComponent implements IIdUlong, INamed, IBelongCompany {
14
+ /**
15
+ * Unique identifier of this billing profile
16
+ */
17
+ id: ulong;
18
+ /**
19
+ * Unique identifier of the Company that owns this profile and is sending the bill.
20
+ * {@link Company.id}
21
+ */
22
+ companyId: ulong;
23
+ /**
24
+ * Unique identifier of the Company that owns this profile and is sending the bill.
25
+ * {@link Company.id}
26
+ */
27
+ get company(): Company;
28
+ /**
29
+ * Unique identifier of the Company to which this rule pertains.
30
+ * {@link Company.id}
31
+ */
32
+ targetId: ulong;
33
+ /**
34
+ * Unique identifier of the Company to which this rule pertains.
35
+ * {@link Company.id}
36
+ */
37
+ get target(): Company;
38
+ /**
39
+ * Unique identifier of the Company receiving the bill.
40
+ * Most of the time, this value is the same as the target.
41
+ * {@link Company.id}
42
+ */
43
+ billeeId: ulong;
44
+ /**
45
+ * Unique identifier of the Company receiving the bill.
46
+ * Most of the time, this value is the same as the target.
47
+ * {@link Company.id}
48
+ */
49
+ get billee(): Company;
50
+ /**
51
+ * The name for this profile.
52
+ */
53
+ name: string;
54
+ /**
55
+ * Notes about the billing profile for the billee or target.
56
+ */
57
+ notes: string;
58
+ /**
59
+ * SMS messaging tiers
60
+ */
61
+ messages: BillableSmsProfile[];
62
+ /**
63
+ * Repeating cycle used for generating bills
64
+ */
65
+ cycle: BillingCycle;
66
+ /**
67
+ * When is the first day of the billing cycle
68
+ */
69
+ cycleStart: Date;
70
+ /**
71
+ * When should the cycle end (customer cancelled)
72
+ */
73
+ cycleEnd: Date;
74
+ /**
75
+ * Pro-rated, or post-dated.
76
+ */
77
+ cyclePostDated: boolean;
78
+ /**
79
+ * kind of money
80
+ */
81
+ currency: BillingCurrency;
82
+ /**
83
+ * Are the Google services available to be proxied by the service?
84
+ */
85
+ googleServicesEnabled: boolean;
86
+ toJSON(): {
87
+ id: number | null;
88
+ v: number[];
89
+ company: number;
90
+ target: number;
91
+ billee: number;
92
+ name: string;
93
+ notes: string;
94
+ messages: any[];
95
+ cycle: BillingCycle;
96
+ currency: BillingCurrency;
97
+ cycleStart: string | null;
98
+ cycleEnd: string | null;
99
+ cyclePostDated: boolean;
100
+ googleServicesEnabled: boolean;
101
+ };
102
+ fromJSON(json: any, force?: boolean): boolean;
103
+ /**
104
+ * The {@link id} is the key.
105
+ */
106
+ getKey(): string;
107
+ }
@@ -0,0 +1,41 @@
1
+ import { IBelongBillingProfile } from '../../API/Interfaces/IBelongBillingProfile';
2
+ import { IBelongCompany } from '../../API/Interfaces/IBelongCompany';
3
+ import { IIdUlong } from '../../API/Interfaces/IIdUlong';
4
+ import { SearchPattern } from '../../API/SearchPattern';
5
+ import { uint } from '../../API/Types';
6
+ import { BillableBase } from '../BillableBase';
7
+ /**
8
+ * Hosted things share a lot of common attributes.
9
+ */
10
+ export declare abstract class BillableHostingBase extends BillableBase implements IIdUlong, IBelongBillingProfile, IBelongCompany {
11
+ /**
12
+ * The number of units to which this billing rule applies.
13
+ * Should be a non-zero value; NaN means unlimited.
14
+ */
15
+ limit: uint;
16
+ /**
17
+ * Which assets are targeted by this hosting rule.
18
+ */
19
+ targets: SearchPattern[] | null;
20
+ /**
21
+ * Does this hosting rule apply to suspended resources.
22
+ */
23
+ suspended: boolean;
24
+ toJSON(): {
25
+ limit: number | null;
26
+ targets: string | null;
27
+ suspended: boolean;
28
+ id: number | null;
29
+ v: number[];
30
+ company: number;
31
+ profile: number;
32
+ name: string;
33
+ notes: string;
34
+ reference: string;
35
+ sku: string;
36
+ start: string | null;
37
+ end: string | null;
38
+ amount: number | null;
39
+ };
40
+ fromJSON(json: any, force?: boolean): boolean;
41
+ }
@@ -0,0 +1,35 @@
1
+ import { BillableHostingBase } from './BillableHostingBase';
2
+ import { BillableHostingType } from './BillableHostingType';
3
+ /**
4
+ * A discount rule for assets
5
+ * @deprecated Never implemented.
6
+ */
7
+ export declare class BillableHostingDiscount extends BillableHostingBase {
8
+ /**
9
+ * The type of services being discounted.
10
+ */
11
+ services: BillableHostingType[];
12
+ /**
13
+ * When true, the amount is used as a percentage value instead of a currency values.
14
+ */
15
+ percentage: boolean;
16
+ toJSON(): {
17
+ services: BillableHostingType[];
18
+ percentage: boolean;
19
+ limit: number | null;
20
+ targets: string | null;
21
+ suspended: boolean;
22
+ id: number | null;
23
+ v: number[];
24
+ company: number;
25
+ profile: number;
26
+ name: string;
27
+ notes: string;
28
+ reference: string;
29
+ sku: string;
30
+ start: string | null;
31
+ end: string | null;
32
+ amount: number | null;
33
+ };
34
+ fromJSON(json: any, force?: boolean): boolean;
35
+ }
@@ -0,0 +1,29 @@
1
+ import { BillableHostingBase } from './BillableHostingBase';
2
+ import { BillableHostingLicenseType } from './BillableHostingLicenseType';
3
+ /**
4
+ * A hardware license for providers
5
+ */
6
+ export declare class BillableHostingLicense extends BillableHostingBase {
7
+ /**
8
+ * The type of hardware license
9
+ */
10
+ kind: BillableHostingLicenseType;
11
+ toJSON(): {
12
+ kind: BillableHostingLicenseType;
13
+ limit: number | null;
14
+ targets: string | null;
15
+ suspended: boolean;
16
+ id: number | null;
17
+ v: number[];
18
+ company: number;
19
+ profile: number;
20
+ name: string;
21
+ notes: string;
22
+ reference: string;
23
+ sku: string;
24
+ start: string | null;
25
+ end: string | null;
26
+ amount: number | null;
27
+ };
28
+ fromJSON(json: any, force?: boolean): boolean;
29
+ }
@@ -0,0 +1,20 @@
1
+ /**
2
+ * The kind of license being billed.
3
+ */
4
+ export declare enum BillableHostingLicenseType {
5
+ /**
6
+ * SmartWitness data hosting fee
7
+ * {@link ProviderType.smartwitness}
8
+ */
9
+ smartwitness = "smartwitness",
10
+ /**
11
+ * BeWhere license fee
12
+ * {@link ProviderType.bewhere}
13
+ */
14
+ bewhere = "bewhere",
15
+ /**
16
+ * CalAmp PULS fee
17
+ * {@link ProviderType.calamp}
18
+ */
19
+ calamp = "calamp"
20
+ }
@@ -0,0 +1,29 @@
1
+ import { BillableHostingBase } from './BillableHostingBase';
2
+ import { BillableHostingType } from './BillableHostingType';
3
+ /**
4
+ * A billing rule for assets
5
+ */
6
+ export declare class BillableHostingRule extends BillableHostingBase {
7
+ /**
8
+ * The type of service being billed.
9
+ */
10
+ service: BillableHostingType;
11
+ toJSON(): {
12
+ service: BillableHostingType;
13
+ limit: number | null;
14
+ targets: string | null;
15
+ suspended: boolean;
16
+ id: number | null;
17
+ v: number[];
18
+ company: number;
19
+ profile: number;
20
+ name: string;
21
+ notes: string;
22
+ reference: string;
23
+ sku: string;
24
+ start: string | null;
25
+ end: string | null;
26
+ amount: number | null;
27
+ };
28
+ fromJSON(json: any, force?: boolean): boolean;
29
+ }
@@ -0,0 +1,41 @@
1
+ /**
2
+ * The kind of service being billed.
3
+ */
4
+ export declare enum BillableHostingType {
5
+ /**
6
+ * Employee/driver tracking.
7
+ */
8
+ mobile = "mobile",
9
+ /**
10
+ * Vehicle tracking (includes VBus data, and engine hours).
11
+ */
12
+ vehicle = "vehicle",
13
+ /**
14
+ * Generic dot-on-a-map tracking.
15
+ */
16
+ asset = "asset",
17
+ /**
18
+ * Tasks assignable to vehicles or persons.
19
+ */
20
+ dispatch = "dispatch",
21
+ /**
22
+ * FMCSA compliant E-Logs and Hours of Service.
23
+ */
24
+ elogs = "elogs",
25
+ /**
26
+ * Inventory management.
27
+ */
28
+ inventory = "inventory",
29
+ /**
30
+ * Cargo and delivery audit.
31
+ */
32
+ cargo = "cargo",
33
+ /**
34
+ * Mobile forms.
35
+ */
36
+ forms = "forms",
37
+ /**
38
+ * Dashcam and live images hosting.
39
+ */
40
+ streetview = "streetview"
41
+ }
@@ -0,0 +1,114 @@
1
+ import { BaseComponent } from '../../API/BaseComponent';
2
+ import { IBelongBillingProfile } from '../../API/Interfaces/IBelongBillingProfile';
3
+ import { IBelongCompany } from '../../API/Interfaces/IBelongCompany';
4
+ import { IIdUlong } from '../../API/Interfaces/IIdUlong';
5
+ import { INamed } from '../../API/Interfaces/INamed';
6
+ import { double, ulong } from '../../API/Types';
7
+ import { Company } from '../../Companies/Company';
8
+ import { BillingCurrency } from '../BillingCurrency';
9
+ import { BillingProfile } from '../BillingProfile';
10
+ import { BillingReportBreakdown } from "./BillingReportBreakdown";
11
+ import { BillingReportStatus } from "./BillingReportStatus";
12
+ import { BillingReportSummary } from "./BillingReportSummary";
13
+ /**
14
+ * Report generated per billee company.
15
+ */
16
+ export declare class BillingReport extends BaseComponent implements IIdUlong, INamed, IBelongCompany, IBelongBillingProfile {
17
+ /**
18
+ * Unique identifier
19
+ */
20
+ id: ulong;
21
+ /**
22
+ * The company to which this report belongs and is sending the bill.
23
+ * {@link Company.id}
24
+ */
25
+ companyId: ulong;
26
+ /**
27
+ * The company to which this report belongs and is sending the bill.
28
+ * {@link Company.id}
29
+ */
30
+ get company(): Company;
31
+ /**
32
+ * Unique identifier of the Company receiving the bill.
33
+ * {@link Company.id}
34
+ */
35
+ billeeId: ulong;
36
+ /**
37
+ * Unique identifier of the Company receiving the bill.
38
+ * {@link Company.id}
39
+ */
40
+ get billee(): Company;
41
+ /**
42
+ * The profile to which this report belongs
43
+ * {@link BillingProfile.id}
44
+ */
45
+ profileId: ulong;
46
+ /**
47
+ * The profile to which this report belongs
48
+ * {@link BillingProfile.id}
49
+ */
50
+ get profile(): BillingProfile;
51
+ /**
52
+ * Name of this report.
53
+ */
54
+ name: string;
55
+ /**
56
+ * Notes about this report.
57
+ */
58
+ notes: string;
59
+ /**
60
+ * First day of the billing cycle
61
+ */
62
+ startDate: Date;
63
+ /**
64
+ * Last day of the billing cycle
65
+ */
66
+ endDate: Date;
67
+ /**
68
+ * Total amount being billed.
69
+ */
70
+ total: double;
71
+ /**
72
+ * Currency being billed in
73
+ */
74
+ currency: BillingCurrency;
75
+ /**
76
+ * The processing status of this report.
77
+ */
78
+ status: BillingReportStatus;
79
+ /**
80
+ * A field which contains report error details if the {@link status} is {@link BillingReportStatus.failed}.
81
+ * {@link BillingReportStatus}
82
+ */
83
+ error: string;
84
+ /**
85
+ * Summary contains totals per target for this billee
86
+ */
87
+ summary: BillingReportSummary[];
88
+ /**
89
+ * Individual amounts per company, used to calculate the results of the report.
90
+ */
91
+ breakdown: BillingReportBreakdown[];
92
+ toJSON(): {
93
+ id: number | null;
94
+ v: number[];
95
+ company: number;
96
+ billee: number;
97
+ profile: number;
98
+ name: string;
99
+ notes: string;
100
+ startDate: string | null;
101
+ endDate: string | null;
102
+ total: number;
103
+ currency: BillingCurrency;
104
+ status: BillingReportStatus;
105
+ error: string;
106
+ summary: any[];
107
+ breakdown: any[];
108
+ };
109
+ fromJSON(json: any, force?: boolean): boolean;
110
+ /**
111
+ * The {@link id} is the key.
112
+ */
113
+ getKey(): string;
114
+ }
@@ -0,0 +1,35 @@
1
+ import { ISerializable } from "../../API/Interfaces/ISerializable";
2
+ import { ulong } from "../../API/Types";
3
+ import { Company } from "../../Companies/Company";
4
+ import { BillingReportLicenseBreakdown } from "./BillingReportLicenseBreakdown";
5
+ import { BillingReportServiceBreakdown } from "./BillingReportServiceBreakdown";
6
+ /**
7
+ * Billing breakdown per target company.
8
+ */
9
+ export declare class BillingReportBreakdown implements ISerializable {
10
+ static fromJSON(json: any): BillingReportBreakdown;
11
+ /**
12
+ * The target company to which this breakdown instance belongs.
13
+ * {@link Company.id}
14
+ */
15
+ targetId: ulong;
16
+ /**
17
+ * The target company to which this breakdown instance belongs.
18
+ * {@link Company.id}
19
+ */
20
+ get target(): Company;
21
+ /**
22
+ * Individual amounts billed per targeted assets.
23
+ */
24
+ services: BillingReportServiceBreakdown[];
25
+ /**
26
+ * Individual amounts for licensing per targeted providers.
27
+ */
28
+ licenses: BillingReportLicenseBreakdown[];
29
+ constructor(target?: ulong, services?: BillingReportServiceBreakdown[], licenses?: BillingReportLicenseBreakdown[]);
30
+ toJSON(): {
31
+ target: number | null;
32
+ services: BillingReportServiceBreakdown[];
33
+ licenses: BillingReportLicenseBreakdown[];
34
+ };
35
+ }
@@ -0,0 +1,36 @@
1
+ import { ISerializable } from "../../API/Interfaces/ISerializable";
2
+ import { double } from "../../API/Types";
3
+ /**
4
+ * Amount billed for a type of hosting (service or license) per target company.
5
+ */
6
+ export declare class BillingReportHostingSummary implements ISerializable {
7
+ /**
8
+ *
9
+ * @param json
10
+ * @returns
11
+ */
12
+ static fromJSON(json: any): BillingReportHostingSummary;
13
+ /**
14
+ * SKU being billed
15
+ */
16
+ sku: string;
17
+ /**
18
+ * Cost per billing cycle for this SKU.
19
+ */
20
+ cost: double;
21
+ /**
22
+ * Number of items for this SKU.
23
+ */
24
+ count: double;
25
+ /**
26
+ * Total amount being billed for this SKU.
27
+ */
28
+ total: double;
29
+ constructor(sku?: string, cost?: double, count?: double, total?: double);
30
+ toJSON(): {
31
+ sku: string;
32
+ cost: number | null;
33
+ count: number | null;
34
+ total: number | null;
35
+ };
36
+ }
@@ -0,0 +1,80 @@
1
+ import { INamed } from "../../API/Interfaces/INamed";
2
+ import { ISerializable } from "../../API/Interfaces/ISerializable";
3
+ import { datetime, double, ulong } from "../../API/Types";
4
+ import { Provider } from "../../Providers/Provider";
5
+ import { ProviderType } from "../../Providers/ProviderType";
6
+ /**
7
+ * Full breakdown of licensing details per targeted provider.
8
+ */
9
+ export declare class BillingReportLicenseBreakdown implements INamed, ISerializable {
10
+ /**
11
+ *
12
+ * @param json
13
+ */
14
+ static fromJSON(json: any): BillingReportLicenseBreakdown;
15
+ /**
16
+ * The provider to which this breakdown instance belongs.
17
+ * {@link Provider.id}
18
+ */
19
+ providerId: string;
20
+ /**
21
+ * The provider to which this breakdown instance belongs.
22
+ * {@link Provider.id}
23
+ */
24
+ get provider(): Provider;
25
+ set provider(value: Provider);
26
+ /**
27
+ * Type of provider.
28
+ */
29
+ kind: ProviderType;
30
+ /**
31
+ * Provider name.
32
+ */
33
+ name: string;
34
+ /**
35
+ * Notes about the provider.
36
+ */
37
+ notes: string;
38
+ /**
39
+ * Indicates when this Provider was created.
40
+ */
41
+ created: Date;
42
+ /**
43
+ * Indicates when this Provider was deleted.
44
+ */
45
+ deleted: Date;
46
+ /**
47
+ * The phone number for this provider.
48
+ */
49
+ phoneNumber: ulong;
50
+ /**
51
+ * The firmware/application version number.
52
+ */
53
+ firmware: string;
54
+ /**
55
+ * Number of days this Provider is being billed for.
56
+ */
57
+ billableDays: double;
58
+ /**
59
+ * Licensing cost per billing cycle for this provider.
60
+ */
61
+ cost: double;
62
+ /**
63
+ * Total amount being billed for this provider.
64
+ */
65
+ total: double;
66
+ constructor(provider?: string, kind?: ProviderType, name?: string, notes?: string, created?: Date | number | datetime, deleted?: Date | number | datetime, phoneNumber?: ulong, firmware?: string, billableDays?: double, cost?: double, total?: double);
67
+ toJSON(): {
68
+ provider: string;
69
+ kind: ProviderType;
70
+ name: string;
71
+ notes: string;
72
+ created: string | null;
73
+ deleted: string | null;
74
+ phoneNumber: number | null;
75
+ firmware: string;
76
+ billableDays: number | null;
77
+ cost: number | null;
78
+ total: number | null;
79
+ };
80
+ }