spotcharge-types 1.0.347 → 1.0.349

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 (77) hide show
  1. package/.cursor/rules/enum-organization.mdc +31 -0
  2. package/dist/enum/fee-component-type.enum.d.ts +5 -0
  3. package/dist/enum/fee-component-type.enum.d.ts.map +1 -0
  4. package/dist/enum/fee-component-type.enum.js +9 -0
  5. package/dist/enum/fee-component-type.enum.js.map +1 -0
  6. package/dist/enum/fee-unit.enum.d.ts +6 -0
  7. package/dist/enum/fee-unit.enum.d.ts.map +1 -0
  8. package/dist/enum/fee-unit.enum.js +10 -0
  9. package/dist/enum/fee-unit.enum.js.map +1 -0
  10. package/dist/enum/index.d.ts +1 -0
  11. package/dist/enum/index.d.ts.map +1 -1
  12. package/dist/enum/index.js +8 -2
  13. package/dist/enum/index.js.map +1 -1
  14. package/dist/enum/pricing/connector-output-type.enum.d.ts +5 -0
  15. package/dist/enum/pricing/connector-output-type.enum.d.ts.map +1 -0
  16. package/dist/enum/pricing/connector-output-type.enum.js +9 -0
  17. package/dist/enum/pricing/connector-output-type.enum.js.map +1 -0
  18. package/dist/enum/pricing/fee-component-type.enum.d.ts +5 -0
  19. package/dist/enum/pricing/fee-component-type.enum.d.ts.map +1 -0
  20. package/dist/enum/pricing/fee-component-type.enum.js +9 -0
  21. package/dist/enum/pricing/fee-component-type.enum.js.map +1 -0
  22. package/dist/enum/pricing/fee-unit.enum.d.ts +6 -0
  23. package/dist/enum/pricing/fee-unit.enum.d.ts.map +1 -0
  24. package/dist/enum/pricing/fee-unit.enum.js +10 -0
  25. package/dist/enum/pricing/fee-unit.enum.js.map +1 -0
  26. package/dist/enum/pricing/index.d.ts +6 -0
  27. package/dist/enum/pricing/index.d.ts.map +1 -0
  28. package/dist/enum/pricing/index.js +14 -0
  29. package/dist/enum/pricing/index.js.map +1 -0
  30. package/dist/enum/pricing/rate-duration-unit.enum.d.ts +6 -0
  31. package/dist/enum/pricing/rate-duration-unit.enum.d.ts.map +1 -0
  32. package/dist/enum/pricing/rate-duration-unit.enum.js +10 -0
  33. package/dist/enum/pricing/rate-duration-unit.enum.js.map +1 -0
  34. package/dist/enum/pricing/tariff-rule-type.enum.d.ts +5 -0
  35. package/dist/enum/pricing/tariff-rule-type.enum.d.ts.map +1 -0
  36. package/dist/enum/pricing/tariff-rule-type.enum.js +9 -0
  37. package/dist/enum/pricing/tariff-rule-type.enum.js.map +1 -0
  38. package/dist/enum/pricing-connector-output-type.enum.d.ts +5 -0
  39. package/dist/enum/pricing-connector-output-type.enum.d.ts.map +1 -0
  40. package/dist/enum/pricing-connector-output-type.enum.js +9 -0
  41. package/dist/enum/pricing-connector-output-type.enum.js.map +1 -0
  42. package/dist/enum/rate-duration-unit.enum.d.ts +6 -0
  43. package/dist/enum/rate-duration-unit.enum.d.ts.map +1 -0
  44. package/dist/enum/rate-duration-unit.enum.js +10 -0
  45. package/dist/enum/rate-duration-unit.enum.js.map +1 -0
  46. package/dist/enum/tariff-rule-type.enum.d.ts +5 -0
  47. package/dist/enum/tariff-rule-type.enum.d.ts.map +1 -0
  48. package/dist/enum/tariff-rule-type.enum.js +9 -0
  49. package/dist/enum/tariff-rule-type.enum.js.map +1 -0
  50. package/dist/models/api/index.d.ts +3 -0
  51. package/dist/models/api/index.d.ts.map +1 -1
  52. package/dist/models/api/index.js +3 -1
  53. package/dist/models/api/index.js.map +1 -1
  54. package/dist/models/api/partner-inquiries/partner-inquiry.api.model.d.ts +67 -0
  55. package/dist/models/api/partner-inquiries/partner-inquiry.api.model.d.ts.map +1 -0
  56. package/dist/models/api/partner-inquiries/partner-inquiry.api.model.js +12 -0
  57. package/dist/models/api/partner-inquiries/partner-inquiry.api.model.js.map +1 -0
  58. package/dist/models/api/pricing/pricing.api.model.d.ts +139 -0
  59. package/dist/models/api/pricing/pricing.api.model.d.ts.map +1 -0
  60. package/dist/models/api/pricing/pricing.api.model.js +3 -0
  61. package/dist/models/api/pricing/pricing.api.model.js.map +1 -0
  62. package/dist/models/api/stations/station-picker.api.model.d.ts +19 -0
  63. package/dist/models/api/stations/station-picker.api.model.d.ts.map +1 -0
  64. package/dist/models/api/stations/station-picker.api.model.js +3 -0
  65. package/dist/models/api/stations/station-picker.api.model.js.map +1 -0
  66. package/package.json +1 -1
  67. package/src/enum/index.ts +7 -0
  68. package/src/enum/pricing/connector-output-type.enum.ts +4 -0
  69. package/src/enum/pricing/fee-component-type.enum.ts +4 -0
  70. package/src/enum/pricing/fee-unit.enum.ts +5 -0
  71. package/src/enum/pricing/index.ts +5 -0
  72. package/src/enum/pricing/rate-duration-unit.enum.ts +5 -0
  73. package/src/enum/pricing/tariff-rule-type.enum.ts +4 -0
  74. package/src/models/api/index.ts +34 -0
  75. package/src/models/api/partner-inquiries/partner-inquiry.api.model.ts +89 -0
  76. package/src/models/api/pricing/pricing.api.model.ts +167 -0
  77. package/src/models/api/stations/station-picker.api.model.ts +20 -0
@@ -0,0 +1,139 @@
1
+ import { FeeComponentType, FeeUnit, ConnectorOutputType, RateDurationUnit, TariffRuleType } from '../../../enum/pricing';
2
+ import { AuditActor } from '../../audit-actor.model';
3
+ import { AuditTimestampsApiModel, IsoDateTime } from '../users/shared.api.model';
4
+ import { ApiSortDirection } from '../users/admin-user.api.model';
5
+ /** GET /api/fee-catalog */
6
+ export type FeeCatalogListOrderBy = 'name' | 'componentType' | 'createdAt';
7
+ export interface FeeCatalogListItemApiModel {
8
+ id: string;
9
+ name: string;
10
+ componentType: FeeComponentType;
11
+ rate: number;
12
+ unit: FeeUnit;
13
+ rateDurationValue: number | null;
14
+ rateDurationUnit: RateDurationUnit | null;
15
+ createdAt: IsoDateTime;
16
+ }
17
+ export interface FeeCatalogListApiModel {
18
+ rows: FeeCatalogListItemApiModel[];
19
+ totalCount: number;
20
+ pageIndex: number;
21
+ pageSize: number;
22
+ orderBy: FeeCatalogListOrderBy;
23
+ sortDirection: ApiSortDirection;
24
+ }
25
+ export interface FeeCatalogDetailApiModel extends FeeCatalogListItemApiModel, AuditTimestampsApiModel {
26
+ isDeleted: boolean;
27
+ createdBy: AuditActor | null;
28
+ updatedBy: AuditActor | null;
29
+ deletedBy: AuditActor | null;
30
+ }
31
+ export interface CreateFeeCatalogRequest {
32
+ name: string;
33
+ componentType: FeeComponentType;
34
+ rate: number;
35
+ unit: FeeUnit;
36
+ rateDurationValue?: number | null;
37
+ rateDurationUnit?: RateDurationUnit | null;
38
+ }
39
+ export interface UpdateFeeCatalogRequest {
40
+ name?: string;
41
+ rate?: number;
42
+ unit?: FeeUnit;
43
+ rateDurationValue?: number | null;
44
+ rateDurationUnit?: RateDurationUnit | null;
45
+ }
46
+ /** Summary embedded on tariff detail/list */
47
+ export interface FeeCatalogSummaryApiModel {
48
+ id: string;
49
+ name: string;
50
+ componentType: FeeComponentType;
51
+ rate: number;
52
+ unit: FeeUnit;
53
+ rateDurationValue: number | null;
54
+ rateDurationUnit: RateDurationUnit | null;
55
+ }
56
+ /** GET /api/tariffs */
57
+ export type TariffListOrderBy = 'name' | 'createdAt';
58
+ export interface TariffListItemApiModel {
59
+ id: string;
60
+ name: string;
61
+ description: string | null;
62
+ isActive: boolean;
63
+ components: FeeCatalogSummaryApiModel[];
64
+ createdAt: IsoDateTime;
65
+ }
66
+ export interface TariffListApiModel {
67
+ rows: TariffListItemApiModel[];
68
+ totalCount: number;
69
+ pageIndex: number;
70
+ pageSize: number;
71
+ orderBy: TariffListOrderBy;
72
+ sortDirection: ApiSortDirection;
73
+ }
74
+ export interface TariffDetailApiModel extends TariffListItemApiModel, AuditTimestampsApiModel {
75
+ isDeleted: boolean;
76
+ createdBy: AuditActor | null;
77
+ updatedBy: AuditActor | null;
78
+ deletedBy: AuditActor | null;
79
+ }
80
+ export interface CreateTariffRequest {
81
+ name: string;
82
+ description?: string | null;
83
+ isActive?: boolean;
84
+ /** Fee catalog IDs — exactly one energy, at most one session */
85
+ feeCatalogIds: string[];
86
+ }
87
+ export interface UpdateTariffRequest {
88
+ name?: string;
89
+ description?: string | null;
90
+ isActive?: boolean;
91
+ feeCatalogIds?: string[];
92
+ }
93
+ /** GET /api/tariff-rules */
94
+ export type TariffRuleListOrderBy = 'validFrom' | 'createdAt';
95
+ export interface TariffRuleListItemApiModel {
96
+ id: string;
97
+ ruleType: TariffRuleType;
98
+ tariffId: string;
99
+ tariffName: string;
100
+ stationId: string | null;
101
+ stationName: string | null;
102
+ outputType: ConnectorOutputType | null;
103
+ validFrom: IsoDateTime;
104
+ validTo: IsoDateTime | null;
105
+ isActive: boolean;
106
+ createdAt: IsoDateTime;
107
+ }
108
+ export interface TariffRuleListApiModel {
109
+ rows: TariffRuleListItemApiModel[];
110
+ totalCount: number;
111
+ pageIndex: number;
112
+ pageSize: number;
113
+ orderBy: TariffRuleListOrderBy;
114
+ sortDirection: ApiSortDirection;
115
+ }
116
+ export interface TariffRuleDetailApiModel extends TariffRuleListItemApiModel, AuditTimestampsApiModel {
117
+ isDeleted: boolean;
118
+ createdBy: AuditActor | null;
119
+ updatedBy: AuditActor | null;
120
+ deletedBy: AuditActor | null;
121
+ }
122
+ export interface CreateTariffRuleRequest {
123
+ ruleType: TariffRuleType;
124
+ tariffId: string;
125
+ stationId?: string | null;
126
+ outputType?: ConnectorOutputType | null;
127
+ validFrom?: IsoDateTime;
128
+ validTo?: IsoDateTime | null;
129
+ isActive?: boolean;
130
+ }
131
+ export interface UpdateTariffRuleRequest {
132
+ tariffId?: string;
133
+ stationId?: string | null;
134
+ outputType?: ConnectorOutputType | null;
135
+ validFrom?: IsoDateTime;
136
+ validTo?: IsoDateTime | null;
137
+ isActive?: boolean;
138
+ }
139
+ //# sourceMappingURL=pricing.api.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.api.model.d.ts","sourceRoot":"","sources":["../../../../src/models/api/pricing/pricing.api.model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=pricing.api.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"pricing.api.model.js","sourceRoot":"","sources":["../../../../src/models/api/pricing/pricing.api.model.ts"],"names":[],"mappings":""}
@@ -0,0 +1,19 @@
1
+ import { StationStatus } from '../../../enum';
2
+ /** GET /api/admin/stations/picker — autocomplete / admin search row. */
3
+ export interface StationPickerItemApiModel {
4
+ id: string;
5
+ name: string;
6
+ stationCode: string;
7
+ status: StationStatus;
8
+ city: string;
9
+ stateName: string;
10
+ companyId: string | null;
11
+ businessUnitId: string | null;
12
+ }
13
+ export interface StationPickerListApiModel {
14
+ rows: StationPickerItemApiModel[];
15
+ totalCount: number;
16
+ pageIndex: number;
17
+ pageSize: number;
18
+ }
19
+ //# sourceMappingURL=station-picker.api.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"station-picker.api.model.d.ts","sourceRoot":"","sources":["../../../../src/models/api/stations/station-picker.api.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE9C,wEAAwE;AACxE,MAAM,WAAW,yBAAyB;IACxC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,aAAa,CAAC;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,yBAAyB,EAAE,CAAC;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=station-picker.api.model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"station-picker.api.model.js","sourceRoot":"","sources":["../../../../src/models/api/stations/station-picker.api.model.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "spotcharge-types",
3
- "version": "1.0.347",
3
+ "version": "1.0.349",
4
4
  "description": "Spotcharge typesn",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
package/src/enum/index.ts CHANGED
@@ -39,6 +39,13 @@ export {RefundStatus} from './refund-status.enum';
39
39
  export {RefundReason} from './refund-reason.enum';
40
40
  export {RefundDestination} from './refund-destination.enum';
41
41
  export {TariffScope} from './tariff-scope.enum';
42
+ export {
43
+ FeeComponentType,
44
+ FeeUnit,
45
+ RateDurationUnit,
46
+ TariffRuleType,
47
+ ConnectorOutputType,
48
+ } from './pricing';
42
49
  export {CompanyType} from './company-type.enum';
43
50
  export {CompanyStatus} from './company-status.enum';
44
51
  /** @deprecated Use UserRoleStatus instead */
@@ -0,0 +1,4 @@
1
+ export enum ConnectorOutputType {
2
+ AC = 'AC',
3
+ DC = 'DC',
4
+ }
@@ -0,0 +1,4 @@
1
+ export enum FeeComponentType {
2
+ Energy = 'energy',
3
+ Session = 'session',
4
+ }
@@ -0,0 +1,5 @@
1
+ export enum FeeUnit {
2
+ Kwh = 'kwh',
3
+ Session = 'session',
4
+ Minute = 'minute',
5
+ }
@@ -0,0 +1,5 @@
1
+ export {FeeComponentType} from './fee-component-type.enum';
2
+ export {FeeUnit} from './fee-unit.enum';
3
+ export {RateDurationUnit} from './rate-duration-unit.enum';
4
+ export {TariffRuleType} from './tariff-rule-type.enum';
5
+ export {ConnectorOutputType} from './connector-output-type.enum';
@@ -0,0 +1,5 @@
1
+ export enum RateDurationUnit {
2
+ Minute = 'minute',
3
+ Hour = 'hour',
4
+ Session = 'session',
5
+ }
@@ -0,0 +1,4 @@
1
+ export enum TariffRuleType {
2
+ Global = 'global',
3
+ Station = 'station',
4
+ }
@@ -73,6 +73,10 @@ export {
73
73
  AssignStationChargersResponse,
74
74
  RemoveStationChargersResponse,
75
75
  } from './stations/station.api.model';
76
+ export {
77
+ StationPickerItemApiModel,
78
+ StationPickerListApiModel,
79
+ } from './stations/station-picker.api.model';
76
80
  export {StationApiModel, StationChargerCounts, StationAmenities, StationPhotoModel} from './station.api.model';
77
81
  export {StationSearchApiModel} from './station-search.api.model';
78
82
  export {StationSearchSource} from '../../enum';
@@ -98,6 +102,27 @@ export {FleetUserV2ApiModel} from './fleet-user-v2.api.model';
98
102
  export {FleetUserAccessApiModel} from './fleet-user-access.api.model';
99
103
  export {TariffApiModel} from './tariff.api.model';
100
104
  export {TariffAssignmentApiModel} from './tariff-assignment.api.model';
105
+ export {
106
+ FeeCatalogDetailApiModel,
107
+ FeeCatalogListApiModel,
108
+ FeeCatalogListItemApiModel,
109
+ FeeCatalogListOrderBy,
110
+ FeeCatalogSummaryApiModel,
111
+ CreateFeeCatalogRequest,
112
+ UpdateFeeCatalogRequest,
113
+ TariffDetailApiModel,
114
+ TariffListApiModel,
115
+ TariffListItemApiModel,
116
+ TariffListOrderBy,
117
+ CreateTariffRequest,
118
+ UpdateTariffRequest,
119
+ TariffRuleDetailApiModel,
120
+ TariffRuleListApiModel,
121
+ TariffRuleListItemApiModel,
122
+ TariffRuleListOrderBy,
123
+ CreateTariffRuleRequest,
124
+ UpdateTariffRuleRequest,
125
+ } from './pricing/pricing.api.model';
101
126
  export {CompanyApiModel} from './company.api.model';
102
127
  export {
103
128
  CompanyDetailApiModel,
@@ -133,6 +158,15 @@ export {
133
158
  } from './contact-submissions/contact-submission.api.model';
134
159
  export {ContactSubmissionApiModel} from './contact-submission.api.model';
135
160
  export {PartnerInquiryApiModel, PartnerInquiryInvestmentRange, PartnerInquiryLocationReadiness, PartnerInquiryTimeline} from './partner-inquiry.api.model';
161
+ export {
162
+ PartnerInquiryDetailApiModel,
163
+ PartnerInquiryListApiModel,
164
+ PartnerInquiryListItemApiModel,
165
+ PartnerInquiryListOrderBy,
166
+ CreatePartnerInquiryRequest,
167
+ UpdatePartnerInquiryRequest,
168
+ PartnerInquiryStatus
169
+ } from './partner-inquiries/partner-inquiry.api.model';
136
170
  export {
137
171
  ChannelPartnerApplicationDetailApiModel,
138
172
  ChannelPartnerApplicationListApiModel,
@@ -0,0 +1,89 @@
1
+ import { AuditTimestampsApiModel, ApiSortDirection } from '../users';
2
+ import {
3
+ PartnerInquiryInvestmentRange,
4
+ PartnerInquiryLocationReadiness,
5
+ PartnerInquiryTimeline,
6
+ } from '../partner-inquiry.api.model';
7
+
8
+ /** partner-inquiries stats enum */
9
+ export enum PartnerInquiryStatus {
10
+ NEW = 'new',
11
+ CONTACTED = 'contacted',
12
+ IN_PROGRESS = 'in_progress',
13
+ CLOSED = 'closed',
14
+ }
15
+
16
+
17
+ /** GET /api/partner-inquiries */
18
+ export type PartnerInquiryListOrderBy =
19
+ | 'fullName'
20
+ | 'email'
21
+ | 'phone'
22
+ | 'city'
23
+ | 'investmentRange'
24
+ | 'locationReadiness'
25
+ | 'timeline'
26
+ | 'status'
27
+ | 'createdAt';
28
+
29
+ export interface PartnerInquiryListItemApiModel {
30
+ /** partner_inquiries.id (uuid). */
31
+ id: string;
32
+ fullName: string;
33
+ email: string;
34
+ phone: string;
35
+ city: string;
36
+ postCode: string;
37
+ investmentRange: PartnerInquiryInvestmentRange;
38
+ locationReadiness: PartnerInquiryLocationReadiness;
39
+ timeline: PartnerInquiryTimeline;
40
+ status: string;
41
+ source: string;
42
+ createdAt: string;
43
+ }
44
+
45
+ /** GET /api/partner-inquiries — paginated list response */
46
+ export interface PartnerInquiryListApiModel {
47
+ rows: PartnerInquiryListItemApiModel[];
48
+ totalCount: number;
49
+ pageIndex: number;
50
+ pageSize: number;
51
+ orderBy: PartnerInquiryListOrderBy;
52
+ sortDirection: ApiSortDirection;
53
+ }
54
+
55
+ /** GET /api/partner-inquiries/:id */
56
+ export interface PartnerInquiryDetailApiModel
57
+ extends Omit<PartnerInquiryListItemApiModel, 'createdAt'>,
58
+ AuditTimestampsApiModel {
59
+ siteLocationLink?: string | null;
60
+ hasParkingSpace?: boolean | null;
61
+ spaceSize?: string | null;
62
+ previousExperience?: string | null;
63
+ additionalComments?: string | null;
64
+ legacyFirestoreId?: string | null;
65
+ isDeleted: boolean;
66
+ }
67
+
68
+ /** POST /api/partner-inquiries */
69
+ export interface CreatePartnerInquiryRequest {
70
+ fullName: string;
71
+ email: string;
72
+ phone: string;
73
+ city: string;
74
+ postCode: string;
75
+ investmentRange: PartnerInquiryInvestmentRange;
76
+ locationReadiness: PartnerInquiryLocationReadiness;
77
+ timeline: PartnerInquiryTimeline;
78
+ siteLocationLink?: string | null;
79
+ hasParkingSpace?: boolean | null;
80
+ spaceSize?: string | null;
81
+ previousExperience?: string | null;
82
+ additionalComments?: string | null;
83
+ source?: string;
84
+ }
85
+
86
+ /** PATCH /api/partner-inquiries/:id */
87
+ export interface UpdatePartnerInquiryRequest {
88
+ status?: PartnerInquiryStatus | string;
89
+ }
@@ -0,0 +1,167 @@
1
+ import {
2
+ FeeComponentType,
3
+ FeeUnit,
4
+ ConnectorOutputType,
5
+ RateDurationUnit,
6
+ TariffRuleType,
7
+ } from '../../../enum/pricing';
8
+ import { AuditActor } from '../../audit-actor.model';
9
+ import { AuditTimestampsApiModel, IsoDateTime } from '../users/shared.api.model';
10
+ import { ApiSortDirection } from '../users/admin-user.api.model';
11
+
12
+ /** GET /api/fee-catalog */
13
+ export type FeeCatalogListOrderBy = 'name' | 'componentType' | 'createdAt';
14
+
15
+ export interface FeeCatalogListItemApiModel {
16
+ id: string;
17
+ name: string;
18
+ componentType: FeeComponentType;
19
+ rate: number;
20
+ unit: FeeUnit;
21
+ rateDurationValue: number | null;
22
+ rateDurationUnit: RateDurationUnit | null;
23
+ createdAt: IsoDateTime;
24
+ }
25
+
26
+ export interface FeeCatalogListApiModel {
27
+ rows: FeeCatalogListItemApiModel[];
28
+ totalCount: number;
29
+ pageIndex: number;
30
+ pageSize: number;
31
+ orderBy: FeeCatalogListOrderBy;
32
+ sortDirection: ApiSortDirection;
33
+ }
34
+
35
+ export interface FeeCatalogDetailApiModel
36
+ extends FeeCatalogListItemApiModel,
37
+ AuditTimestampsApiModel {
38
+ isDeleted: boolean;
39
+ createdBy: AuditActor | null;
40
+ updatedBy: AuditActor | null;
41
+ deletedBy: AuditActor | null;
42
+ }
43
+
44
+ export interface CreateFeeCatalogRequest {
45
+ name: string;
46
+ componentType: FeeComponentType;
47
+ rate: number;
48
+ unit: FeeUnit;
49
+ rateDurationValue?: number | null;
50
+ rateDurationUnit?: RateDurationUnit | null;
51
+ }
52
+
53
+ export interface UpdateFeeCatalogRequest {
54
+ name?: string;
55
+ rate?: number;
56
+ unit?: FeeUnit;
57
+ rateDurationValue?: number | null;
58
+ rateDurationUnit?: RateDurationUnit | null;
59
+ }
60
+
61
+ /** Summary embedded on tariff detail/list */
62
+ export interface FeeCatalogSummaryApiModel {
63
+ id: string;
64
+ name: string;
65
+ componentType: FeeComponentType;
66
+ rate: number;
67
+ unit: FeeUnit;
68
+ rateDurationValue: number | null;
69
+ rateDurationUnit: RateDurationUnit | null;
70
+ }
71
+
72
+ /** GET /api/tariffs */
73
+ export type TariffListOrderBy = 'name' | 'createdAt';
74
+
75
+ export interface TariffListItemApiModel {
76
+ id: string;
77
+ name: string;
78
+ description: string | null;
79
+ isActive: boolean;
80
+ components: FeeCatalogSummaryApiModel[];
81
+ createdAt: IsoDateTime;
82
+ }
83
+
84
+ export interface TariffListApiModel {
85
+ rows: TariffListItemApiModel[];
86
+ totalCount: number;
87
+ pageIndex: number;
88
+ pageSize: number;
89
+ orderBy: TariffListOrderBy;
90
+ sortDirection: ApiSortDirection;
91
+ }
92
+
93
+ export interface TariffDetailApiModel extends TariffListItemApiModel, AuditTimestampsApiModel {
94
+ isDeleted: boolean;
95
+ createdBy: AuditActor | null;
96
+ updatedBy: AuditActor | null;
97
+ deletedBy: AuditActor | null;
98
+ }
99
+
100
+ export interface CreateTariffRequest {
101
+ name: string;
102
+ description?: string | null;
103
+ isActive?: boolean;
104
+ /** Fee catalog IDs — exactly one energy, at most one session */
105
+ feeCatalogIds: string[];
106
+ }
107
+
108
+ export interface UpdateTariffRequest {
109
+ name?: string;
110
+ description?: string | null;
111
+ isActive?: boolean;
112
+ feeCatalogIds?: string[];
113
+ }
114
+
115
+ /** GET /api/tariff-rules */
116
+ export type TariffRuleListOrderBy = 'validFrom' | 'createdAt';
117
+
118
+ export interface TariffRuleListItemApiModel {
119
+ id: string;
120
+ ruleType: TariffRuleType;
121
+ tariffId: string;
122
+ tariffName: string;
123
+ stationId: string | null;
124
+ stationName: string | null;
125
+ outputType: ConnectorOutputType | null;
126
+ validFrom: IsoDateTime;
127
+ validTo: IsoDateTime | null;
128
+ isActive: boolean;
129
+ createdAt: IsoDateTime;
130
+ }
131
+
132
+ export interface TariffRuleListApiModel {
133
+ rows: TariffRuleListItemApiModel[];
134
+ totalCount: number;
135
+ pageIndex: number;
136
+ pageSize: number;
137
+ orderBy: TariffRuleListOrderBy;
138
+ sortDirection: ApiSortDirection;
139
+ }
140
+
141
+ export interface TariffRuleDetailApiModel
142
+ extends TariffRuleListItemApiModel,
143
+ AuditTimestampsApiModel {
144
+ isDeleted: boolean;
145
+ createdBy: AuditActor | null;
146
+ updatedBy: AuditActor | null;
147
+ deletedBy: AuditActor | null;
148
+ }
149
+
150
+ export interface CreateTariffRuleRequest {
151
+ ruleType: TariffRuleType;
152
+ tariffId: string;
153
+ stationId?: string | null;
154
+ outputType?: ConnectorOutputType | null;
155
+ validFrom?: IsoDateTime;
156
+ validTo?: IsoDateTime | null;
157
+ isActive?: boolean;
158
+ }
159
+
160
+ export interface UpdateTariffRuleRequest {
161
+ tariffId?: string;
162
+ stationId?: string | null;
163
+ outputType?: ConnectorOutputType | null;
164
+ validFrom?: IsoDateTime;
165
+ validTo?: IsoDateTime | null;
166
+ isActive?: boolean;
167
+ }
@@ -0,0 +1,20 @@
1
+ import { StationStatus } from '../../../enum';
2
+
3
+ /** GET /api/admin/stations/picker — autocomplete / admin search row. */
4
+ export interface StationPickerItemApiModel {
5
+ id: string;
6
+ name: string;
7
+ stationCode: string;
8
+ status: StationStatus;
9
+ city: string;
10
+ stateName: string;
11
+ companyId: string | null;
12
+ businessUnitId: string | null;
13
+ }
14
+
15
+ export interface StationPickerListApiModel {
16
+ rows: StationPickerItemApiModel[];
17
+ totalCount: number;
18
+ pageIndex: number;
19
+ pageSize: number;
20
+ }