@ampeco/public-api-mcp 0.2.0

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 (66) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +734 -0
  3. package/dist/build/flattener.d.ts +39 -0
  4. package/dist/build/flattener.d.ts.map +1 -0
  5. package/dist/build/flattener.js +193 -0
  6. package/dist/build/flattener.js.map +1 -0
  7. package/dist/build/index.d.ts +13 -0
  8. package/dist/build/index.d.ts.map +1 -0
  9. package/dist/build/index.js +175 -0
  10. package/dist/build/index.js.map +1 -0
  11. package/dist/build/optimizer.d.ts +32 -0
  12. package/dist/build/optimizer.d.ts.map +1 -0
  13. package/dist/build/optimizer.js +222 -0
  14. package/dist/build/optimizer.js.map +1 -0
  15. package/dist/build/parser.d.ts +35 -0
  16. package/dist/build/parser.d.ts.map +1 -0
  17. package/dist/build/parser.js +83 -0
  18. package/dist/build/parser.js.map +1 -0
  19. package/dist/build/types.d.ts +91 -0
  20. package/dist/build/types.d.ts.map +1 -0
  21. package/dist/build/types.js +5 -0
  22. package/dist/build/types.js.map +1 -0
  23. package/dist/build/zod-generator.d.ts +34 -0
  24. package/dist/build/zod-generator.d.ts.map +1 -0
  25. package/dist/build/zod-generator.js +317 -0
  26. package/dist/build/zod-generator.js.map +1 -0
  27. package/dist/cli/index.d.ts +7 -0
  28. package/dist/cli/index.d.ts.map +1 -0
  29. package/dist/cli/index.js +99 -0
  30. package/dist/cli/index.js.map +1 -0
  31. package/dist/generated/build-stats.json +7 -0
  32. package/dist/generated/endpoints.json +32181 -0
  33. package/dist/generated/schemas.d.ts +8157 -0
  34. package/dist/generated/schemas.d.ts.map +1 -0
  35. package/dist/generated/schemas.js +2726 -0
  36. package/dist/generated/schemas.js.map +1 -0
  37. package/dist/generated/schemas.ts +3171 -0
  38. package/dist/server/factory.d.ts +11 -0
  39. package/dist/server/factory.d.ts.map +1 -0
  40. package/dist/server/factory.js +450 -0
  41. package/dist/server/factory.js.map +1 -0
  42. package/dist/server/factory.test.d.ts +5 -0
  43. package/dist/server/factory.test.d.ts.map +1 -0
  44. package/dist/server/factory.test.js +77 -0
  45. package/dist/server/factory.test.js.map +1 -0
  46. package/dist/server/http.d.ts +10 -0
  47. package/dist/server/http.d.ts.map +1 -0
  48. package/dist/server/http.js +110 -0
  49. package/dist/server/http.js.map +1 -0
  50. package/dist/server/index.d.ts +8 -0
  51. package/dist/server/index.d.ts.map +1 -0
  52. package/dist/server/index.js +1502 -0
  53. package/dist/server/index.js.map +1 -0
  54. package/dist/server/loader.d.ts +10 -0
  55. package/dist/server/loader.d.ts.map +1 -0
  56. package/dist/server/loader.js +19 -0
  57. package/dist/server/loader.js.map +1 -0
  58. package/dist/server/prompts.d.ts +6 -0
  59. package/dist/server/prompts.d.ts.map +1 -0
  60. package/dist/server/prompts.js +462 -0
  61. package/dist/server/prompts.js.map +1 -0
  62. package/dist/server/stdio.d.ts +10 -0
  63. package/dist/server/stdio.d.ts.map +1 -0
  64. package/dist/server/stdio.js +25 -0
  65. package/dist/server/stdio.js.map +1 -0
  66. package/package.json +60 -0
@@ -0,0 +1,2726 @@
1
+ import { z } from "zod";
2
+ // Auto-generated Zod schemas from OpenAPI specification
3
+ // Do not edit manually - regenerate with build script
4
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/change-availability
5
+ export const chargePointChangeAvailabilityBody = z.object({
6
+ evseNetworkId: z.number().int().optional(),
7
+ type: z.enum(["Inoperative", "Operative"])
8
+ });
9
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/change-owner
10
+ export const chargePointChangeOwnerBody = z.object({
11
+ userId: z.number().int().optional()
12
+ });
13
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/clear-charging-profile
14
+ export const chargePointClearChargingProfileBody = z.object({
15
+ id: z.number().optional(),
16
+ evseNetworkId: z.string().optional(),
17
+ chargingProfilePurpose: z.string().optional(),
18
+ stackLevel: z.number().optional()
19
+ });
20
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/get-diagnostics
21
+ export const chargePointGetDiagnosticsBody = z.object({
22
+ location: z.string(),
23
+ start: z.string().datetime().optional(),
24
+ stop: z.string().datetime().optional()
25
+ });
26
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/get-security-log
27
+ export const chargePointGetSecurityLogBody = z.object({
28
+ url: z.string().url(),
29
+ reason: z.string(),
30
+ retries: z.number().int().min(0).max(10).optional(),
31
+ interval: z.number().int().min(0).max(3600).optional(),
32
+ startTime: z.string().optional(),
33
+ stopTime: z.string().optional()
34
+ });
35
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/move-evses-to-satellite
36
+ export const chargePointMoveEvsesToSatelliteBody = z.object({
37
+ satelliteChargePointId: z.number().int(),
38
+ evseIds: z.array(z.number().int())
39
+ });
40
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/reserve/{evse}
41
+ export const chargePointReserveBody = z.object({
42
+ userId: z.number().int(),
43
+ reason: z.string().optional()
44
+ });
45
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/reset-security-profile
46
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/reset/{type}
47
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/send-data-transfer
48
+ export const chargePointSendDataTransferBody = z.object({
49
+ vendorId: z.string(),
50
+ messageId: z.string().optional(),
51
+ data: z.string().optional()
52
+ });
53
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/set-charging-profile/{evseNetworkId}
54
+ export const chargePointSetChargingProfileBody = z.object({
55
+ transactionId: z.number().int().optional(),
56
+ stackLevel: z.number().int(),
57
+ chargingProfilePurpose: z.enum(["ChargePointMaxProfile", "TxDefaultProfile", "TxProfile"]),
58
+ chargingProfileKind: z.enum(["Absolute", "Recurring", "Relative"]),
59
+ recurrencyKind: z.enum(["Daily", "Weekly"]).optional(),
60
+ validFrom: z.string().datetime().optional(),
61
+ validTo: z.string().datetime().optional(),
62
+ chargingSchedule: z.object({
63
+ id: z.number().optional(),
64
+ duration: z.number().int().optional(),
65
+ startSchedule: z.string().datetime().optional(),
66
+ chargingRateUnit: z.enum(["A", "W"]),
67
+ chargingSchedulePeriod: z.array(z.object({
68
+ startPeriod: z.number().int(),
69
+ limit: z.number(),
70
+ numberPhases: z.number().int().optional()
71
+ })),
72
+ minChargingRate: z.number().optional()
73
+ })
74
+ });
75
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/start
76
+ export const chargePointStartChargingSessionWithoutEvseBody = z.object({
77
+ userId: z.number().int().optional(),
78
+ paymentMethodId: z.string().optional(),
79
+ externalSessionId: z.string().optional(),
80
+ connectorId: z.number().int().optional(),
81
+ bookingId: z.number().int().optional()
82
+ });
83
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/start/{evse}
84
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/stop/{session}
85
+ export const chargePointStopChargingSessionBody = z.object({
86
+ force: z.boolean().optional()
87
+ });
88
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/sync-configuration
89
+ export const chargePointSyncConfigurationBody = z.object({
90
+ keys: z.array(z.union([z.unknown(), z.string()])).optional()
91
+ });
92
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/trigger-message
93
+ // POST /public-api/actions/charge-point/v1.0/{chargePoint}/unlock/{evse}
94
+ // POST /public-api/actions/charge-point/v2.0/{chargePoint}/change-sharing-code
95
+ export const chargePointChangeSharingCodeBody = z.object({
96
+ sharingCode: z.string().optional()
97
+ });
98
+ // POST /public-api/actions/charge-point/v2.0/{chargePoint}/delete-certificate
99
+ export const chargePointDeleteCertificateBody = z.object({
100
+ certificateType: z.enum(["ChargingStationCertificate", "V2GCertificate", "V2GRootCertificate", "MORootCertificate", "CSMSRootCertificate", "ManufacturerRootCertificate", "V2GCertificateChain"])
101
+ });
102
+ // POST /public-api/actions/charge-point/v2.0/{chargePoint}/install-certificate
103
+ export const chargePointInstallCertificateBody = z.object({
104
+ certificateType: z.enum(["V2GRootCertificate", "MORootCertificate", "CSMSRootCertificate", "ManufacturerRootCertificate"])
105
+ });
106
+ // POST /public-api/actions/charge-point/v2.0/{chargePoint}/set-configuration
107
+ export const chargePointSetConfigurationBody = z.object({
108
+ value: z.string(),
109
+ name: z.string(),
110
+ instance: z.string().optional(),
111
+ componentName: z.string().optional(),
112
+ evseId: z.number().int().optional()
113
+ });
114
+ // POST /public-api/actions/charge-point/v2.0/{chargePoint}/sync-certificates
115
+ export const chargePointGetInstalledCertificateIdsBody = z.object({
116
+ certificateType: z.enum(["V2GRootCertificate", "MORootCertificate", "CSMSRootCertificate", "V2GCertificateChain", "ManufacturerRootCertificate"]).optional()
117
+ });
118
+ // POST /public-api/actions/charge-point/v2.0/{chargePoint}/update-firmware
119
+ export const chargePointUpdateFirmwareBody = z.object({
120
+ url: z.string().optional(),
121
+ firmwareVersionId: z.number().int().optional(),
122
+ retrieveAfter: z.string().datetime().optional(),
123
+ retries: z.number().int().min(0).max(10).optional(),
124
+ interval: z.number().int().min(0).max(3600).optional(),
125
+ signed: z.boolean(),
126
+ signingCertificate: z.string().optional(),
127
+ signature: z.string().optional(),
128
+ downloadUrlProtocol: z.enum(["http", "https"]).optional()
129
+ });
130
+ // POST /public-api/actions/circuit/v2.0/{circuit}/attach-charge-point
131
+ export const circuitAttachChargePointBody = z.object({
132
+ chargePointId: z.number().int(),
133
+ priority: z.number().min(0).optional()
134
+ });
135
+ // POST /public-api/actions/circuit/v2.0/{circuit}/detach-charge-point/{chargePoint}
136
+ // POST /public-api/actions/circuit/v2.0/{circuit}/set-charge-point-priority/{chargePoint}
137
+ export const circuitSetChargePointPriorityBody = z.unknown();
138
+ // POST /public-api/actions/circuit/v2.0/{circuit}/set-charge-point-priority/{chargePoint}/evse/{evse}
139
+ export const circuitSetChargePointEvsePriorityBody = z.unknown();
140
+ // POST /public-api/actions/circuit/v2.0/{circuit}/set-circuit-soc-priorities
141
+ export const circuitSetCircuitSocPriorityBody = z.object({
142
+ upperThresholdPercent: z.number().min(5).max(95).optional(),
143
+ highSoCPriority: z.unknown().optional(),
144
+ lowerThresholdPercent: z.number().min(5).max(95).optional(),
145
+ lowSoCPriority: z.number().min(0).optional()
146
+ });
147
+ // POST /public-api/actions/circuit/v2.0/{circuit}/set-session-priority/{session}
148
+ export const circuitSetSessionPriorityBody = z.object({
149
+ priority: z.number().min(0)
150
+ });
151
+ // POST /public-api/actions/configuration-template/v1.0/{template}/apply-to-charge-points
152
+ export const configurationTemplateApplyToChargePointsBody = z.object({
153
+ chargePointIds: z.array(z.number().int()).optional(),
154
+ shouldPersist: z.boolean().optional()
155
+ });
156
+ // POST /public-api/actions/configuration-template/v1.0/{template}/insert-bulk-variables
157
+ export const configurationTemplateBulkCreateVariablesPathParams = z.object({
158
+ template: z.number().int()
159
+ });
160
+ export const configurationTemplateBulkCreateVariablesBody = z.array(z.union([z.unknown(), z.unknown()]));
161
+ // POST /public-api/actions/electricity-meter/v1.0/{electricityMeter}/report-consumption
162
+ export const electricityMeterReportConsumptionBody = z.object({
163
+ timestamp: z.string().datetime().optional(),
164
+ currentL1: z.number().int().optional(),
165
+ currentL2: z.number().int().optional(),
166
+ currentL3: z.number().int().optional()
167
+ });
168
+ // POST /public-api/actions/evse/v1.0/{evse}/start
169
+ export const evseStartChargingWithEvseIdBody = z.object({
170
+ chargingProfile: z.unknown().optional()
171
+ });
172
+ // POST /public-api/actions/evse/v1.0/{evse}/trigger-message
173
+ export const evseTriggerMessageBody = z.object({
174
+ type: z.enum(["BootNotification", "DiagnosticsStatusNotification", "LogStatusNotification", "FirmwareStatusNotification", "PublishFirmwareStatusNotification", "Heartbeat", "MeterValues", "StatusNotification", "SignV2GCertificate", "SignChargingStationCertificate", "SignCombinedCertificate", "TransactionEvent"])
175
+ });
176
+ // POST /public-api/actions/flexibility-asset/v1.0/{flexibilityAsset}/change-status
177
+ export const changeFlexibilityAssetStatusPathParams = z.object({
178
+ flexibilityAsset: z.string()
179
+ });
180
+ export const changeFlexibilityAssetStatusBody = z.object({
181
+ status: z.enum(["enabled", "disabled"]),
182
+ endsAt: z.string().datetime().optional()
183
+ });
184
+ // POST /public-api/actions/flexibility-asset/v1.0/{flexibilityAsset}/create-activation-request
185
+ export const flexibilityAssetCreateActivationRequestPathParams = z.object({
186
+ flexibilityAsset: z.string()
187
+ });
188
+ export const flexibilityAssetCreateActivationRequestBody = z.object({
189
+ periods: z.array(z.object({
190
+ startTime: z.string().datetime(),
191
+ endTime: z.string().datetime(),
192
+ energy: z.number().int().optional(),
193
+ maxPower: z.number().int().optional()
194
+ })).optional()
195
+ });
196
+ // POST /public-api/actions/id-tag/v1.0/{idTag}/reissue-emaid
197
+ // POST /public-api/actions/installer-job/v1.0/{installerJob}/assign-charge-points
198
+ export const assignInstallerJobChargePointsBody = z.object({
199
+ chargePointIds: z.array(z.number().int()).optional(),
200
+ chargingZoneId: z.number().int().optional(),
201
+ locationId: z.number().int().optional()
202
+ });
203
+ // POST /public-api/actions/installer-job/v1.0/{installerJob}/change-status
204
+ export const changeInstallerJobStatusBody = z.object({
205
+ status: z.enum(["new", "in_progress", "completed", "failed"]),
206
+ outcomeDetails: z.string().optional()
207
+ });
208
+ // POST /public-api/actions/locations/v2.0/{location}/check-booking-availability
209
+ export const locationCheckBookingAvailabilityBody = z.object({
210
+ startAfter: z.string().datetime(),
211
+ endBefore: z.string().datetime()
212
+ });
213
+ // POST /public-api/actions/notifications/v1.0/{notification}/resend
214
+ export const notificationsResendFailedBody = z.object({
215
+ notifications: z.array(z.unknown()),
216
+ startTime: z.string().optional(),
217
+ endTime: z.string().optional()
218
+ });
219
+ // POST /public-api/actions/parking-spaces/v1.0/{parkingSpace}/update-occupancy-status
220
+ export const parkingSpaceUpdateOccupancyStatusBody = z.object({
221
+ status: z.enum(["available", "occupied"])
222
+ });
223
+ // POST /public-api/actions/provisioning-certificate/v1.0/{provisioningCertificate}/issue-emaid
224
+ export const certificateIssueAnEmaidBody = z.object({
225
+ paymentMethod: z.string().optional()
226
+ });
227
+ // POST /public-api/actions/reservation/v1.0/{reservation}/cancel
228
+ export const reservationCancelBody = z.object({
229
+ force: z.boolean().optional(),
230
+ reason: z.string().optional()
231
+ });
232
+ // POST /public-api/actions/roaming-operator/v2.0/{roamingOperator}/custom-tariff-filter/{customTariffFilter}/set-pricing-data
233
+ export const updateCustomTariffFilterTariffBody = z.object({
234
+ country_code: z.string().min(2).max(2).optional(),
235
+ party_id: z.string().min(3).max(3).optional(),
236
+ id: z.string().max(36),
237
+ currency: z.string().min(3).max(3),
238
+ type: z.enum(["AD_HOC_PAYMENT", "PROFILE_CHEAP", "PROFILE_FAST", "PROFILE_GREEN", "REGULAR"]).optional(),
239
+ tariff_alt_text: z.array(z.object({
240
+ language: z.string().min(2).max(2),
241
+ text: z.string().max(512)
242
+ })).optional(),
243
+ tariff_alt_url: z.string().url().max(255).optional(),
244
+ min_price: z.object({
245
+ excl_vat: z.number().min(0).optional(),
246
+ incl_vat: z.number().min(0).optional()
247
+ }).optional(),
248
+ max_price: z.unknown().optional(),
249
+ elements: z.array(z.object({
250
+ price_components: z.array(z.object({
251
+ type: z.enum(["ENERGY", "FLAT", "PARKING_TIME", "TIME"]),
252
+ price: z.number().min(0),
253
+ vat: z.number().min(0).max(100).optional(),
254
+ step_size: z.number().int().min(1)
255
+ })).min(1),
256
+ restrictions: z.object({
257
+ start_time: z.string().regex(new RegExp("^([01]?[0-9]|2[0-3]):[0-5][0-9]$")).optional(),
258
+ end_time: z.string().regex(new RegExp("^([01]?[0-9]|2[0-3]):[0-5][0-9]$")).optional(),
259
+ start_date: z.string().optional(),
260
+ end_date: z.string().optional(),
261
+ min_kwh: z.number().min(0).optional(),
262
+ max_kwh: z.number().min(0).optional(),
263
+ min_current: z.number().min(0).optional(),
264
+ max_current: z.number().min(0).optional(),
265
+ min_power: z.number().min(0).optional(),
266
+ max_power: z.number().min(0).optional(),
267
+ min_duration: z.number().int().min(0).optional(),
268
+ max_duration: z.number().int().min(0).optional(),
269
+ day_of_week: z.array(z.enum(["MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY", "SUNDAY"])).optional(),
270
+ reservation: z.enum(["RESERVATION", "RESERVATION_EXPIRES"]).optional()
271
+ }).optional()
272
+ })).min(1),
273
+ start_date_time: z.string().datetime().optional(),
274
+ end_date_time: z.string().datetime().optional(),
275
+ energy_mix: z.object({
276
+ is_green_energy: z.boolean().optional(),
277
+ energy_sources: z.array(z.object({
278
+ source: z.enum(["NUCLEAR", "GENERAL_FOSSIL", "COAL", "GAS", "GENERAL_GREEN", "SOLAR", "WIND", "WATER"]),
279
+ percentage: z.number().min(0).max(100)
280
+ })).optional(),
281
+ environ_impact: z.array(z.object({
282
+ category: z.enum(["NUCLEAR_WASTE", "CARBON_DIOXIDE"]),
283
+ amount: z.number().min(0)
284
+ })).optional(),
285
+ supplier_name: z.string().max(64).optional(),
286
+ energy_product_name: z.string().max(64).optional()
287
+ }).optional(),
288
+ last_updated: z.string().datetime()
289
+ });
290
+ // POST /public-api/actions/session/v1.0/{session}/assign-user
291
+ export const sessionAssignToUserBody = z.object({
292
+ userId: z.number().int()
293
+ });
294
+ // POST /public-api/actions/session/v1.0/{session}/retry-payment
295
+ export const sessionRetryPaymentBody = z.object({
296
+ paymentMethodId: z.number().int().optional()
297
+ });
298
+ // POST /public-api/actions/subscription-plans/v1.0/{subscriptionPlan}/replace
299
+ export const subscriptionPlanReplaceBody = z.object({
300
+ planId: z.number().int(),
301
+ replaceAt: z.string().datetime().optional(),
302
+ reason: z.string()
303
+ });
304
+ // POST /public-api/actions/tariffs/v2.0/{tariff}/set-tariff-display-information
305
+ export const tariffSetDisplayInformationBody = z.object({
306
+ defaultPriceInformation: z.string().max(150).optional(),
307
+ defaultPriceInformationOffline: z.string().max(150).optional(),
308
+ priceInformation: z.string().optional(),
309
+ totalCostInformation: z.string().optional()
310
+ });
311
+ // POST /public-api/actions/transactions/v1.0/{transaction}/issue-invoice
312
+ export const transactionIssueInvoiceBody = z.object({
313
+ email: z.string(),
314
+ invoiceDetails: z.object({
315
+ invoiceType: z.enum(["individual", "company"]),
316
+ individualName: z.string().optional(),
317
+ individualPersonalId: z.string().optional(),
318
+ individualTaxId: z.string().optional(),
319
+ companyName: z.string().optional(),
320
+ companyRegNo: z.string().optional(),
321
+ companyTaxId: z.string().optional(),
322
+ companyTaxAdministrationOfficeName: z.string().optional(),
323
+ country: z.enum(["AF", "AX", "AL", "DZ", "AS", "AD", "AO", "AI", "AQ", "AG", "AR", "AM", "AW", "AU", "AT", "AZ", "BS", "BH", "BD", "BB", "BY", "BE", "BZ", "BJ", "BM", "BT", "BO", "BQ", "BA", "BW", "BV", "BR", "IO", "BN", "BG", "BF", "BI", "KH", "CM", "CA", "CV", "KY", "CF", "TD", "CL", "CN", "CX", "CC", "CO", "KM", "CG", "CD", "CK", "CR", "CI", "HR", "CU", "CW", "CY", "CZ", "DK", "DJ", "DM", "DO", "EC", "EG", "SV", "GQ", "ER", "EE", "ET", "FK", "FO", "FJ", "FI", "FR", "GF", "PF", "TF", "GA", "GM", "GE", "DE", "GH", "GI", "GR", "GL", "GD", "GP", "GU", "GT", "GG", "GN", "GW", "GY", "HT", "HM", "VA", "HN", "HK", "HU", "IS", "IN", "ID", "IR", "IQ", "IE", "IM", "IL", "IT", "JM", "JP", "JE", "JO", "KZ", "KE", "KI", "KP", "KR", "XK", "KW", "KG", "LA", "LV", "LB", "LS", "LR", "LY", "LI", "LT", "LU", "MO", "MK", "MG", "MW", "MY", "MV", "ML", "MT", "MH", "MQ", "MR", "MU", "YT", "MX", "FM", "MD", "MC", "MN", "ME", "MS", "MA", "MZ", "MM", "NA", "NR", "NP", "NL", "NC", "NZ", "NI", "NE", "NG", "NU", "NF", "MP", "NO", "OM", "PK", "PW", "PS", "PA", "PG", "PY", "PE", "PH", "PN", "PL", "PT", "PR", "QA", "RE", "RO", "RU", "RW", "BL", "SH", "KN", "LC", "MF", "PM", "VC", "WS", "SM", "ST", "SA", "SN", "RS", "SC", "SL", "SG", "SX", "SK", "SI", "SB", "SO", "ZA", "GS", "SS", "ES", "LK", "SD", "SR", "SJ", "SZ", "SE", "CH", "SY", "TW", "TJ", "TZ", "TH", "TL", "TG", "TK", "TO", "TT", "TN", "TR", "TM", "TC", "TV", "UG", "UA", "AE", "GB", "US", "UM", "UY", "UZ", "VU", "VE", "VN", "VG", "VI", "WF", "EH", "YE", "ZM", "ZW"]).optional(),
324
+ city: z.string().optional(),
325
+ postCode: z.string().optional(),
326
+ address: z.string().optional()
327
+ })
328
+ });
329
+ // POST /public-api/actions/transactions/v1.0/{transaction}/resend-invoice
330
+ // POST /public-api/actions/transactions/v1.0/{transaction}/update-payment-reference
331
+ export const transactionUpdatePaymentReferenceBody = z.object({
332
+ ref: z.string()
333
+ }).strict();
334
+ // POST /public-api/actions/users/v1.0/{user}/activate-subscription
335
+ export const userActivateSubscriptionBody = z.object({
336
+ planId: z.number().int(),
337
+ endDate: z.string().optional(),
338
+ autoRenewal: z.boolean().optional(),
339
+ reason: z.string().optional()
340
+ });
341
+ // POST /public-api/actions/users/v1.0/{user}/add-balance
342
+ export const userAddBalanceBody = z.object({
343
+ amount: z.number(),
344
+ reason: z.string(),
345
+ app_info: z.string().max(2000).optional()
346
+ }).strict();
347
+ // POST /public-api/actions/users/v1.0/{user}/apply-custom-fee
348
+ export const userApplyCustomFeeBody = z.object({
349
+ amount: z.number(),
350
+ description: z.string(),
351
+ paymentMethodId: z.string().optional()
352
+ }).strict();
353
+ // POST /public-api/actions/users/v1.0/{user}/cancel-subscription
354
+ export const userCancelSubscriptionBody = z.object({
355
+ reason: z.string()
356
+ });
357
+ // POST /public-api/actions/users/v1.0/{user}/change-status
358
+ export const userChangeStatusBody = z.object({
359
+ status: z.enum(["enabled", "disabled"]),
360
+ reason: z.string()
361
+ }).strict();
362
+ // POST /public-api/actions/users/v1.0/{user}/clear-subscription-amount-due
363
+ // GET /public-api/actions/users/v2.0/{user}/export-all-private-data
364
+ // POST /public-api/actions/users/v2.0/{user}/redeem-voucher
365
+ export const userRedeemVoucherBody = z.object({
366
+ code: z.string()
367
+ });
368
+ // GET /public-api/notifications/v1.0
369
+ // POST /public-api/notifications/v1.0
370
+ export const notificationsSubscribeDeprecatedBody = z.object({
371
+ notifications: z.array(z.enum(["AuthorizationNotification", "authorization.changed", "BootNotification", "ChargePointChangedNotification", "chargePoint.changed", "evse.changed", "ChargePointSyncConfigurationNotification", "CircuitConsumptionNotification", "circuit.changed", "DiagnosticsStatusNotification", "HardwareStatusNotification", "LocationChangedNotification", "NetworkStatusNotification", "SecurityEventNotification", "SessionMeterValuesNotification", "SessionStartStopNotification", "session.start.stop.notification", "SessionUpdateNotification", "UserChangedNotification", "SubOperatorChangedNotification", "TariffChangedNotification", "user.subscriptionChanged", "user.subscription.changed", "ReservationChangedNotification", "PaymentMethodChangedNotification", "PartnerInviteChangedNotification", "reservation.changed", "user.paymentMethod.changed", "userBalance.changed", "partnerInvite.changed", "roamingPlatform.changed", "parkingSpace.occupancyStatus.changed", "partner.changed", "transaction.changed", "settlementReport.created", "idTag.changed", "chargePoint.dataTransferReceived", "subscriptionPlan.changed", "user.invoiceDetails.changed", "cdr.received", "chargingProfile.applied", "installerJob.changed"])),
372
+ callbackUrl: z.string().url().max(500)
373
+ });
374
+ // GET /public-api/notifications/v1.0/{notification}
375
+ // PUT /public-api/notifications/v1.0/{notification}
376
+ export const notificationsUpdateDeprecatedBody = z.object({
377
+ notifications: z.array(z.unknown()),
378
+ callbackUrl: z.string().url().max(500)
379
+ });
380
+ // DELETE /public-api/notifications/v1.0/{notification}
381
+ // GET /public-api/notifications/v2.0
382
+ // POST /public-api/notifications/v2.0
383
+ export const notificationsSubscribeBody = z.object({
384
+ id: z.number(),
385
+ via: z.enum(["webhook", "kafka"]),
386
+ notifications: z.array(z.unknown()),
387
+ webhook: z.object({
388
+ callbackUrl: z.string().url().max(500)
389
+ }).optional(),
390
+ kafka: z.object({
391
+ topic: z.string(),
392
+ brokers: z.array(z.string()),
393
+ compressionCodec: z.enum(["none", "gzip", "snappy", "lz4"]).optional(),
394
+ securityProtocol: z.enum(["PLAINTEXT", "SASL_SSL"]).optional(),
395
+ saslMechanism: z.enum(["PLAIN", "SCRAM-SHA-256", "SCRAM-SHA-512"]).optional(),
396
+ saslUsername: z.string().optional(),
397
+ saslPassword: z.string().optional()
398
+ }).optional()
399
+ });
400
+ // GET /public-api/notifications/v2.0/{notification}
401
+ // PUT /public-api/notifications/v2.0/{notification}
402
+ export const notificationsCreateBody = z.unknown();
403
+ // DELETE /public-api/notifications/v2.0/{notification}
404
+ // GET /public-api/resources/authorizations/v1.0/{authorization}
405
+ export const authorizationReadDeprecatedPathParams = z.object({
406
+ authorization: z.string()
407
+ });
408
+ // GET /public-api/resources/authorizations/v2.0
409
+ // GET /public-api/resources/authorizations/v2.0/{authorization}
410
+ export const authorizationReadPathParams = z.object({
411
+ authorization: z.string()
412
+ });
413
+ // GET /public-api/resources/booking-requests/v1.0
414
+ // POST /public-api/resources/booking-requests/v1.0
415
+ export const bookingRequestCreateBody = z.union([z.object({
416
+ id: z.number().int().optional(),
417
+ type: z.enum(["create"]),
418
+ status: z.enum(["pending", "approved", "rejected"]).optional(),
419
+ rejectionReason: z.string().optional(),
420
+ createdAt: z.string().datetime().optional(),
421
+ lastUpdatedAt: z.string().datetime().optional(),
422
+ userId: z.number().int(),
423
+ locationId: z.number().int(),
424
+ evseId: z.number().int().optional(),
425
+ evseCriteria: z.object({
426
+ currentType: z.unknown().optional(),
427
+ minPower: z.number().optional(),
428
+ maxPower: z.number().optional(),
429
+ connectorType: z.unknown().optional()
430
+ }).optional(),
431
+ startAt: z.string().datetime(),
432
+ endAt: z.string().datetime()
433
+ }), z.object({
434
+ type: z.enum(["update"]),
435
+ bookingId: z.number().int(),
436
+ userId: z.number().int().optional(),
437
+ startAt: z.string().datetime().optional(),
438
+ endAt: z.string().datetime().optional()
439
+ }), z.object({
440
+ type: z.enum(["cancel"]),
441
+ bookingId: z.number().int()
442
+ })]);
443
+ // GET /public-api/resources/booking-requests/v1.0/{bookingRequest}
444
+ // GET /public-api/resources/bookings/v1.0
445
+ // GET /public-api/resources/bookings/v1.0/{booking}
446
+ // GET /public-api/resources/cdrs/v2.0
447
+ export const cdrsListingQueryParams = z.object({
448
+ per_page: z.number().int().min(1).max(100).optional(),
449
+ cursor: z.string().optional(),
450
+ include: z.array(z.enum(["externalAppData"])).optional()
451
+ });
452
+ // GET /public-api/resources/cdrs/v2.0/{cdr}
453
+ export const cdrReadPathParams = z.object({
454
+ cdr: z.number().int()
455
+ });
456
+ // GET /public-api/resources/charge-point-downtime-periods/v1.0
457
+ export const chargePointDowntimePeriodsListingQueryParams = z.object({
458
+ filter: z.object({
459
+ chargePointId: z.number().int().optional(),
460
+ $ref: z.unknown().optional()
461
+ }).optional()
462
+ });
463
+ // POST /public-api/resources/charge-point-downtime-periods/v1.0
464
+ export const chargePointDowntimePeriodCreateBody = z.object({
465
+ $ref: z.unknown().optional(),
466
+ chargePointId: z.number().int()
467
+ });
468
+ // GET /public-api/resources/charge-point-downtime-periods/v1.0/{chargePointDowntimePeriod}
469
+ // DELETE /public-api/resources/charge-point-downtime-periods/v1.0/{chargePointDowntimePeriod}
470
+ // PATCH /public-api/resources/charge-point-downtime-periods/v1.0/{chargePointDowntimePeriod}
471
+ export const chargePointDowntimePeriodUpdateBody = z.unknown();
472
+ // GET /public-api/resources/charge-point-models/v1.0
473
+ export const chargePointModelsListingQueryParams = z.object({
474
+ filter: z.unknown().optional()
475
+ });
476
+ // POST /public-api/resources/charge-point-models/v1.0
477
+ export const chargePointModelCreateBody = z.unknown();
478
+ // GET /public-api/resources/charge-point-models/v1.0/{modelId}
479
+ // DELETE /public-api/resources/charge-point-models/v1.0/{modelId}
480
+ // PATCH /public-api/resources/charge-point-models/v1.0/{modelId}
481
+ export const chargePointModelUpdateBody = z.unknown();
482
+ // GET /public-api/resources/charge-point-vendors/v1.0
483
+ // POST /public-api/resources/charge-point-vendors/v1.0
484
+ export const chargePointVendorCreateBody = z.unknown();
485
+ // GET /public-api/resources/charge-point-vendors/v1.0/{vendorId}
486
+ // DELETE /public-api/resources/charge-point-vendors/v1.0/{vendorId}
487
+ // PATCH /public-api/resources/charge-point-vendors/v1.0/{vendorId}
488
+ export const chargePointVendorUpdateBody = z.unknown();
489
+ // GET /public-api/resources/charge-points/v1.0
490
+ // POST /public-api/resources/charge-points/v1.0
491
+ export const chargePointCreateDeprecatedBody = z.object({
492
+ templateId: z.number().int(),
493
+ evses: z.record(z.object({
494
+ tariffGroupId: z.number().int().optional(),
495
+ physicalReference: z.string().optional(),
496
+ maxAmperage: z.number().optional(),
497
+ status: z.enum(["active", "disabled", "out of order"]).optional()
498
+ })).optional(),
499
+ externalId: z.string().optional()
500
+ });
501
+ // GET /public-api/resources/charge-points/v1.0/{chargePoint}
502
+ // DELETE /public-api/resources/charge-points/v1.0/{chargePoint}
503
+ // PATCH /public-api/resources/charge-points/v1.0/{chargePoint}
504
+ export const chargePointUpdateDeprecatedBody = z.object({
505
+ evses: z.unknown().optional(),
506
+ externalId: z.string().optional()
507
+ });
508
+ // GET /public-api/resources/charge-points/v1.0/{chargePoint}/configurations
509
+ // GET /public-api/resources/charge-points/v1.0/{chargePoint}/configurations/{key}
510
+ // PATCH /public-api/resources/charge-points/v1.0/{chargePoint}/configurations/{key}
511
+ export const chargePointConfigurationUpdateDeprecatedBody = z.object({
512
+ value: z.string().optional()
513
+ });
514
+ // GET /public-api/resources/charge-points/v1.0/{chargePoint}/status
515
+ // GET /public-api/resources/charge-points/v2.0
516
+ export const chargePointsListingQueryParams = z.object({
517
+ filter: z.object({
518
+ desiredSecurityProfileStatus: z.enum(["applied", "pending", "rejected"]).optional(),
519
+ evsePhysicalReference: z.string().optional(),
520
+ networkId: z.string().optional(),
521
+ bootNotificationSerialNumber: z.string().optional(),
522
+ modelId: z.string().optional(),
523
+ vendorId: z.string().optional(),
524
+ userId: z.string().optional(),
525
+ partnerId: z.string().optional(),
526
+ type: z.enum(["public", "private", "personal"]).optional(),
527
+ subOperatorId: z.string().optional(),
528
+ roaming: z.string().optional(),
529
+ name: z.string().optional(),
530
+ locationId: z.string().optional(),
531
+ circuitId: z.number().int().optional(),
532
+ chargingZoneId: z.string().optional(),
533
+ managedByOperator: z.string().optional(),
534
+ externalId: z.string().optional(),
535
+ utilityId: z.number().int().optional(),
536
+ tag: z.string().optional(),
537
+ sharingCode: z.string().optional(),
538
+ lastUpdatedAfter: z.string().datetime().optional(),
539
+ lastUpdatedBefore: z.string().datetime().optional()
540
+ }).optional()
541
+ });
542
+ // POST /public-api/resources/charge-points/v2.0
543
+ export const chargePointCreateBody = z.object({
544
+ id: z.number().int().optional(),
545
+ name: z.string().max(255),
546
+ type: z.enum(["private", "public", "personal"]),
547
+ pin: z.string().max(4).optional(),
548
+ locationId: z.number().int().optional(),
549
+ chargingZoneId: z.number().int().optional(),
550
+ electricityRateId: z.number().int().optional(),
551
+ subscription: z.object({
552
+ required: z.boolean().optional(),
553
+ planIds: z.array(z.number().int()).optional()
554
+ }).optional(),
555
+ networkType: z.enum(["cellular", "ethernet", "wlan"]).optional(),
556
+ status: z.enum(["enabled", "disabled", "out of order", "demo"]),
557
+ managedByOperator: z.boolean().optional(),
558
+ externalId: z.string().optional(),
559
+ network: z.object({
560
+ id: z.string().optional(),
561
+ protocol: z.enum(["ocpp 1.5", "ocpp 1.6", "ocpp 1.6 soap", "ocpp 2.0.1"]).optional(),
562
+ password: z.string().optional(),
563
+ ip: z.string().optional(),
564
+ port: z.number().int().optional()
565
+ }).optional(),
566
+ capabilities: z.array(z.enum(["remote_start_stop_capable", "meter_values", "stop_transaction_on_ev_disconnect", "disregard_the_heartbeats", "display_messages"])).optional(),
567
+ autoStartWithoutAuthorization: z.boolean().optional(),
568
+ disableAutoStartEmulation: z.boolean().optional(),
569
+ security: z.object({
570
+ desiredProfile: z.number().int().optional(),
571
+ currentProfile: z.number().int(),
572
+ hardwareEnabledProfile: z.number().int().optional(),
573
+ desiredProfileStatus: z.enum(["applied", "pending", "rejected"]).optional()
574
+ }).optional(),
575
+ modelId: z.number().int().optional(),
576
+ enableAutoFaultRecovery: z.boolean().optional(),
577
+ user: z.unknown().optional(),
578
+ partner: z.object({
579
+ id: z.number().int().optional(),
580
+ contractId: z.number().int().optional(),
581
+ contactId: z.number().int().optional(),
582
+ corporateBillingAsDefault: z.boolean().optional(),
583
+ accessType: z.enum(["private_view_private_use", "private_view_public_use", "public_view_private_use"]).optional(),
584
+ notice: z.unknown().optional()
585
+ }).optional(),
586
+ utilityId: z.number().int().optional(),
587
+ createdAt: z.string().datetime().optional(),
588
+ firstContactAt: z.string().optional(),
589
+ roamingOperatorId: z.number().int().optional(),
590
+ chargingProfile: z.unknown().optional(),
591
+ displayTariffAndCosts: z.boolean().optional(),
592
+ lastBootNotification: z.object({
593
+ model: z.string().optional(),
594
+ vendor: z.string().optional(),
595
+ chargeBoxSerialNumber: z.string().optional(),
596
+ chargePointSerialNumber: z.string().optional(),
597
+ firmwareVersion: z.string().optional(),
598
+ iccid: z.string().optional(),
599
+ imsi: z.string().optional(),
600
+ meterSerialNumber: z.string().optional(),
601
+ meterType: z.string().optional()
602
+ }).optional(),
603
+ networkStatus: z.enum(["never_connected", "available", "temporarily_unavailable", "long-term_unavailable"]).optional(),
604
+ hardwareStatus: z.enum(["available", "unavailable", "faulted"]).optional(),
605
+ vendorErrorCode: z.string().optional(),
606
+ tags: z.unknown().optional(),
607
+ sharingCode: z.string().optional(),
608
+ enabledRandomisedDelay: z.boolean().optional(),
609
+ noticeId: z.unknown().optional(),
610
+ usesRenewableEnergy: z.unknown().optional(),
611
+ integratedAt: z.unknown().optional(),
612
+ manufacturedAt: z.unknown().optional(),
613
+ lastUpdatedAt: z.unknown().optional(),
614
+ ocppConnectedChargePointId: z.number().int().optional(),
615
+ communicationMode: z.enum(["none", "direct_ocpp", "via_ocpp_connected_charge_point"]).optional()
616
+ });
617
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}
618
+ // DELETE /public-api/resources/charge-points/v2.0/{chargePoint}
619
+ // PATCH /public-api/resources/charge-points/v2.0/{chargePoint}
620
+ export const chargePointUpdateBody = z.object({
621
+ id: z.number().int().optional(),
622
+ name: z.string().max(255).optional(),
623
+ type: z.enum(["private", "public", "personal"]).optional(),
624
+ pin: z.string().max(4).optional(),
625
+ locationId: z.number().int().optional(),
626
+ chargingZoneId: z.number().int().optional(),
627
+ electricityRateId: z.number().int().optional(),
628
+ subscription: z.object({
629
+ required: z.boolean().optional(),
630
+ planIds: z.array(z.number().int()).optional()
631
+ }).optional(),
632
+ networkType: z.enum(["cellular", "ethernet", "wlan"]).optional(),
633
+ status: z.enum(["enabled", "disabled", "out of order", "demo"]).optional(),
634
+ managedByOperator: z.boolean().optional(),
635
+ externalId: z.string().optional(),
636
+ network: z.object({
637
+ id: z.string().optional(),
638
+ protocol: z.enum(["ocpp 1.5", "ocpp 1.6", "ocpp 1.6 soap", "ocpp 2.0.1"]).optional(),
639
+ password: z.string().optional(),
640
+ ip: z.string().optional(),
641
+ port: z.number().int().optional()
642
+ }).optional(),
643
+ capabilities: z.array(z.enum(["remote_start_stop_capable", "meter_values", "stop_transaction_on_ev_disconnect", "disregard_the_heartbeats", "display_messages"])).optional(),
644
+ autoStartWithoutAuthorization: z.boolean().optional(),
645
+ disableAutoStartEmulation: z.boolean().optional(),
646
+ security: z.object({
647
+ desiredProfile: z.number().int().optional(),
648
+ currentProfile: z.number().int().optional(),
649
+ hardwareEnabledProfile: z.number().int().optional(),
650
+ desiredProfileStatus: z.enum(["applied", "pending", "rejected"]).optional()
651
+ }).optional(),
652
+ modelId: z.number().int().optional(),
653
+ enableAutoFaultRecovery: z.boolean().optional(),
654
+ user: z.object({
655
+ id: z.number().int().optional(),
656
+ automaticFirmwareUpdatesEnabled: z.boolean().optional()
657
+ }).optional(),
658
+ partner: z.object({
659
+ id: z.number().int().optional(),
660
+ contractId: z.number().int().optional(),
661
+ contactId: z.number().int().optional(),
662
+ corporateBillingAsDefault: z.boolean().optional(),
663
+ accessType: z.enum(["private_view_private_use", "private_view_public_use", "public_view_private_use"]).optional(),
664
+ notice: z.unknown().optional()
665
+ }).optional(),
666
+ utilityId: z.number().int().optional(),
667
+ tags: z.array(z.string()).optional(),
668
+ enabledRandomisedDelay: z.boolean().optional(),
669
+ noticeId: z.number().int().optional(),
670
+ usesRenewableEnergy: z.boolean().optional(),
671
+ integratedAt: z.string().datetime().optional(),
672
+ manufacturedAt: z.string().datetime().optional()
673
+ });
674
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/available-personal-smart-charging-modes
675
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/configurations
676
+ export const chargePointConfigurationsListingQueryParams = z.object({
677
+ filter: z.object({
678
+ name: z.string().optional(),
679
+ instance: z.string().optional(),
680
+ componentName: z.string().optional(),
681
+ evseId: z.number().int().optional()
682
+ }).optional()
683
+ });
684
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/configurations/{key}
685
+ // PATCH /public-api/resources/charge-points/v2.0/{chargePoint}/configurations/{key}
686
+ export const chargePointConfigurationUpdateBody = z.object({
687
+ value: z.string().optional()
688
+ });
689
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/evses
690
+ // POST /public-api/resources/charge-points/v2.0/{chargePoint}/evses
691
+ export const chargePointEvseCreateBody = z.object({
692
+ physicalReference: z.string(),
693
+ currentType: z.unknown(),
694
+ label: z.string().optional(),
695
+ networkId: z.string(),
696
+ status: z.enum(["enabled", "disabled", "out of order"]),
697
+ midMeterCertificationEndYear: z.number().int().optional(),
698
+ tariffGroupId: z.number().int().optional(),
699
+ allowsReservation: z.boolean().optional(),
700
+ bookingEnabled: z.boolean().optional(),
701
+ powerOptions: z.unknown().optional(),
702
+ externalId: z.string().optional()
703
+ });
704
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}
705
+ // DELETE /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}
706
+ // PATCH /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}
707
+ export const chargePointEvseUpdateBody = z.object({
708
+ physicalReference: z.string().optional(),
709
+ currentType: z.unknown().optional(),
710
+ label: z.string().optional(),
711
+ networkId: z.string().optional(),
712
+ status: z.enum(["enabled", "disabled", "out of order"]).optional(),
713
+ midMeterCertificationEndYear: z.number().int().optional(),
714
+ tariffGroupId: z.number().int().optional(),
715
+ allowsReservation: z.boolean().optional(),
716
+ bookingEnabled: z.boolean().optional(),
717
+ powerOptions: z.unknown().optional(),
718
+ externalId: z.string().optional()
719
+ });
720
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}/connectors
721
+ // POST /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}/connectors
722
+ export const chargePointEvseConnectorCreateBody = z.object({
723
+ type: z.unknown(),
724
+ format: z.enum(["socket", "cable"]).optional(),
725
+ status: z.enum(["enabled", "disabled"]).optional()
726
+ });
727
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}/connectors/{connector}
728
+ // DELETE /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}/connectors/{connector}
729
+ // PATCH /public-api/resources/charge-points/v2.0/{chargePoint}/evses/{evse}/connectors/{connector}
730
+ export const chargePointEvseConnectorUpdateBody = z.object({
731
+ type: z.unknown().optional(),
732
+ format: z.enum(["socket", "cable"]).optional(),
733
+ status: z.enum(["enabled", "disabled"]).optional()
734
+ });
735
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/hardware-status-logs
736
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/latest-hardware-status-log
737
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/latest-network-status-log
738
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/network-status-logs
739
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/personal-smart-charging-preferences
740
+ // POST /public-api/resources/charge-points/v2.0/{chargePoint}/personal-smart-charging-preferences
741
+ export const personalSmartChargingPreferencesUpdateBody = z.union([z.unknown(), z.unknown(), z.unknown(), z.unknown(), z.unknown(), z.unknown(), z.unknown(), z.object({
742
+ enabled: z.boolean()
743
+ })]);
744
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/shared-partners
745
+ // PUT /public-api/resources/charge-points/v2.0/{chargePoint}/shared-partners
746
+ export const chargePointSharedPartnersSyncBody = z.object({
747
+ partnerIds: z.array(z.number().int())
748
+ });
749
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/shares
750
+ // POST /public-api/resources/charge-points/v2.0/{chargePoint}/shares
751
+ export const chargePointShareCreateBody = z.object({
752
+ userId: z.number().int()
753
+ });
754
+ // GET /public-api/resources/charge-points/v2.0/{chargePoint}/shares/{share}
755
+ // DELETE /public-api/resources/charge-points/v2.0/{chargePoint}/shares/{share}
756
+ // POST /public-api/resources/charge-points/v2.0/{chargePoint}/smart-charging
757
+ export const chargePointSmartChargingUpdateBody = z.union([z.unknown(), z.unknown(), z.unknown(), z.unknown()]);
758
+ // GET /public-api/resources/circuits/v1.0
759
+ // POST /public-api/resources/circuits/v1.0
760
+ export const circuitCreateDeprecatedBody = z.object({
761
+ id: z.number().int().optional(),
762
+ name: z.string(),
763
+ phases: z.enum(["1", "3"]),
764
+ maxCurrent: z.number().min(0),
765
+ minChargePointCurrent: z.number().min(0).optional(),
766
+ setSessionLimitToZeroOnIdle: z.boolean().optional(),
767
+ chargePoints: z.array(z.object({
768
+ id: z.number().int(),
769
+ maxCurrent: z.number(),
770
+ phases: z.enum(["1", "3"]),
771
+ inputVoltage: z.enum(["110-130", "220-240", "380", "400"]),
772
+ phaseRotation: z.enum(["L1", "L2", "L3", "RST", "RTS", "SRT", "STR", "TRS", "TSR"])
773
+ })),
774
+ lastUpdatedAt: z.unknown().optional()
775
+ });
776
+ // GET /public-api/resources/circuits/v1.0/{dlmCircuit}
777
+ // DELETE /public-api/resources/circuits/v1.0/{dlmCircuit}
778
+ // PATCH /public-api/resources/circuits/v1.0/{dlmCircuit}
779
+ export const circuitUpdateDeprecatedBody = z.object({
780
+ id: z.number().int().optional(),
781
+ name: z.string().optional(),
782
+ phases: z.enum(["1", "3"]).optional(),
783
+ maxCurrent: z.number().min(0).optional(),
784
+ minChargePointCurrent: z.number().min(0).optional(),
785
+ setSessionLimitToZeroOnIdle: z.boolean().optional(),
786
+ chargePoints: z.array(z.object({
787
+ id: z.number().int(),
788
+ maxCurrent: z.number(),
789
+ phases: z.enum(["1", "3"]),
790
+ inputVoltage: z.enum(["110-130", "220-240", "380", "400"]),
791
+ phaseRotation: z.enum(["L1", "L2", "L3", "RST", "RTS", "SRT", "STR", "TRS", "TSR"])
792
+ })).optional(),
793
+ lastUpdatedAt: z.unknown().optional()
794
+ });
795
+ // GET /public-api/resources/circuits/v1.0/{dlmCircuit}/consumption
796
+ export const circuitConsumptionAllPhasesDeprecatedPathParams = z.object({
797
+ dlmCircuit: z.number().int()
798
+ });
799
+ // GET /public-api/resources/circuits/v1.0/{dlmCircuit}/consumption/{phase}
800
+ export const circuitConsumptionPhaseDeprecatedPathParams = z.object({
801
+ dlmCircuit: z.number().int(),
802
+ phase: z.enum(["L1", "L2", "L3"])
803
+ });
804
+ // GET /public-api/resources/circuits/v2.0
805
+ export const circuitsListingQueryParams = z.object({
806
+ include: z.array(z.enum(["chargePointPriorities", "userPriorities", "socPriorities", "consumption", "unmanagedLoad"])).optional()
807
+ });
808
+ // POST /public-api/resources/circuits/v2.0
809
+ export const circuitCreateBody = z.object({
810
+ id: z.number().int().optional(),
811
+ name: z.string(),
812
+ parentCircuitId: z.number().int().optional(),
813
+ phases: z.enum(["single_phase", "three_phase", "split_phase"]),
814
+ phaseRotation: z.enum(["RST", "RTS", "SRT", "STR", "TRS", "TSR"]).optional(),
815
+ connectedPhase: z.enum(["L1", "L2", "L3", "L1_L2", "L1_L3", "L2_L3"]).optional(),
816
+ electricalConfiguration: z.unknown().optional(),
817
+ maxVoltage: z.unknown().optional(),
818
+ maxCurrent: z.number(),
819
+ minChargePointCurrent: z.number().optional(),
820
+ setSessionLimitToZeroOnIdle: z.boolean().optional(),
821
+ electricityMeterId: z.number().optional(),
822
+ offlineReservedCurrent: z.number().optional(),
823
+ loadBalancingIntegration: z.object({
824
+ id: z.number().int().optional(),
825
+ fields: z.union([z.object({
826
+ startDate: z.string().optional()
827
+ }), z.object({
828
+ installationId: z.string().uuid()
829
+ })]).optional()
830
+ }).optional()
831
+ });
832
+ // GET /public-api/resources/circuits/v2.0/{circuit}
833
+ // DELETE /public-api/resources/circuits/v2.0/{circuit}
834
+ // PATCH /public-api/resources/circuits/v2.0/{circuit}
835
+ export const circuitUpdateBody = z.object({
836
+ id: z.number().int().optional(),
837
+ name: z.string().optional(),
838
+ parentCircuitId: z.number().int().optional(),
839
+ phases: z.enum(["single_phase", "three_phase", "split_phase"]).optional(),
840
+ phaseRotation: z.enum(["RST", "RTS", "SRT", "STR", "TRS", "TSR"]).optional(),
841
+ connectedPhase: z.enum(["L1", "L2", "L3", "L1_L2", "L1_L3", "L2_L3"]).optional(),
842
+ electricalConfiguration: z.unknown().optional(),
843
+ maxVoltage: z.unknown().optional(),
844
+ maxCurrent: z.number().optional(),
845
+ minChargePointCurrent: z.number().optional(),
846
+ setSessionLimitToZeroOnIdle: z.boolean().optional(),
847
+ electricityMeterId: z.number().optional(),
848
+ offlineReservedCurrent: z.number().optional(),
849
+ loadBalancingIntegration: z.object({
850
+ id: z.number().int().optional(),
851
+ fields: z.union([z.object({
852
+ startDate: z.string().optional()
853
+ }), z.object({
854
+ installationId: z.string().uuid()
855
+ })]).optional()
856
+ }).optional()
857
+ });
858
+ // GET /public-api/resources/circuits/v2.0/{circuit}/charge-point-priorities
859
+ // GET /public-api/resources/circuits/v2.0/{circuit}/consumption
860
+ export const circuitConsumptionPathParams = z.object({
861
+ circuit: z.number().int()
862
+ });
863
+ // GET /public-api/resources/circuits/v2.0/{circuit}/soc-priorities
864
+ // GET /public-api/resources/circuits/v2.0/{circuit}/unmanaged-load
865
+ // GET /public-api/resources/circuits/v2.0/{circuit}/user-priorities
866
+ // POST /public-api/resources/circuits/v2.0/{circuit}/user-priorities
867
+ export const circuitUserPriorityCreateBody = z.object({
868
+ id: z.number().int().optional(),
869
+ targetId: z.number().int(),
870
+ type: z.enum(["partner", "userGroup"]),
871
+ priority: z.number().min(0)
872
+ });
873
+ // GET /public-api/resources/circuits/v2.0/{circuit}/user-priorities/{userPriority}
874
+ // DELETE /public-api/resources/circuits/v2.0/{circuit}/user-priorities/{userPriority}
875
+ // PATCH /public-api/resources/circuits/v2.0/{circuit}/user-priorities/{userPriority}
876
+ export const circuitUserPriorityUpdateBody = z.object({
877
+ id: z.number().int().optional(),
878
+ targetId: z.number().int().optional(),
879
+ type: z.enum(["partner", "userGroup"]).optional(),
880
+ priority: z.number().min(0).optional()
881
+ });
882
+ // GET /public-api/resources/configuration-templates/v1.0
883
+ export const listConfigurationTemplatesQueryParams = z.object({
884
+ filter: z.object({
885
+ ocppVersion: z.enum(["ocpp1.6", "ocpp2.0.1"]).optional()
886
+ }).optional()
887
+ });
888
+ // POST /public-api/resources/configuration-templates/v1.0
889
+ export const createConfigurationTemplateBody = z.object({
890
+ id: z.number().int().optional(),
891
+ name: z.string(),
892
+ ocppVersion: z.enum(["ocpp 1.6", "ocpp 2.0.1"]),
893
+ lastUpdatedAt: z.unknown().optional()
894
+ });
895
+ // GET /public-api/resources/configuration-templates/v1.0/{template}
896
+ // DELETE /public-api/resources/configuration-templates/v1.0/{template}
897
+ // PATCH /public-api/resources/configuration-templates/v1.0/{template}
898
+ export const updateConfigurationTemplateBody = z.object({
899
+ name: z.string().optional()
900
+ });
901
+ // GET /public-api/resources/configuration-templates/v1.0/{template}/variables
902
+ export const configurationTemplateVariableListingPathParams = z.object({
903
+ template: z.number().int()
904
+ });
905
+ // POST /public-api/resources/configuration-templates/v1.0/{template}/variables
906
+ export const configurationTemplateVariableCreatePathParams = z.object({
907
+ template: z.number().int()
908
+ });
909
+ export const configurationTemplateVariableCreateBody = z.union([z.object({
910
+ id: z.number().int().optional(),
911
+ keyName: z.string(),
912
+ value: z.string(),
913
+ lastUpdatedAt: z.unknown().optional()
914
+ }).strict(), z.object({
915
+ id: z.number().int().optional(),
916
+ value: z.string(),
917
+ variableName: z.string(),
918
+ variableType: z.enum(["Actual", "Target", "MinSet", "MaxSet"]).optional(),
919
+ variableInstance: z.string().optional(),
920
+ component: z.string(),
921
+ componentInstance: z.string().optional(),
922
+ evseId: z.number().int().optional(),
923
+ connectorId: z.number().int().optional(),
924
+ lastUpdatedAt: z.unknown().optional()
925
+ })]);
926
+ // DELETE /public-api/resources/configuration-templates/v1.0/{template}/variables/{variable}
927
+ // PATCH /public-api/resources/configuration-templates/v1.0/{template}/variables/{variable}
928
+ export const configurationTemplateVariableUpdateBody = z.union([z.object({
929
+ id: z.number().int().optional(),
930
+ keyName: z.string().optional(),
931
+ value: z.string().optional(),
932
+ lastUpdatedAt: z.unknown().optional()
933
+ }).strict(), z.object({
934
+ id: z.number().int().optional(),
935
+ value: z.string().optional(),
936
+ variableName: z.string().optional(),
937
+ variableType: z.enum(["Actual", "Target", "MinSet", "MaxSet"]).optional(),
938
+ variableInstance: z.string().optional(),
939
+ component: z.string().optional(),
940
+ componentInstance: z.string().optional(),
941
+ evseId: z.number().int().optional(),
942
+ connectorId: z.number().int().optional(),
943
+ lastUpdatedAt: z.unknown().optional()
944
+ })]);
945
+ // GET /public-api/resources/contact-details/v2.0
946
+ // PUT /public-api/resources/contact-details/v2.0
947
+ export const contactDetailsUpdateBody = z.object({
948
+ email: z.string(),
949
+ phone: z.string().optional(),
950
+ lastUpdatedAt: z.unknown().optional()
951
+ });
952
+ // DELETE /public-api/resources/contact-details/v2.0
953
+ // GET /public-api/resources/cp-models/v1.0
954
+ export const chargePointModelsListingDeprecatedQueryParams = z.object({
955
+ filter: z.object({
956
+ vendorId: z.string().optional()
957
+ }).optional()
958
+ });
959
+ // POST /public-api/resources/cp-models/v1.0
960
+ export const chargePointModelCreateDeprecatedBody = z.object({
961
+ name: z.string(),
962
+ vendorId: z.number().int(),
963
+ userManual: z.string().url().optional(),
964
+ installerManual: z.string().url().optional()
965
+ });
966
+ // GET /public-api/resources/cp-models/v1.0/{modelId}
967
+ // DELETE /public-api/resources/cp-models/v1.0/{modelId}
968
+ // PATCH /public-api/resources/cp-models/v1.0/{modelId}
969
+ export const chargePointModelUpdateDeprecatedBody = z.object({
970
+ name: z.string().optional(),
971
+ vendorId: z.number().int().optional(),
972
+ userManual: z.string().url().optional(),
973
+ installerManual: z.string().url().optional()
974
+ });
975
+ // GET /public-api/resources/cp-vendors/v1.0
976
+ // POST /public-api/resources/cp-vendors/v1.0
977
+ export const chargePointVendorCreateDeprecatedBody = z.object({
978
+ id: z.number().int(),
979
+ name: z.string()
980
+ });
981
+ // GET /public-api/resources/cp-vendors/v1.0/{vendorId}
982
+ // DELETE /public-api/resources/cp-vendors/v1.0/{vendorId}
983
+ // PATCH /public-api/resources/cp-vendors/v1.0/{vendorId}
984
+ export const chargePointVendorUpdateDeprecatedBody = z.object({
985
+ name: z.string().optional()
986
+ });
987
+ // GET /public-api/resources/currencies/v2.0
988
+ // POST /public-api/resources/currencies/v2.0
989
+ export const currencyCreateBody = z.object({
990
+ alphabeticCode: z.enum(["AED", "AFN", "ALL", "AMD", "ANG", "AOA", "ARS", "AUD", "AWG", "AZN", "BAM", "BBD", "BDT", "BGN", "BHD", "BIF", "BMD", "BND", "BOB", "BOV", "BRL", "BSD", "BTN", "BWP", "BYN", "BZD", "CAD", "CDF", "CHE", "CHF", "CHW", "CLF", "CLP", "CNY", "COP", "COU", "CRC", "CUC", "CUP", "CVE", "CZK", "DJF", "DKK", "DOP", "DZD", "EGP", "ERN", "ETB", "EUR", "FJD", "FKP", "GBP", "GEL", "GHS", "GIP", "GMD", "GNF", "GTQ", "GYD", "HKD", "HNL", "HRK", "HTG", "HUF", "IDR", "ILS", "INR", "IQD", "IRR", "ISK", "JMD", "JOD", "JPY", "KES", "KGS", "KHR", "KMF", "KPW", "KRW", "KWD", "KYD", "KZT", "LAK", "LBP", "LKR", "LRD", "LSL", "LYD", "MAD", "MDL", "MGA", "MKD", "MMK", "MNT", "MOP", "MRU", "MUR", "MVR", "MWK", "MXN", "MXV", "MYR", "MZN", "NAD", "NGN", "NIO", "NOK", "NPR", "NZD", "OMR", "PAB", "PEN", "PGK", "PHP", "PKR", "PLN", "PYG", "QAR", "RON", "RSD", "RUB", "RWF", "SAR", "SBD", "SCR", "SDG", "SEK", "SGD", "SHP", "SLL", "SOS", "SRD", "SSP", "STN", "SVC", "SYP", "SZL", "THB", "TJS", "TMT", "TND", "TOP", "TRY", "TTD", "TWD", "TZS", "UAH", "UGX", "USD", "USN", "UYI", "UYU", "UYW", "UZS", "VES", "VND", "VUV", "WST", "XAF", "XAG", "XAU", "XBA", "XBB", "XBC", "XBD", "XCD", "XDR", "XOF", "XPD", "XPF", "XPT", "XSU", "XTS", "XUA", "XXX", "YER", "ZAR", "ZMW", "ZWL"]),
991
+ prefix: z.string().optional(),
992
+ suffix: z.string().optional(),
993
+ decimal: z.number().int().optional(),
994
+ unitPriceAndCalculationsDecimal: z.number().int().optional(),
995
+ enableUseOfMinorCurrencyUnit: z.boolean().optional(),
996
+ minorUnitSign: z.string().optional()
997
+ });
998
+ // GET /public-api/resources/currencies/v2.0/{currency}
999
+ // DELETE /public-api/resources/currencies/v2.0/{currency}
1000
+ // PATCH /public-api/resources/currencies/v2.0/{currency}
1001
+ export const currencyUpdateBody = z.unknown();
1002
+ // GET /public-api/resources/currency-rates/v1.0
1003
+ export const listCurrencyRatesQueryParams = z.object({
1004
+ filter: z.object({
1005
+ base: z.string().optional(),
1006
+ target: z.string().optional(),
1007
+ updatedBefore: z.string().datetime().optional(),
1008
+ updatedAfter: z.string().datetime().optional()
1009
+ }).optional()
1010
+ });
1011
+ // POST /public-api/resources/currency-rates/v1.0
1012
+ export const createCurrencyRateBody = z.object({
1013
+ base: z.string(),
1014
+ target: z.string(),
1015
+ rate: z.number()
1016
+ });
1017
+ // GET /public-api/resources/currency-rates/v1.0/{currencyRate}
1018
+ // DELETE /public-api/resources/currency-rates/v1.0/{currencyRate}
1019
+ // PATCH /public-api/resources/currency-rates/v1.0/{currencyRate}
1020
+ export const updateCurrencyRateBody = z.object({
1021
+ rate: z.number()
1022
+ });
1023
+ // GET /public-api/resources/custom-fees/v2.0
1024
+ // GET /public-api/resources/custom-fees/v2.0/{customFee}
1025
+ // GET /public-api/resources/downtime-period-notices/v1.0
1026
+ export const getDowntimePeriodNoticesQueryParams = z.object({
1027
+ filter: z.object({
1028
+ type: z.enum(["downtime", "exempt"]).optional()
1029
+ }).optional()
1030
+ });
1031
+ // POST /public-api/resources/downtime-period-notices/v1.0
1032
+ export const postDowntimePeriodNoticeBody = z.object({
1033
+ $ref: z.unknown().optional()
1034
+ });
1035
+ // GET /public-api/resources/downtime-period-notices/v1.0/{notice}
1036
+ // DELETE /public-api/resources/downtime-period-notices/v1.0/{notice}
1037
+ // PATCH /public-api/resources/downtime-period-notices/v1.0/{notice}
1038
+ export const patchDowntimePeriodNoticeBody = z.object({
1039
+ type: z.enum(["downtime", "exempt"]).optional(),
1040
+ notice: z.string().optional(),
1041
+ description: z.string().optional()
1042
+ });
1043
+ // GET /public-api/resources/electricity-meters/v1.0
1044
+ // POST /public-api/resources/electricity-meters/v1.0
1045
+ export const electricityMeterCreateBody = z.object({
1046
+ id: z.number().optional()
1047
+ });
1048
+ // GET /public-api/resources/electricity-meters/v1.0/{electricityMeter}
1049
+ // DELETE /public-api/resources/electricity-meters/v1.0/{electricityMeter}
1050
+ // PATCH /public-api/resources/electricity-meters/v1.0/{electricityMeter}
1051
+ export const electricityMeterUpdateBody = z.object({
1052
+ name: z.string().optional(),
1053
+ integrationId: z.number().int().optional(),
1054
+ integrationParameters: z.record(z.string()).optional()
1055
+ });
1056
+ // GET /public-api/resources/electricity-rates/v1.0
1057
+ // POST /public-api/resources/electricity-rates/v1.0
1058
+ export const electricityRateCreateDeprecatedBody = z.object({
1059
+ id: z.number().int().optional(),
1060
+ name: z.string(),
1061
+ utilityId: z.number().int().optional(),
1062
+ pricingGranularityInMinutes: z.union([z.literal(60), z.literal(30), z.literal(15)]),
1063
+ defaultPricePerKwh: z.number(),
1064
+ taxId: z.number().int().optional(),
1065
+ taxPercentage: z.number().min(0).max(100).optional(),
1066
+ intervalPricing: z.array(z.object({
1067
+ weekDays: z.array(z.enum(["monday", "tuesday", "wednesday", "thursday", "friday", "saturday", "sunday"])),
1068
+ elements: z.array(z.object({
1069
+ startAt: z.string().regex(new RegExp("^\\d{2}:\\d{2}:\\d{2}$")),
1070
+ endAt: z.string().regex(new RegExp("^\\d{2}:\\d{2}:\\d{2}$")),
1071
+ price: z.number().optional()
1072
+ })).optional()
1073
+ })).optional(),
1074
+ intervalSpecialPricing: z.array(z.object({
1075
+ specialPricingName: z.string(),
1076
+ validOn: z.array(z.string()),
1077
+ elements: z.array(z.object({
1078
+ startAt: z.string().regex(new RegExp("^\\d{2}:\\d{2}:\\d{2}$")),
1079
+ endAt: z.string().regex(new RegExp("^\\d{2}:\\d{2}:\\d{2}$")),
1080
+ price: z.number().optional()
1081
+ })).optional()
1082
+ })).optional()
1083
+ });
1084
+ // GET /public-api/resources/electricity-rates/v1.0/{electricityRate}
1085
+ // PUT /public-api/resources/electricity-rates/v1.0/{electricityRate}
1086
+ export const electricityRateUpdateDeprecatedBody = z.unknown();
1087
+ // DELETE /public-api/resources/electricity-rates/v1.0/{electricityRate}
1088
+ // GET /public-api/resources/electricity-rates/v2.0
1089
+ export const electricityRatesListingQueryParams = z.object({
1090
+ filter: z.object({
1091
+ utilityId: z.number().int().optional(),
1092
+ type: z.unknown().optional()
1093
+ }).optional()
1094
+ });
1095
+ // POST /public-api/resources/electricity-rates/v2.0
1096
+ export const electricityRateCreateBody = z.object({
1097
+ id: z.number().int().optional(),
1098
+ name: z.string(),
1099
+ utilityId: z.number().int().optional(),
1100
+ defaultPrice: z.number(),
1101
+ taxPercentage: z.number().min(0).max(100)
1102
+ });
1103
+ // GET /public-api/resources/electricity-rates/v2.0/{electricityRate}
1104
+ // DELETE /public-api/resources/electricity-rates/v2.0/{electricityRate}
1105
+ // PATCH /public-api/resources/electricity-rates/v2.0/{electricityRate}
1106
+ export const electricityRateUpdateBody = z.object({
1107
+ id: z.number().int().optional(),
1108
+ name: z.string().optional(),
1109
+ utilityId: z.number().int().optional(),
1110
+ defaultPrice: z.number().optional(),
1111
+ taxPercentage: z.number().min(0).max(100).optional()
1112
+ });
1113
+ // GET /public-api/resources/electricity-rates/v2.0/{electricityRate}/energy-mix
1114
+ // PUT /public-api/resources/electricity-rates/v2.0/{electricityRate}/energy-mix
1115
+ export const electricityRateEnergyMixUpdateBody = z.object({
1116
+ solar: z.number().min(0).max(100).optional(),
1117
+ wind: z.number().min(0).max(100).optional(),
1118
+ hydro: z.number().min(0).max(100).optional(),
1119
+ nuclear: z.number().min(0).max(100).optional(),
1120
+ coal: z.number().min(0).max(100).optional(),
1121
+ naturalGas: z.number().min(0).max(100).optional(),
1122
+ otherRenewable: z.number().min(0).max(100).optional(),
1123
+ otherNonRenewable: z.number().min(0).max(100).optional()
1124
+ });
1125
+ // GET /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods
1126
+ // GET /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/date
1127
+ // GET /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/date/{date}
1128
+ export const electricityRatePricePeriodsDateReadPathParams = z.object({
1129
+ date: z.string()
1130
+ });
1131
+ // PUT /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/date/{date}
1132
+ export const electricityRatePricePeriodsDateCreateOrUpdateBody = z.object({
1133
+ periods: z.array(z.object({
1134
+ startsAt: z.string().regex(new RegExp("^\\d{2}:\\d{2}$")),
1135
+ endsAt: z.string().regex(new RegExp("^\\d{2}:\\d{2}$")),
1136
+ price: z.number()
1137
+ }))
1138
+ });
1139
+ // DELETE /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/date/{date}
1140
+ // GET /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/week-day
1141
+ // GET /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/week-day/{weekDay}
1142
+ export const electricityRatePricePeriodsWeekDayReadPathParams = z.object({
1143
+ weekDay: z.enum(["mon", "tue", "wed", "thu", "fri", "sat", "sun", "any"])
1144
+ });
1145
+ // PUT /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/week-day/{weekDay}
1146
+ export const electricityRatePricePeriodsWeekDayCreateaOrUpdateBody = z.unknown();
1147
+ // DELETE /public-api/resources/electricity-rates/v2.0/{electricityRate}/price-periods/week-day/{weekDay}
1148
+ // GET /public-api/resources/evse-downtime-periods/v1.0
1149
+ export const evseDowntimePeriodsListingQueryParams = z.object({
1150
+ filter: z.object({
1151
+ evseId: z.number().int().optional(),
1152
+ chargePointId: z.number().int().optional(),
1153
+ locationId: z.number().int().optional(),
1154
+ entryMode: z.enum(["manual", "automatic"]).optional(),
1155
+ type: z.enum(["downtime", "exempt"]).optional(),
1156
+ startedAfter: z.string().datetime().optional(),
1157
+ stoppedBefore: z.string().datetime().optional(),
1158
+ durationLessThan: z.number().int().optional(),
1159
+ durationGreaterThan: z.number().int().optional(),
1160
+ lastUpdatedAfter: z.string().datetime().optional(),
1161
+ lastUpdatedBefore: z.string().datetime().optional()
1162
+ }).optional()
1163
+ });
1164
+ // POST /public-api/resources/evse-downtime-periods/v1.0
1165
+ export const evseDowntimePeriodCreateBody = z.object({
1166
+ evseId: z.number().int(),
1167
+ noticeId: z.number().int(),
1168
+ startedAt: z.string().datetime(),
1169
+ endedAt: z.string().datetime()
1170
+ });
1171
+ // GET /public-api/resources/evse-downtime-periods/v1.0/{evseDowntimePeriod}
1172
+ // DELETE /public-api/resources/evse-downtime-periods/v1.0/{evseDowntimePeriod}
1173
+ // PATCH /public-api/resources/evse-downtime-periods/v1.0/{evseDowntimePeriod}
1174
+ export const evseDowntimePeriodUpdateBody = z.object({
1175
+ noticeId: z.number().int().optional(),
1176
+ startedAt: z.string().datetime().optional(),
1177
+ endedAt: z.string().datetime().optional()
1178
+ });
1179
+ // GET /public-api/resources/evses/v2.0
1180
+ export const evsesListingDeprecatedQueryParams = z.object({
1181
+ page: z.number().int().optional(),
1182
+ per_page: z.number().int().min(1).max(100).optional(),
1183
+ cursor: z.string().optional()
1184
+ });
1185
+ // GET /public-api/resources/evses/v2.0/{evse}
1186
+ // PUT /public-api/resources/evses/v2.0/{evse}
1187
+ export const evseUpdateDeprecatedBody = z.object({
1188
+ id: z.number().int().optional(),
1189
+ chargePointId: z.number().int().optional(),
1190
+ chargingProfile: z.unknown().optional(),
1191
+ roaming: z.object({
1192
+ evseId: z.string().optional(),
1193
+ status: z.enum(["available", "blocked", "charging", "inoperative", "outoforder", "planned", "removed", "reserved", "unknown"]).optional(),
1194
+ tariffIds: z.array(z.string()).optional()
1195
+ }).optional(),
1196
+ connectors: z.array(z.object({
1197
+ id: z.number().int().optional(),
1198
+ type: z.intersection(z.enum(["type1", "type2", "type3", "chademo", "ccs1", "ccs2", "catarc", "schuko", "nacs", "cee16", "cee32", "j1772", "inductive", "nema-5-20", "type-e-french", "type-g-british", "type-j-swiss", "avcon", "chaoji", "nema-6-30", "nema-6-50"]), z.string()).optional(),
1199
+ format: z.enum(["socket", "cable"]).optional(),
1200
+ status: z.enum(["active", "disabled"]).optional()
1201
+ })).optional(),
1202
+ physicalReference: z.string(),
1203
+ type: z.enum(["ac", "dc"]),
1204
+ networkId: z.string(),
1205
+ status: z.enum(["active", "disabled", "out of order"]),
1206
+ tariffGroupId: z.number().int().optional(),
1207
+ allowsReservation: z.boolean(),
1208
+ maxPowerKw: z.number().optional(),
1209
+ maxVoltage: z.intersection(z.unknown(), z.unknown()),
1210
+ maxAmperage: z.number().optional(),
1211
+ phases: z.enum(["single_phase", "three_phase"]),
1212
+ phaseRotation: z.enum(["rst", "rts", "srt", "str", "trs", "tsr"]).optional(),
1213
+ midMeterCertificationEndYear: z.number().int().optional(),
1214
+ externalId: z.string().optional(),
1215
+ hardwareStatus: z.unknown().optional()
1216
+ });
1217
+ // GET /public-api/resources/evses/v2.0/{evse}/hardware-status-logs
1218
+ export const listEvseHardwareStatusLogsQueryParams = z.object({
1219
+ filter: z.object({
1220
+ createdAfter: z.string().datetime().optional(),
1221
+ createdBefore: z.unknown().optional()
1222
+ }).optional()
1223
+ });
1224
+ // GET /public-api/resources/evses/v2.0/{evse}/latest-hardware-status-log
1225
+ // GET /public-api/resources/evses/v2.1
1226
+ export const evsesListingQueryParams = z.object({
1227
+ filter: z.object({
1228
+ chargePointId: z.string().optional(),
1229
+ physicalReference: z.string().optional(),
1230
+ externalId: z.string().optional(),
1231
+ roaming: z.boolean().optional(),
1232
+ lastUpdatedAfter: z.string().datetime().optional(),
1233
+ lastUpdatedBefore: z.string().datetime().optional()
1234
+ }).optional()
1235
+ });
1236
+ // POST /public-api/resources/evses/v2.1
1237
+ export const evseCreateBody = z.object({
1238
+ chargePointId: z.number().int()
1239
+ });
1240
+ // GET /public-api/resources/evses/v2.1/{evse}
1241
+ // DELETE /public-api/resources/evses/v2.1/{evse}
1242
+ // PATCH /public-api/resources/evses/v2.1/{evse}
1243
+ export const evseUpdateBody = z.unknown();
1244
+ // GET /public-api/resources/faqs/v2.0
1245
+ // POST /public-api/resources/faqs/v2.0
1246
+ export const faqCreateBody = z.object({
1247
+ question: z.unknown(),
1248
+ answer: z.array(z.object({
1249
+ locale: z.string().optional(),
1250
+ translation: z.string().optional()
1251
+ }))
1252
+ });
1253
+ // GET /public-api/resources/faqs/v2.0/{faq}
1254
+ // DELETE /public-api/resources/faqs/v2.0/{faq}
1255
+ // PATCH /public-api/resources/faqs/v2.0/{faq}
1256
+ export const faqUpdateBody = z.object({
1257
+ question: z.unknown().optional(),
1258
+ answer: z.unknown().optional()
1259
+ });
1260
+ // GET /public-api/resources/firmware-versions/v1.0
1261
+ export const firmwareVersionsListingQueryParams = z.object({
1262
+ filter: z.object({
1263
+ vendorId: z.array(z.number().int()).optional(),
1264
+ modelId: z.array(z.number().int()).optional(),
1265
+ firmwareVersion: z.string().optional()
1266
+ }).optional(),
1267
+ include: z.array(z.enum(["models"])).optional()
1268
+ });
1269
+ // GET /public-api/resources/firmware-versions/v1.0/{firmwareVersion}
1270
+ // GET /public-api/resources/firmware-versions/v1.0/{firmwareVersion}/attached-models
1271
+ // GET /public-api/resources/flexibility-activation-requests/v1.0
1272
+ export const listFlexibilityActivationRequestsQueryParams = z.object({
1273
+ filter: z.object({
1274
+ assetId: z.string().optional()
1275
+ }).optional()
1276
+ });
1277
+ // GET /public-api/resources/flexibility-activation-requests/v1.0/{flexibilityActivationRequest}
1278
+ // GET /public-api/resources/flexibility-assets/v1.0
1279
+ export const listFlexibilityAssetsQueryParams = z.object({
1280
+ filter: z.object({
1281
+ updatedSince: z.string().datetime().optional()
1282
+ }).optional()
1283
+ });
1284
+ // POST /public-api/resources/flexibility-assets/v1.0
1285
+ export const createFlexibilityAssetBody = z.object({
1286
+ id: z.number().optional(),
1287
+ dlmCircuitId: z.number(),
1288
+ chargePointId: z.number(),
1289
+ evseId: z.number(),
1290
+ status: z.enum(["enabled", "disabled"]),
1291
+ endsAt: z.string().datetime().optional()
1292
+ });
1293
+ // GET /public-api/resources/flexibility-assets/v1.0/{flexibilityAsset}
1294
+ // DELETE /public-api/resources/flexibility-assets/v1.0/{flexibilityAsset}
1295
+ // PATCH /public-api/resources/flexibility-assets/v1.0/{flexibilityAsset}
1296
+ export const updateFlexibilityAssetBody = z.object({
1297
+ description: z.string().optional(),
1298
+ downwardRegulationLimit: z.number().int().optional(),
1299
+ upwardRegulationLimit: z.number().int().optional(),
1300
+ integrationId: z.number().optional(),
1301
+ integrationParameters: z.record(z.string()).optional()
1302
+ });
1303
+ // GET /public-api/resources/flexibility-assets/v1.0/{flexibilityAsset}/historical-time-series
1304
+ // GET /public-api/resources/flexibility-assets/v1.0/{flexibilityAsset}/time-series-forecast
1305
+ export const getTimeSeriesForecastPathParams = z.object({
1306
+ flexibilityAsset: z.number().int()
1307
+ });
1308
+ export const getTimeSeriesForecastQueryParams = z.object({
1309
+ filter: z.object({
1310
+ startTime: z.string().datetime().optional(),
1311
+ endTime: z.string().datetime().optional()
1312
+ }).optional()
1313
+ });
1314
+ // GET /public-api/resources/id-tags/v2.0
1315
+ // POST /public-api/resources/id-tags/v2.0
1316
+ export const idTagCreateBody = z.object({
1317
+ id: z.number().int().optional(),
1318
+ idTagUid: z.string(),
1319
+ idLabel: z.string().optional(),
1320
+ expireAt: z.string().datetime().optional(),
1321
+ createdAt: z.string().datetime().optional(),
1322
+ status: z.enum(["enabled", "disabled", "suspended"]),
1323
+ type: z.enum(["rfid", "mac_address"]),
1324
+ vehicleType: z.union([z.null(), z.literal("company_car"), z.literal("private_car")]).optional(),
1325
+ paymentMethodId: z.string().optional(),
1326
+ userId: z.number().int().optional(),
1327
+ externalId: z.string().optional(),
1328
+ partnerId: z.number().int().optional(),
1329
+ lastUpdatedAt: z.unknown().optional()
1330
+ });
1331
+ // GET /public-api/resources/id-tags/v2.0/{idTag}
1332
+ // DELETE /public-api/resources/id-tags/v2.0/{idTag}
1333
+ // PATCH /public-api/resources/id-tags/v2.0/{idTag}
1334
+ export const idTagUpdateBody = z.object({
1335
+ id: z.number().int().optional(),
1336
+ idTagUid: z.string().optional(),
1337
+ idLabel: z.string().optional(),
1338
+ expireAt: z.string().datetime().optional(),
1339
+ createdAt: z.string().datetime().optional(),
1340
+ status: z.enum(["enabled", "disabled", "suspended"]).optional(),
1341
+ type: z.enum(["rfid", "mac_address"]).optional(),
1342
+ vehicleType: z.union([z.null(), z.literal("company_car"), z.literal("private_car")]).optional(),
1343
+ paymentMethodId: z.string().optional(),
1344
+ userId: z.number().int().optional(),
1345
+ externalId: z.string().optional(),
1346
+ partnerId: z.number().int().optional(),
1347
+ lastUpdatedAt: z.unknown().optional()
1348
+ });
1349
+ // GET /public-api/resources/installer-jobs/v1.0
1350
+ // POST /public-api/resources/installer-jobs/v1.0
1351
+ export const createInstallerJobBody = z.object({
1352
+ installationAndMaintenanceCompanyId: z.number().int()
1353
+ });
1354
+ // GET /public-api/resources/installer-jobs/v1.0/{installerJob}
1355
+ export const getInstallerJobQueryParams = z.object({
1356
+ include: z.array(z.enum(["chargePoints"])).optional()
1357
+ });
1358
+ // DELETE /public-api/resources/installer-jobs/v1.0/{installerJob}
1359
+ // PATCH /public-api/resources/installer-jobs/v1.0/{installerJob}
1360
+ export const updateInstallerJobBody = z.object({
1361
+ installerAdminId: z.number().int().optional(),
1362
+ pin: z.string().min(4).max(12).optional(),
1363
+ description: z.string().optional()
1364
+ });
1365
+ // GET /public-api/resources/invoices/v1.0
1366
+ export const invoicesListingQueryParams = z.object({
1367
+ filter: z.object({
1368
+ issuedFrom: z.string().optional(),
1369
+ issuedTo: z.string().optional()
1370
+ }).optional()
1371
+ });
1372
+ // GET /public-api/resources/invoices/v1.0/{invoice}
1373
+ export const invoiceReadPathParams = z.object({
1374
+ invoice: z.string()
1375
+ });
1376
+ // GET /public-api/resources/locations/v1.0
1377
+ // POST /public-api/resources/locations/v1.0
1378
+ export const locationCreateDeprecatedBody = z.object({});
1379
+ // GET /public-api/resources/locations/v1.0/{location}
1380
+ // DELETE /public-api/resources/locations/v1.0/{location}
1381
+ // PATCH /public-api/resources/locations/v1.0/{location}
1382
+ export const locationUpdateDeprecatedBody = z.unknown();
1383
+ // GET /public-api/resources/locations/v2.0
1384
+ export const locationsListingQueryParams = z.object({
1385
+ filter: z.object({
1386
+ country: z.unknown().optional(),
1387
+ state: z.union([z.unknown(), z.unknown(), z.enum(["AB", "BC", "MB", "NB", "NL", "NT", "NS", "NU", "ON", "PE", "QC", "SK", "YT"]), z.enum(["81", "84", "85", "67", "89", "71", "76", "95", "79"])]).optional(),
1388
+ region: z.string().optional(),
1389
+ city: z.string().optional(),
1390
+ partnerId: z.number().int().optional(),
1391
+ externalId: z.string().optional(),
1392
+ tag: z.string().optional(),
1393
+ lastUpdatedAfter: z.unknown().optional(),
1394
+ lastUpdatedBefore: z.unknown().optional()
1395
+ }).optional()
1396
+ });
1397
+ // POST /public-api/resources/locations/v2.0
1398
+ export const locationCreateBody = z.object({
1399
+ id: z.number().int().optional(),
1400
+ name: z.unknown(),
1401
+ shortDescription: z.unknown().optional(),
1402
+ description: z.unknown().optional(),
1403
+ additionalDescription: z.unknown().optional(),
1404
+ locationImage: z.unknown().optional(),
1405
+ images: z.array(z.unknown()).optional(),
1406
+ geoposition: z.object({
1407
+ latitude: z.number().min(-90).max(90),
1408
+ longitude: z.number().min(-180).max(180)
1409
+ }),
1410
+ address: z.unknown(),
1411
+ streetAddress: z.unknown().optional(),
1412
+ city: z.string().optional(),
1413
+ region: z.unknown().optional(),
1414
+ state: z.unknown().optional(),
1415
+ country: z.unknown(),
1416
+ postCode: z.string().optional(),
1417
+ workingHours: z.object({
1418
+ isAlwaysOpen: z.boolean().optional(),
1419
+ stopSessionOutsideWorkingHours: z.boolean().optional(),
1420
+ alwaysOpenForUserGroupIds: z.array(z.number()).optional(),
1421
+ hours: z.object({
1422
+ monday: z.unknown().optional(),
1423
+ tuesday: z.unknown().optional(),
1424
+ wednesday: z.unknown().optional(),
1425
+ thursday: z.unknown().optional(),
1426
+ friday: z.unknown().optional(),
1427
+ saturday: z.unknown().optional(),
1428
+ sunday: z.unknown().optional()
1429
+ }).optional()
1430
+ }).optional(),
1431
+ timezone: z.string().optional(),
1432
+ externalId: z.string().optional(),
1433
+ roamingOperatorId: z.number().int().optional(),
1434
+ lastUpdatedAt: z.string().datetime().optional(),
1435
+ chargingZones: z.array(z.unknown()).optional(),
1436
+ externalAppData: z.unknown().optional(),
1437
+ roaming: z.object({
1438
+ owner: z.object({
1439
+ name: z.string().optional()
1440
+ }).optional(),
1441
+ operator: z.object({
1442
+ name: z.string().optional()
1443
+ }).optional(),
1444
+ suboperator: z.object({
1445
+ name: z.string().optional()
1446
+ }).optional()
1447
+ }).optional(),
1448
+ tags: z.array(z.string()).optional()
1449
+ });
1450
+ // GET /public-api/resources/locations/v2.0/{location}
1451
+ // DELETE /public-api/resources/locations/v2.0/{location}
1452
+ // PATCH /public-api/resources/locations/v2.0/{location}
1453
+ export const locationUpdateBody = z.object({
1454
+ id: z.number().int().optional(),
1455
+ name: z.unknown().optional(),
1456
+ shortDescription: z.unknown().optional(),
1457
+ description: z.unknown().optional(),
1458
+ additionalDescription: z.unknown().optional(),
1459
+ locationImage: z.unknown().optional(),
1460
+ images: z.array(z.unknown()).optional(),
1461
+ geoposition: z.object({
1462
+ latitude: z.number().min(-90).max(90),
1463
+ longitude: z.number().min(-180).max(180)
1464
+ }).optional(),
1465
+ address: z.unknown().optional(),
1466
+ streetAddress: z.unknown().optional(),
1467
+ city: z.string().optional(),
1468
+ region: z.unknown().optional(),
1469
+ state: z.unknown().optional(),
1470
+ country: z.unknown().optional(),
1471
+ postCode: z.string().optional(),
1472
+ workingHours: z.object({
1473
+ isAlwaysOpen: z.boolean().optional(),
1474
+ stopSessionOutsideWorkingHours: z.boolean().optional(),
1475
+ alwaysOpenForUserGroupIds: z.array(z.number()).optional(),
1476
+ hours: z.object({
1477
+ monday: z.unknown().optional(),
1478
+ tuesday: z.unknown().optional(),
1479
+ wednesday: z.unknown().optional(),
1480
+ thursday: z.unknown().optional(),
1481
+ friday: z.unknown().optional(),
1482
+ saturday: z.unknown().optional(),
1483
+ sunday: z.unknown().optional()
1484
+ }).optional()
1485
+ }).optional(),
1486
+ timezone: z.string().optional(),
1487
+ externalId: z.string().optional(),
1488
+ roamingOperatorId: z.number().int().optional(),
1489
+ lastUpdatedAt: z.string().datetime().optional(),
1490
+ chargingZones: z.array(z.unknown()).optional(),
1491
+ externalAppData: z.unknown().optional(),
1492
+ roaming: z.object({
1493
+ owner: z.object({
1494
+ name: z.string().optional()
1495
+ }).optional(),
1496
+ operator: z.object({
1497
+ name: z.string().optional()
1498
+ }).optional(),
1499
+ suboperator: z.object({
1500
+ name: z.string().optional()
1501
+ }).optional()
1502
+ }).optional(),
1503
+ tags: z.array(z.string()).optional()
1504
+ });
1505
+ // GET /public-api/resources/locations/v2.0/{location}/charging-zones
1506
+ // POST /public-api/resources/locations/v2.0/{location}/charging-zones
1507
+ export const locationChargingZoneCreateBody = z.object({
1508
+ id: z.number().int().optional(),
1509
+ name: z.string(),
1510
+ locationId: z.number().int().optional(),
1511
+ status: z.enum(["enabled", "disabled"]),
1512
+ additionalInfo: z.object({
1513
+ enabled: z.boolean().optional(),
1514
+ title: z.unknown().optional(),
1515
+ description: z.unknown().optional()
1516
+ }).optional()
1517
+ });
1518
+ // GET /public-api/resources/locations/v2.0/{location}/charging-zones/{chargingZone}
1519
+ // DELETE /public-api/resources/locations/v2.0/{location}/charging-zones/{chargingZone}
1520
+ // PATCH /public-api/resources/locations/v2.0/{location}/charging-zones/{chargingZone}
1521
+ export const locationChargingZoneUpdateBody = z.object({
1522
+ id: z.number().int().optional(),
1523
+ name: z.string().optional(),
1524
+ locationId: z.number().int().optional(),
1525
+ status: z.enum(["enabled", "disabled"]).optional(),
1526
+ additionalInfo: z.object({
1527
+ enabled: z.boolean().optional(),
1528
+ title: z.unknown().optional(),
1529
+ description: z.unknown().optional()
1530
+ }).optional()
1531
+ });
1532
+ // GET /public-api/resources/parking-spaces/v1.0
1533
+ export const listParkingSpaceQueryParams = z.object({
1534
+ filter: z.object({
1535
+ externalId: z.string().optional(),
1536
+ evseId: z.string().optional()
1537
+ }).optional(),
1538
+ include: z.array(z.enum(["evses"])).optional()
1539
+ });
1540
+ // POST /public-api/resources/parking-spaces/v1.0
1541
+ export const createParkingSpaceBody = z.object({
1542
+ label: z.string(),
1543
+ locationId: z.number().int(),
1544
+ externalId: z.string().optional(),
1545
+ status: z.enum(["enabled", "disabled"]).optional(),
1546
+ occupancyStatus: z.enum(["unknown", "available", "occupied"]).optional(),
1547
+ disabilitiesAccessible: z.boolean().optional(),
1548
+ evses: z.array(z.number().int()).optional()
1549
+ });
1550
+ // GET /public-api/resources/parking-spaces/v1.0/{parkingSpace}
1551
+ // PUT /public-api/resources/parking-spaces/v1.0/{parkingSpace}
1552
+ export const updateParkingSpaceBody = z.object({
1553
+ label: z.string(),
1554
+ locationId: z.number().int(),
1555
+ externalId: z.string().optional(),
1556
+ status: z.enum(["enabled", "disabled"]).optional(),
1557
+ occupancyStatus: z.enum(["unknown", "available", "occupied"]).optional(),
1558
+ disabilitiesAccessible: z.boolean().optional(),
1559
+ evses: z.array(z.number().int()).optional()
1560
+ });
1561
+ // DELETE /public-api/resources/parking-spaces/v1.0/{parkingSpace}
1562
+ // GET /public-api/resources/partner-contracts/v1.0
1563
+ // POST /public-api/resources/partner-contracts/v1.0
1564
+ export const partnerContractCreateBody = z.object({
1565
+ id: z.number().int().optional(),
1566
+ title: z.string(),
1567
+ partnerId: z.number().int(),
1568
+ startDate: z.string().datetime(),
1569
+ endDate: z.string().datetime().optional(),
1570
+ autoRenewal: z.boolean().optional(),
1571
+ accessAndPermissions: z.object({
1572
+ sessionsRemoteControl: z.boolean().optional(),
1573
+ startReservation: z.boolean().optional(),
1574
+ stopReservation: z.boolean().optional(),
1575
+ resetChargePoint: z.boolean().optional(),
1576
+ firmwareUpdate: z.boolean().optional()
1577
+ }).optional(),
1578
+ revenueSharing: z.object({
1579
+ partnerSharePercentageAcEvse: z.number().min(0).max(100).optional(),
1580
+ partnerSharePercentageDcEvse: z.number().min(0).max(100).optional(),
1581
+ excludeConnectionFee: z.boolean().optional(),
1582
+ deductElectricityCost: z.boolean().optional(),
1583
+ reimburseForElectricityCost: z.boolean().optional(),
1584
+ fixedFeePerSessionAc: z.number().optional(),
1585
+ fixedFeePerSessionDc: z.number().optional(),
1586
+ feePerKwhAc: z.number().optional(),
1587
+ feePerKwhDc: z.number().optional(),
1588
+ handlingFee: z.number().min(0).max(100).optional()
1589
+ }).optional(),
1590
+ monthlyPlatformFees: z.object({
1591
+ perChargePoint: z.number().optional(),
1592
+ perAcEvse: z.number().optional(),
1593
+ perDcEvse: z.number().optional()
1594
+ }).optional(),
1595
+ lastUpdatedAt: z.unknown().optional()
1596
+ });
1597
+ // GET /public-api/resources/partner-contracts/v1.0/{partnerContract}
1598
+ // PUT /public-api/resources/partner-contracts/v1.0/{partnerContract}
1599
+ export const partnerContractUpdateBody = z.unknown();
1600
+ // DELETE /public-api/resources/partner-contracts/v1.0/{partnerContract}
1601
+ // GET /public-api/resources/partner-expenses/v1.0
1602
+ export const expensesListingDeprecatedQueryParams = z.object({
1603
+ filter: z.object({
1604
+ partnerId: z.string().optional(),
1605
+ dateFrom: z.string().datetime().optional(),
1606
+ dateTo: z.string().datetime().optional(),
1607
+ origin: z.enum(["platform-fee-emsp", "platform-fee-cpo", "user-custom-fee", "session-emsp"]).optional(),
1608
+ currency: z.string().min(3).max(3).optional()
1609
+ }).optional()
1610
+ });
1611
+ // GET /public-api/resources/partner-expenses/v1.1
1612
+ export const expensesListingQueryParams = z.object({
1613
+ filter: z.object({
1614
+ partnerId: z.string().optional(),
1615
+ settlementReportId: z.string().optional(),
1616
+ dateBefore: z.string().datetime().optional(),
1617
+ dateAfter: z.string().datetime().optional(),
1618
+ origin: z.enum(["platform-fee-emsp", "platform-fee-cpo", "user-custom-fee", "session-emsp"]).optional(),
1619
+ currencyCode: z.string().min(3).max(3).optional()
1620
+ }).optional()
1621
+ });
1622
+ // GET /public-api/resources/partner-invites/v1.0
1623
+ export const partnerInvitesListingQueryParams = z.object({
1624
+ filter: z.object({
1625
+ partnerId: z.string().optional(),
1626
+ status: z.enum(["pending", "sent", "accepted"]).optional(),
1627
+ createdFrom: z.string().datetime().optional(),
1628
+ createdTo: z.string().datetime().optional(),
1629
+ userId: z.string().optional(),
1630
+ inviteEmail: z.string().email().optional()
1631
+ }).optional()
1632
+ });
1633
+ // POST /public-api/resources/partner-invites/v1.0
1634
+ export const partnerInviteCreateBody = z.object({
1635
+ partnerId: z.number().int(),
1636
+ sendViaEmail: z.boolean().optional(),
1637
+ email: z.string().email().optional(),
1638
+ language: z.string().optional(),
1639
+ acceptUrl: z.string().url().optional(),
1640
+ options: z.object({
1641
+ allowCorporateAccountBilling: z.boolean().optional(),
1642
+ limitCorporateAccountBillingToPartnerChargePoints: z.boolean().optional(),
1643
+ allowAccessToPrivateChargePoints: z.boolean().optional()
1644
+ }).optional()
1645
+ });
1646
+ // GET /public-api/resources/partner-invites/v1.0/{partnerInvite}
1647
+ export const partnerInviteReadPathParams = z.object({
1648
+ partnerInvite: z.number().int()
1649
+ });
1650
+ // DELETE /public-api/resources/partner-invites/v1.0/{partnerInvite}
1651
+ // PATCH /public-api/resources/partner-invites/v1.0/{partnerInvite}
1652
+ export const partnerInviteUpdateBody = z.object({
1653
+ partnerId: z.number().int().optional(),
1654
+ sendViaEmail: z.boolean().optional(),
1655
+ email: z.string().email().optional(),
1656
+ language: z.string().optional(),
1657
+ acceptUrl: z.string().url().optional(),
1658
+ options: z.object({
1659
+ allowCorporateAccountBilling: z.boolean().optional(),
1660
+ limitCorporateAccountBillingToPartnerChargePoints: z.boolean().optional(),
1661
+ allowAccessToPrivateChargePoints: z.boolean().optional()
1662
+ }).optional()
1663
+ });
1664
+ // GET /public-api/resources/partner-revenues/v1.0
1665
+ export const revenuesListingDeprecatedQueryParams = z.object({
1666
+ filter: z.object({
1667
+ partnerId: z.string().optional(),
1668
+ dateFrom: z.string().datetime().optional(),
1669
+ dateTo: z.string().datetime().optional(),
1670
+ origin: z.enum(["electricity-tax-reimbursement", "session-cpo"]).optional(),
1671
+ currency: z.string().min(3).max(3).optional()
1672
+ }).optional()
1673
+ });
1674
+ // GET /public-api/resources/partner-revenues/v1.1
1675
+ export const revenuesListingQueryParams = z.object({
1676
+ filter: z.object({
1677
+ partnerId: z.string().optional(),
1678
+ settlementReportId: z.string().optional(),
1679
+ dateBefore: z.string().datetime().optional(),
1680
+ dateAfter: z.string().datetime().optional(),
1681
+ origin: z.enum(["electricity-tax-reimbursement", "session-cpo"]).optional(),
1682
+ currencyCode: z.string().min(3).max(3).optional()
1683
+ }).optional()
1684
+ });
1685
+ // GET /public-api/resources/partner-settlement-reports/v1.0
1686
+ export const partnerSettlementReportsListingQueryParams = z.object({
1687
+ filter: z.object({
1688
+ partnerId: z.number().int().optional(),
1689
+ periodAfter: z.string().optional(),
1690
+ periodBefore: z.string().optional()
1691
+ }).optional()
1692
+ });
1693
+ // GET /public-api/resources/partner-settlement-reports/v1.0/{partnerSettlementReport}
1694
+ export const partnerSettlementReportReadPathParams = z.object({
1695
+ partnerSettlementReport: z.number().int()
1696
+ });
1697
+ // GET /public-api/resources/partner-settlement-reports/v1.0/{partnerSettlementReport}/records
1698
+ // POST /public-api/resources/partner-settlement-reports/v1.0/{partnerSettlementReport}/records
1699
+ export const partnerSettlementReportPartnerSettlementRecordCreateBody = z.object({
1700
+ date: z.string(),
1701
+ paidAmount: z.number(),
1702
+ note: z.string()
1703
+ });
1704
+ // GET /public-api/resources/partner-settlement-reports/v1.0/{partnerSettlementReport}/records/{PartnerSettlementRecord}
1705
+ export const partnertSettlementReportPartnerSettlementRecordReadPathParams = z.object({
1706
+ PartnerSettlementRecord: z.number().int()
1707
+ });
1708
+ // PUT /public-api/resources/partner-settlement-reports/v1.0/{partnerSettlementReport}/records/{PartnerSettlementRecord}
1709
+ export const partnerSettlementReportPartnerSettlementRecordUpdateBody = z.unknown();
1710
+ // DELETE /public-api/resources/partner-settlement-reports/v1.0/{partnerSettlementReport}/records/{PartnerSettlementRecord}
1711
+ // GET /public-api/resources/partners/v1.0
1712
+ export const partnersListingDeprecatedQueryParams = z.object({
1713
+ filter: z.object({
1714
+ country: z.unknown().optional(),
1715
+ regNo: z.string().optional(),
1716
+ externalId: z.string().optional()
1717
+ }).optional()
1718
+ });
1719
+ // POST /public-api/resources/partners/v1.0
1720
+ export const partnerCreateDeprecatedBody = z.object({
1721
+ id: z.number().int().optional(),
1722
+ name: z.string(),
1723
+ regNo: z.string().optional(),
1724
+ vatNo: z.string().optional(),
1725
+ country: z.union([z.literal("AF"), z.literal("AX"), z.literal("AL"), z.literal("DZ"), z.literal("AS"), z.literal("AD"), z.literal("AO"), z.literal("AI"), z.literal("AQ"), z.literal("AG"), z.literal("AR"), z.literal("AM"), z.literal("AW"), z.literal("AU"), z.literal("AT"), z.literal("AZ"), z.literal("BS"), z.literal("BH"), z.literal("BD"), z.literal("BB"), z.literal("BY"), z.literal("BE"), z.literal("BZ"), z.literal("BJ"), z.literal("BM"), z.literal("BT"), z.literal("BO"), z.literal("BQ"), z.literal("BA"), z.literal("BW"), z.literal("BV"), z.literal("BR"), z.literal("IO"), z.literal("BN"), z.literal("BG"), z.literal("BF"), z.literal("BI"), z.literal("KH"), z.literal("CM"), z.literal("CA"), z.literal("CV"), z.literal("KY"), z.literal("CF"), z.literal("TD"), z.literal("CL"), z.literal("CN"), z.literal("CX"), z.literal("CC"), z.literal("CO"), z.literal("KM"), z.literal("CG"), z.literal("CD"), z.literal("CK"), z.literal("CR"), z.literal("CI"), z.literal("HR"), z.literal("CU"), z.literal("CW"), z.literal("CY"), z.literal("CZ"), z.literal("DK"), z.literal("DJ"), z.literal("DM"), z.literal("DO"), z.literal("EC"), z.literal("EG"), z.literal("SV"), z.literal("GQ"), z.literal("ER"), z.literal("EE"), z.literal("ET"), z.literal("FK"), z.literal("FO"), z.literal("FJ"), z.literal("FI"), z.literal("FR"), z.literal("GF"), z.literal("PF"), z.literal("TF"), z.literal("GA"), z.literal("GM"), z.literal("GE"), z.literal("DE"), z.literal("GH"), z.literal("GI"), z.literal("GR"), z.literal("GL"), z.literal("GD"), z.literal("GP"), z.literal("GU"), z.literal("GT"), z.literal("GG"), z.literal("GN"), z.literal("GW"), z.literal("GY"), z.literal("HT"), z.literal("HM"), z.literal("VA"), z.literal("HN"), z.literal("HK"), z.literal("HU"), z.literal("IS"), z.literal("IN"), z.literal("ID"), z.literal("IR"), z.literal("IQ"), z.literal("IE"), z.literal("IM"), z.literal("IL"), z.literal("IT"), z.literal("JM"), z.literal("JP"), z.literal("JE"), z.literal("JO"), z.literal("KZ"), z.literal("KE"), z.literal("KI"), z.literal("KP"), z.literal("KR"), z.literal("XK"), z.literal("KW"), z.literal("KG"), z.literal("LA"), z.literal("LV"), z.literal("LB"), z.literal("LS"), z.literal("LR"), z.literal("LY"), z.literal("LI"), z.literal("LT"), z.literal("LU"), z.literal("MO"), z.literal("MK"), z.literal("MG"), z.literal("MW"), z.literal("MY"), z.literal("MV"), z.literal("ML"), z.literal("MT"), z.literal("MH"), z.literal("MQ"), z.literal("MR"), z.literal("MU"), z.literal("YT"), z.literal("MX"), z.literal("FM"), z.literal("MD"), z.literal("MC"), z.literal("MN"), z.literal("ME"), z.literal("MS"), z.literal("MA"), z.literal("MZ"), z.literal("MM"), z.literal("NA"), z.literal("NR"), z.literal("NP"), z.literal("NL"), z.literal("NC"), z.literal("NZ"), z.literal("NI"), z.literal("NE"), z.literal("NG"), z.literal("NU"), z.literal("NF"), z.literal("MP"), z.literal("NO"), z.literal("OM"), z.literal("PK"), z.literal("PW"), z.literal("PS"), z.literal("PA"), z.literal("PG"), z.literal("PY"), z.literal("PE"), z.literal("PH"), z.literal("PN"), z.literal("PL"), z.literal("PT"), z.literal("PR"), z.literal("QA"), z.literal("RE"), z.literal("RO"), z.literal("RU"), z.literal("RW"), z.literal("BL"), z.literal("SH"), z.literal("KN"), z.literal("LC"), z.literal("MF"), z.literal("PM"), z.literal("VC"), z.literal("WS"), z.literal("SM"), z.literal("ST"), z.literal("SA"), z.literal("SN"), z.literal("RS"), z.literal("SC"), z.literal("SL"), z.literal("SG"), z.literal("SX"), z.literal("SK"), z.literal("SI"), z.literal("SB"), z.literal("SO"), z.literal("ZA"), z.literal("GS"), z.literal("SS"), z.literal("ES"), z.literal("LK"), z.literal("SD"), z.literal("SR"), z.literal("SJ"), z.literal("SZ"), z.literal("SE"), z.literal("CH"), z.literal("SY"), z.literal("TW"), z.literal("TJ"), z.literal("TZ"), z.literal("TH"), z.literal("TL"), z.literal("TG"), z.literal("TK"), z.literal("TO"), z.literal("TT"), z.literal("TN"), z.literal("TR"), z.literal("TM"), z.literal("TC"), z.literal("TV"), z.literal("UG"), z.literal("UA"), z.literal("AE"), z.literal("GB"), z.literal("US"), z.literal("UM"), z.literal("UY"), z.literal("UZ"), z.literal("VU"), z.literal("VE"), z.literal("VN"), z.literal("VG"), z.literal("VI"), z.literal("WF"), z.literal("EH"), z.literal("YE"), z.literal("ZM"), z.literal("ZW"), z.null()]).optional(),
1726
+ city: z.string().optional(),
1727
+ postcode: z.string().optional(),
1728
+ address: z.string().optional(),
1729
+ contactPerson: z.string().optional(),
1730
+ email: z.string().email().optional(),
1731
+ phone: z.string().optional(),
1732
+ faultNotificationsEmail: z.string().email().optional(),
1733
+ monthlyPlatformFee: z.number().optional(),
1734
+ options: z.object({
1735
+ createUsers: z.boolean().optional(),
1736
+ addUserBalance: z.boolean().optional(),
1737
+ supplierOnReceipts: z.boolean().optional(),
1738
+ allowToControlTariffs: z.boolean().optional(),
1739
+ allowToControlTariffGroups: z.boolean().optional()
1740
+ }).optional(),
1741
+ corporateBilling: z.object({
1742
+ enabled: z.boolean().optional(),
1743
+ monthlyLimit: z.number().optional(),
1744
+ discount: z.number().optional()
1745
+ }).optional(),
1746
+ externalId: z.string().optional(),
1747
+ lastUpdatedAt: z.unknown().optional()
1748
+ });
1749
+ // GET /public-api/resources/partners/v1.0/{partner}
1750
+ export const partnerReadDeprecatedPathParams = z.object({
1751
+ partner: z.number().int()
1752
+ });
1753
+ // DELETE /public-api/resources/partners/v1.0/{partner}
1754
+ // PATCH /public-api/resources/partners/v1.0/{partner}
1755
+ export const partnerUpdateDeprecatedBody = z.unknown();
1756
+ // GET /public-api/resources/partners/v2.0
1757
+ // POST /public-api/resources/partners/v2.0
1758
+ export const partnerCreateBody = z.object({
1759
+ businessName: z.string().optional(),
1760
+ id: z.number().int().optional(),
1761
+ name: z.string(),
1762
+ regNo: z.string().optional(),
1763
+ vatNo: z.string().optional(),
1764
+ address: z.string().optional(),
1765
+ postcode: z.string().optional(),
1766
+ city: z.string().optional(),
1767
+ country: z.unknown().optional(),
1768
+ region: z.unknown().optional(),
1769
+ state: z.unknown().optional(),
1770
+ contactDetails: z.object({
1771
+ administrative: z.object({
1772
+ contactPerson: z.string().optional(),
1773
+ email: z.string().email().optional(),
1774
+ phone: z.string().optional()
1775
+ }).optional(),
1776
+ technical: z.object({
1777
+ contactPerson: z.string().optional(),
1778
+ email: z.string().email().optional(),
1779
+ phone: z.string().optional()
1780
+ }).optional(),
1781
+ billing: z.object({
1782
+ contactPerson: z.string().optional(),
1783
+ email: z.string().email().optional(),
1784
+ phone: z.string().optional()
1785
+ }).optional()
1786
+ }).optional(),
1787
+ notifications: z.object({
1788
+ technical: z.object({
1789
+ chargePointFaults: z.boolean().optional()
1790
+ }).optional(),
1791
+ billing: z.object({
1792
+ settlementReports: z.boolean().optional()
1793
+ }).optional()
1794
+ }).optional(),
1795
+ monthlyPlatformFee: z.number().optional(),
1796
+ options: z.object({
1797
+ createUsers: z.boolean().optional(),
1798
+ addUserBalance: z.boolean().optional(),
1799
+ supplierOnReceipts: z.boolean().optional(),
1800
+ allowToControlTariffs: z.boolean().optional(),
1801
+ allowToControlTariffGroups: z.boolean().optional()
1802
+ }).optional(),
1803
+ corporateBilling: z.object({
1804
+ enabled: z.boolean().optional(),
1805
+ monthlyLimit: z.number().optional(),
1806
+ discount: z.number().optional()
1807
+ }).optional(),
1808
+ externalId: z.string().optional(),
1809
+ bankDetails: z.unknown().optional(),
1810
+ lastUpdatedAt: z.unknown().optional()
1811
+ });
1812
+ // GET /public-api/resources/partners/v2.0/{partner}
1813
+ // DELETE /public-api/resources/partners/v2.0/{partner}
1814
+ // PATCH /public-api/resources/partners/v2.0/{partner}
1815
+ export const partnerUpdateBody = z.object({
1816
+ businessName: z.string().optional()
1817
+ });
1818
+ // GET /public-api/resources/payment-terminals/v1.0
1819
+ export const getPaymentTerminalsQueryParams = z.object({
1820
+ filter: z.object({
1821
+ serialNumber: z.string().optional()
1822
+ }).optional()
1823
+ });
1824
+ // POST /public-api/resources/payment-terminals/v1.0
1825
+ export const createPaymentTerminalBody = z.union([z.union([z.object({
1826
+ preauthorizeAmount: z.number(),
1827
+ currencyId: z.number().int().optional(),
1828
+ valueAddedTaxId: z.number().int().optional()
1829
+ }), z.object({
1830
+ transactionTimeout: z.number().int()
1831
+ })]), z.object({
1832
+ id: z.number().int().optional(),
1833
+ name: z.string(),
1834
+ integrationId: z.number().int(),
1835
+ terminalType: z.unknown(),
1836
+ operatorId: z.number().int(),
1837
+ chargingZoneId: z.number().int().optional(),
1838
+ chargePointId: z.number().int().optional(),
1839
+ adminToken: z.string().optional(),
1840
+ isOnline: z.boolean().optional(),
1841
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
1842
+ phone: z.string(),
1843
+ defaultLanguage: z.string(),
1844
+ presentCardOnStopSession: z.boolean().optional(),
1845
+ info: z.unknown(),
1846
+ currencyCode: z.string().optional(),
1847
+ serialNumber: z.string().optional(),
1848
+ externalId: z.string().optional(),
1849
+ supportedLanguages: z.array(z.string()).optional(),
1850
+ bundle: z.object({
1851
+ version: z.string().optional(),
1852
+ downloadUrl: z.string().optional()
1853
+ }),
1854
+ networkStatusMonitoringEnabled: z.boolean().optional()
1855
+ }), z.object({
1856
+ serialNumber: z.string(),
1857
+ externalId: z.string().optional()
1858
+ }), z.object({
1859
+ adminToken: z.unknown().optional(),
1860
+ webhookUrl: z.string().optional(),
1861
+ serialNumber: z.string().optional(),
1862
+ externalId: z.string().optional()
1863
+ }), z.object({
1864
+ terminalId: z.string(),
1865
+ serialNumber: z.string().optional(),
1866
+ externalId: z.string().optional()
1867
+ }), z.object({
1868
+ serialNumber: z.string().optional(),
1869
+ externalId: z.string().optional()
1870
+ }), z.object({
1871
+ verificationCode: z.string(),
1872
+ defaultLanguage: z.string(),
1873
+ presentCardOnStopSession: z.boolean().optional(),
1874
+ info: z.unknown(),
1875
+ serialNumber: z.string().optional(),
1876
+ externalId: z.string().optional()
1877
+ }), z.object({
1878
+ serialNumber: z.string().optional(),
1879
+ externalId: z.string().optional()
1880
+ }), z.object({
1881
+ id: z.number().int().optional(),
1882
+ name: z.string(),
1883
+ integrationId: z.number().int(),
1884
+ terminalType: z.unknown(),
1885
+ operatorId: z.number().int(),
1886
+ invoiceFields: z.array(z.object({
1887
+ field: z.string(),
1888
+ required: z.boolean(),
1889
+ type: z.enum(["individual", "company"])
1890
+ })).optional()
1891
+ }), z.object({
1892
+ adminToken: z.unknown().optional(),
1893
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
1894
+ phone: z.string(),
1895
+ defaultLanguage: z.string(),
1896
+ presentCardOnStopSession: z.boolean().optional(),
1897
+ info: z.unknown(),
1898
+ currencyCode: z.string().optional(),
1899
+ serialNumber: z.string().optional(),
1900
+ externalId: z.string().optional(),
1901
+ merchantAccount: z.string(),
1902
+ adyenApiKey: z.string(),
1903
+ supportedLanguages: z.array(z.string()).optional(),
1904
+ networkStatusMonitoringEnabled: z.boolean().optional()
1905
+ }), z.object({
1906
+ adminToken: z.unknown().optional(),
1907
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
1908
+ phone: z.string(),
1909
+ defaultLanguage: z.string(),
1910
+ presentCardOnStopSession: z.boolean().optional(),
1911
+ info: z.unknown(),
1912
+ currencyCode: z.string().optional(),
1913
+ countryCode: z.string().optional(),
1914
+ serialNumber: z.string().optional(),
1915
+ externalId: z.string().optional(),
1916
+ supportedLanguages: z.array(z.string()).optional(),
1917
+ bundle: z.object({
1918
+ version: z.string().optional(),
1919
+ downloadUrl: z.string().optional()
1920
+ }),
1921
+ networkStatusMonitoringEnabled: z.boolean().optional()
1922
+ })]);
1923
+ // GET /public-api/resources/payment-terminals/v1.0/{paymentTerminal}
1924
+ // DELETE /public-api/resources/payment-terminals/v1.0/{paymentTerminal}
1925
+ // PATCH /public-api/resources/payment-terminals/v1.0/{paymentTerminal}
1926
+ export const updatePaymentTerminalBody = z.union([z.union([z.object({
1927
+ preauthorizeAmount: z.number().optional(),
1928
+ currencyId: z.number().int().optional(),
1929
+ valueAddedTaxId: z.number().int().optional()
1930
+ }), z.object({
1931
+ transactionTimeout: z.number().int().optional()
1932
+ })]), z.object({
1933
+ adminToken: z.unknown().optional(),
1934
+ isOnline: z.boolean().optional(),
1935
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
1936
+ phone: z.string().optional(),
1937
+ defaultLanguage: z.string().optional(),
1938
+ presentCardOnStopSession: z.boolean().optional(),
1939
+ info: z.unknown().optional(),
1940
+ serialNumber: z.string().optional(),
1941
+ externalId: z.string().optional(),
1942
+ supportedLanguages: z.array(z.string()).optional()
1943
+ }), z.object({
1944
+ serialNumber: z.string().optional(),
1945
+ externalId: z.string().optional()
1946
+ }), z.object({
1947
+ adminToken: z.unknown().optional(),
1948
+ webhookUrl: z.string().optional(),
1949
+ serialNumber: z.string().optional(),
1950
+ externalId: z.string().optional()
1951
+ }), z.object({
1952
+ terminalId: z.unknown().optional(),
1953
+ serialNumber: z.string().optional(),
1954
+ externalId: z.string().optional()
1955
+ }), z.object({
1956
+ serialNumber: z.string().optional(),
1957
+ externalId: z.string().optional()
1958
+ }), z.object({
1959
+ verificationCode: z.string().optional(),
1960
+ defaultLanguage: z.string().optional(),
1961
+ presentCardOnStopSession: z.boolean().optional(),
1962
+ info: z.unknown().optional(),
1963
+ serialNumber: z.string().optional(),
1964
+ externalId: z.string().optional()
1965
+ }), z.object({
1966
+ serialNumber: z.string().optional(),
1967
+ externalId: z.string().optional()
1968
+ }), z.object({
1969
+ id: z.number().int().optional(),
1970
+ name: z.string().optional(),
1971
+ integrationId: z.number().int().optional(),
1972
+ terminalType: z.unknown().optional(),
1973
+ operatorId: z.number().int().optional()
1974
+ }), z.object({
1975
+ adminToken: z.unknown().optional(),
1976
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
1977
+ phone: z.string().optional(),
1978
+ defaultLanguage: z.string().optional(),
1979
+ presentCardOnStopSession: z.boolean().optional(),
1980
+ info: z.unknown().optional(),
1981
+ serialNumber: z.string().optional(),
1982
+ externalId: z.string().optional(),
1983
+ merchantAccount: z.string().optional(),
1984
+ adyenApiKey: z.string().optional(),
1985
+ supportedLanguages: z.array(z.string()).optional(),
1986
+ networkStatusMonitoringEnabled: z.boolean().optional()
1987
+ }), z.object({
1988
+ adminToken: z.unknown().optional(),
1989
+ networkStatus: z.enum(["online", "offline", "unknown"]).optional(),
1990
+ phone: z.string().optional(),
1991
+ defaultLanguage: z.string().optional(),
1992
+ presentCardOnStopSession: z.boolean().optional(),
1993
+ info: z.unknown().optional(),
1994
+ serialNumber: z.string().optional(),
1995
+ externalId: z.string().optional(),
1996
+ supportedLanguages: z.array(z.string()).optional(),
1997
+ networkStatusMonitoringEnabled: z.boolean().optional()
1998
+ })]);
1999
+ // GET /public-api/resources/provisioning-certificates/v2.0
2000
+ // POST /public-api/resources/provisioning-certificates/v2.0
2001
+ export const createPcIdBody = z.object({
2002
+ id: z.number().int().optional(),
2003
+ pcId: z.string(),
2004
+ name: z.string(),
2005
+ vehicleType: z.enum(["company", "private"]),
2006
+ userId: z.number().int(),
2007
+ idTags: z.array(z.object({
2008
+ id: z.number().int().optional(),
2009
+ type: z.enum(["rfid", "mac_address", "emaid"]).optional(),
2010
+ name: z.string().optional(),
2011
+ paymentMethod: z.string().optional(),
2012
+ status: z.enum(["active", "disabled", "suspended"]).optional(),
2013
+ expireAt: z.string().datetime().optional()
2014
+ })).optional()
2015
+ });
2016
+ // GET /public-api/resources/provisioning-certificates/v2.0/{provisioningCertificate}
2017
+ // DELETE /public-api/resources/provisioning-certificates/v2.0/{provisioningCertificate}
2018
+ // PATCH /public-api/resources/provisioning-certificates/v2.0/{provisioningCertificate}
2019
+ export const updatePcIdBody = z.object({
2020
+ id: z.number().int().optional(),
2021
+ pcId: z.string().optional(),
2022
+ name: z.string().optional(),
2023
+ vehicleType: z.enum(["company", "private"]).optional(),
2024
+ userId: z.number().int().optional(),
2025
+ idTags: z.array(z.object({
2026
+ id: z.number().int().optional(),
2027
+ type: z.enum(["rfid", "mac_address", "emaid"]).optional(),
2028
+ name: z.string().optional(),
2029
+ paymentMethod: z.string().optional(),
2030
+ status: z.enum(["active", "disabled", "suspended"]).optional(),
2031
+ expireAt: z.string().datetime().optional()
2032
+ })).optional()
2033
+ });
2034
+ // GET /public-api/resources/receipts/v2.0
2035
+ // GET /public-api/resources/receipts/v2.0/{receipt}
2036
+ // GET /public-api/resources/reservations/v1.0
2037
+ export const reservationsListingQueryParams = z.object({
2038
+ filter: z.object({
2039
+ evseId: z.string().optional(),
2040
+ userId: z.string().optional(),
2041
+ status: z.enum(["active", "expired", "canceled", "done"]).optional(),
2042
+ reservedFrom: z.string().datetime().optional(),
2043
+ reservedTo: z.string().datetime().optional()
2044
+ }).optional()
2045
+ });
2046
+ // GET /public-api/resources/reservations/v1.0/{reservation}
2047
+ // GET /public-api/resources/rfid-tags/v1.0
2048
+ // POST /public-api/resources/rfid-tags/v1.0
2049
+ export const rfidTagCreateDeprecatedBody = z.object({
2050
+ id: z.number().int().optional(),
2051
+ rfidTagUid: z.string(),
2052
+ rfidLabel: z.string().optional(),
2053
+ expireAt: z.string().optional(),
2054
+ createdAt: z.string().optional(),
2055
+ status: z.enum(["enabled", "disabled", "suspended"]),
2056
+ userId: z.number().int().optional(),
2057
+ lastUpdatedAt: z.unknown().optional()
2058
+ });
2059
+ // GET /public-api/resources/rfid-tags/v1.0/{rfidTag}
2060
+ // DELETE /public-api/resources/rfid-tags/v1.0/{rfidTag}
2061
+ // PATCH /public-api/resources/rfid-tags/v1.0/{rfidTag}
2062
+ export const rfidTagUpdateDeprecatedBody = z.unknown();
2063
+ // GET /public-api/resources/roaming-connections/v2.0
2064
+ // GET /public-api/resources/roaming-connections/v2.0/{roamingConnection}
2065
+ export const getRoamingConnectionPathParams = z.object({
2066
+ roamingConnection: z.number().int()
2067
+ });
2068
+ // GET /public-api/resources/roaming-operators/v2.0
2069
+ // GET /public-api/resources/roaming-operators/v2.0/{roamingOperator}
2070
+ export const roamingOperatorReadPathParams = z.object({
2071
+ roamingOperator: z.number().int()
2072
+ });
2073
+ // PATCH /public-api/resources/roaming-operators/v2.0/{roamingOperator}
2074
+ export const roamingOperatorUpdateBody = z.object({
2075
+ businessName: z.string().optional(),
2076
+ partnerId: z.number().int().optional(),
2077
+ enabled: z.boolean().optional(),
2078
+ cpoSettings: z.object({}).optional()
2079
+ });
2080
+ // GET /public-api/resources/roaming-operators/v2.0/{roamingOperator}/custom-tariff-filters
2081
+ export const listRoamingCustomTariffFiltersQueryParams = z.object({
2082
+ filter: z.object({
2083
+ status: z.enum(["enabled", "disabled"]).optional(),
2084
+ createdAfter: z.unknown().optional(),
2085
+ createdBefore: z.unknown().optional()
2086
+ }).optional()
2087
+ });
2088
+ // POST /public-api/resources/roaming-operators/v2.0/{roamingOperator}/custom-tariff-filters
2089
+ export const createRoamingCustomTariffFilterBody = z.object({
2090
+ id: z.number().int().optional(),
2091
+ name: z.string().min(1).max(255),
2092
+ status: z.enum(["enabled", "disabled"]),
2093
+ countryCode: z.string().regex(new RegExp("^[A-Z]{2}$")).optional(),
2094
+ applicableCurrentTypes: z.array(z.enum(["AC", "DC"])).optional(),
2095
+ powerBelowKw: z.number().min(0).optional(),
2096
+ evseIdPrefix: z.string().max(1000).optional(),
2097
+ order: z.number().int().optional(),
2098
+ createdAt: z.unknown().optional(),
2099
+ updatedAt: z.unknown().optional()
2100
+ });
2101
+ // PUT /public-api/resources/roaming-operators/v2.0/{roamingOperator}/custom-tariff-filters/reorder
2102
+ export const reorderRoamingCustomTariffFiltersBody = z.object({
2103
+ filters: z.array(z.object({
2104
+ id: z.number().int(),
2105
+ order: z.number().int().min(1)
2106
+ }))
2107
+ });
2108
+ // GET /public-api/resources/roaming-operators/v2.0/{roamingOperator}/custom-tariff-filters/{customTariffFilter}
2109
+ // DELETE /public-api/resources/roaming-operators/v2.0/{roamingOperator}/custom-tariff-filters/{customTariffFilter}
2110
+ // PATCH /public-api/resources/roaming-operators/v2.0/{roamingOperator}/custom-tariff-filters/{customTariffFilter}
2111
+ export const updateRoamingCustomTariffFilterBody = z.object({
2112
+ name: z.string().min(1).max(255).optional(),
2113
+ status: z.enum(["enabled", "disabled"]).optional(),
2114
+ countryCode: z.string().regex(new RegExp("^[A-Z]{2}$")).optional(),
2115
+ applicableCurrentTypes: z.array(z.enum(["AC", "DC"])).optional(),
2116
+ powerBelowKw: z.number().min(0).optional(),
2117
+ evseIdPrefix: z.string().max(1000).optional(),
2118
+ order: z.number().int().optional()
2119
+ });
2120
+ // GET /public-api/resources/roaming-platforms/v1.0
2121
+ // GET /public-api/resources/roaming-platforms/v1.0/{roamingPlatform}
2122
+ export const roamingPlatformReadDeprecatedPathParams = z.object({
2123
+ roamingPlatform: z.number().int()
2124
+ });
2125
+ // GET /public-api/resources/roaming-providers/v2.0
2126
+ export const roamingProvidersListingQueryParams = z.object({
2127
+ filter: z.object({
2128
+ platformId: z.number().int().optional(),
2129
+ countryCode: z.string().optional(),
2130
+ partyId: z.string().optional()
2131
+ }).optional()
2132
+ });
2133
+ // POST /public-api/resources/roaming-providers/v2.0
2134
+ export const roamingProviderCreateBody = z.union([z.object({
2135
+ businessName: z.string().optional(),
2136
+ platformId: z.number().int(),
2137
+ partnerId: z.number().int().optional(),
2138
+ hubjectId: z.string().optional()
2139
+ }), z.object({
2140
+ countryCode: z.string().optional(),
2141
+ partyId: z.string().optional()
2142
+ })]);
2143
+ // GET /public-api/resources/roaming-providers/v2.0/{roamingProvider}
2144
+ export const roamingProviderReadPathParams = z.object({
2145
+ roamingProvider: z.number().int()
2146
+ });
2147
+ // DELETE /public-api/resources/roaming-providers/v2.0/{roamingProvider}
2148
+ // PATCH /public-api/resources/roaming-providers/v2.0/{roamingProvider}
2149
+ export const roamingProviderUpdateBody = z.union([z.unknown(), z.object({})]);
2150
+ // GET /public-api/resources/roaming-tariffs/v2.0
2151
+ // GET /public-api/resources/roaming-tariffs/v2.0/{roamingTariff}
2152
+ export const roamingTariffReadPathParams = z.object({
2153
+ roamingTariff: z.number().int()
2154
+ });
2155
+ // PATCH /public-api/resources/roaming-tariffs/v2.0/{roamingTariff}
2156
+ export const roamingTariffUpdateBody = z.object({
2157
+ id: z.number().int().optional(),
2158
+ roamingIds: z.array(z.string()).optional(),
2159
+ roamingTariffHumanReadable: z.string().optional(),
2160
+ rawRoamingTariffs: z.array(z.object({})).optional(),
2161
+ operatorId: z.number().int().optional(),
2162
+ tariffGroupId: z.number().int().optional()
2163
+ });
2164
+ // GET /public-api/resources/security-events-log/v2.0
2165
+ // GET /public-api/resources/security-events-log/v2.0/{securityEventLog}
2166
+ // GET /public-api/resources/security-events/v2.0
2167
+ export const securityEventsListingQueryParams = z.object({
2168
+ filter: z.object({
2169
+ type: z.enum(["FirmwareUpdated", "SettingSystemTime", "StartupOfTheDevice", "ResetOrReboot", "SecurityLogWasCleared", "MemoryExhaustion", "TamperDetectionActivated"]).optional(),
2170
+ chargePoint: z.string().optional(),
2171
+ timestampFrom: z.string().optional(),
2172
+ timestampTo: z.string().optional()
2173
+ }).optional()
2174
+ });
2175
+ // GET /public-api/resources/security-events/v2.0/{securityEvent}
2176
+ // GET /public-api/resources/sessions/v1.0
2177
+ export const sessionsListingQueryParams = z.object({
2178
+ withChargingPeriodsPriceBreakdown: z.boolean().optional(),
2179
+ include: z.array(z.enum(["externalAppData"])).optional()
2180
+ });
2181
+ // GET /public-api/resources/sessions/v1.0/{session}
2182
+ // GET /public-api/resources/sessions/v1.0/{session}/consumption-stats
2183
+ // GET /public-api/resources/settings/v1.0
2184
+ // GET /public-api/resources/sub-operators/v1.0
2185
+ // GET /public-api/resources/sub-operators/v1.0/{subOperator}
2186
+ // GET /public-api/resources/subscription-plans/v1.0
2187
+ // GET /public-api/resources/subscription-plans/v2.0
2188
+ // POST /public-api/resources/subscription-plans/v2.0
2189
+ export const subscriptionPlanCreateBody = z.object({
2190
+ name: z.unknown(),
2191
+ description: z.unknown(),
2192
+ renewalCycle: z.enum(["monthly", "annually"]),
2193
+ freeRenewalPeriods: z.number().int().optional(),
2194
+ type: z.enum(["pre-paid", "post-paid"]),
2195
+ baseFee: z.number().optional(),
2196
+ baseFeeAppliesPerEachHomeCharger: z.boolean().optional(),
2197
+ postPaidChargingSessionsAccumulation: z.enum(["none", "personal", "personal_commercial"]).optional(),
2198
+ billingUsageThreshold: z.number().int().optional(),
2199
+ billingType: z.enum(["default", "internal", "external"]).optional(),
2200
+ status: z.enum(["enabled", "disabled"]),
2201
+ allowance: z.object({
2202
+ resetCycle: z.enum(["as_renewal_cycle", "after_each_session", "after_24_hours", "after_each_week", "after_each_month", "after_each_year"]).optional(),
2203
+ type: z.enum(["none", "combined", "separate"]).optional(),
2204
+ homeChargersOnly: z.boolean().optional(),
2205
+ includedCountries: z.array(z.unknown()).optional(),
2206
+ excludedCountries: z.array(z.unknown()).optional(),
2207
+ excludeRoaming: z.boolean().optional(),
2208
+ includedPartnerChargePoints: z.array(z.number().int()).optional(),
2209
+ excludedPartnerChargePoints: z.array(z.number().int()).optional(),
2210
+ combined: z.unknown().optional(),
2211
+ ac: z.number().int().min(0).max(4000000).optional(),
2212
+ dc: z.unknown().optional()
2213
+ }).optional(),
2214
+ visibilityRestrictions: z.object({
2215
+ includedPartnerUsers: z.array(z.number().int()).optional(),
2216
+ excludedPartnerUsers: z.array(z.number().int()).optional(),
2217
+ includedUserGroups: z.array(z.number().int()).optional(),
2218
+ excludedUserGroups: z.array(z.number().int()).optional()
2219
+ }).optional(),
2220
+ lastUpdatedAt: z.unknown().optional()
2221
+ });
2222
+ // GET /public-api/resources/subscription-plans/v2.0/{subscriptionPlan}
2223
+ // DELETE /public-api/resources/subscription-plans/v2.0/{subscriptionPlan}
2224
+ // PATCH /public-api/resources/subscription-plans/v2.0/{subscriptionPlan}
2225
+ export const subscriptionPlanUpdateBody = z.object({
2226
+ name: z.unknown().optional(),
2227
+ description: z.unknown().optional(),
2228
+ renewalCycle: z.enum(["monthly", "annually"]).optional(),
2229
+ freeRenewalPeriods: z.number().int().optional(),
2230
+ type: z.enum(["pre-paid", "post-paid"]).optional(),
2231
+ baseFee: z.number().optional(),
2232
+ feePerEachPersonalChargePoint: z.number().optional(),
2233
+ postPaidChargingSessionsAccumulation: z.enum(["none", "personal", "personal_commercial"]).optional(),
2234
+ billingUsageThreshold: z.number().int().optional(),
2235
+ billingType: z.unknown().optional(),
2236
+ status: z.enum(["enabled", "disabled"]).optional(),
2237
+ allowance: z.object({
2238
+ resetCycle: z.enum(["as_renewal_cycle", "after_each_session", "after_24_hours", "after_each_week", "after_each_month", "after_each_year"]).optional(),
2239
+ type: z.enum(["none", "combined", "separate"]).optional(),
2240
+ $ref: z.unknown().optional(),
2241
+ homeChargersOnly: z.boolean().optional(),
2242
+ includedCountries: z.array(z.unknown()).optional(),
2243
+ excludedCountries: z.array(z.unknown()).optional(),
2244
+ excludeRoaming: z.boolean().optional(),
2245
+ includedPartnerChargePoints: z.array(z.number().int()).optional(),
2246
+ excludedPartnerChargePoints: z.array(z.number().int()).optional()
2247
+ }).optional(),
2248
+ visibilityRestrictions: z.object({
2249
+ includedPartnerUsers: z.array(z.number().int()).optional(),
2250
+ excludedPartnerUsers: z.array(z.number().int()).optional(),
2251
+ includedUserGroups: z.array(z.number().int()).optional(),
2252
+ excludedUserGroups: z.array(z.number().int()).optional()
2253
+ }).optional(),
2254
+ lastUpdatedAt: z.unknown().optional()
2255
+ });
2256
+ // GET /public-api/resources/subscriptions/v1.0
2257
+ // GET /public-api/resources/subscriptions/v1.0/{subscription}
2258
+ // GET /public-api/resources/tariff-groups/v1.0
2259
+ // POST /public-api/resources/tariff-groups/v1.0
2260
+ export const tariffGroupCreateBody = z.unknown();
2261
+ // GET /public-api/resources/tariff-groups/v1.0/{tariffGroup}
2262
+ // PUT /public-api/resources/tariff-groups/v1.0/{tariffGroup}
2263
+ export const tariffGroupUpdateBody = z.unknown();
2264
+ // DELETE /public-api/resources/tariff-groups/v1.0/{tariffGroup}
2265
+ // GET /public-api/resources/tariff-snapshots/v1.0/{tariffSnapshot}
2266
+ // GET /public-api/resources/tariffs/v1.0
2267
+ // POST /public-api/resources/tariffs/v1.0
2268
+ export const tariffCreateBody = z.object({
2269
+ id: z.number().int(),
2270
+ name: z.string(),
2271
+ type: z.enum(["free", "flat rate", "duration+energy", "duration+energy time of day", "energy tou", "standard", "charging not allowed", "average power levels", "peak power levels", "standard_tod", "optimised dynamic pricing"]),
2272
+ description: z.unknown().optional(),
2273
+ additionalInformation: z.unknown().optional(),
2274
+ learnMoreUrl: z.unknown().optional(),
2275
+ dayTariffStart: z.string().optional(),
2276
+ nightTariffStart: z.string().optional(),
2277
+ pricing: z.object({
2278
+ pricePerSession: z.number().optional(),
2279
+ connectionFee: z.number().optional(),
2280
+ pricePerKwh: z.number().optional(),
2281
+ dayPricePerKwh: z.number().optional(),
2282
+ nightPricePerKwh: z.number().optional(),
2283
+ pricePeriodInMinutes: z.union([z.literal(1), z.literal(15), z.literal(30), z.literal(60), z.literal(240), z.literal(360)]).optional(),
2284
+ pricePerPeriod: z.number().optional(),
2285
+ durationFeeLimit: z.number().optional(),
2286
+ dayPricePerPeriod: z.number().optional(),
2287
+ nightPricePerPeriod: z.number().optional(),
2288
+ dayIdleFeePerMinute: z.number().optional(),
2289
+ nightIdleFeePerMinute: z.number().optional(),
2290
+ idleFeePerMinute: z.number().optional(),
2291
+ idleFeeGracePeriodMinutes: z.number().optional(),
2292
+ idlePricingPeriodInMinutes: z.union([z.literal(1), z.literal(15), z.literal(30), z.literal(60), z.literal(240), z.literal(360)]).optional(),
2293
+ idleFeePeriodStart: z.string().optional(),
2294
+ idleFeePeriodEnd: z.string().optional(),
2295
+ idleFeeLimit: z.number().optional(),
2296
+ connectionFeeMinimumSessionDuration: z.number().int().optional(),
2297
+ connectionFeeMinimumSessionEnergy: z.number().optional(),
2298
+ durationFeeGracePeriod: z.number().int().optional(),
2299
+ minPrice: z.number().optional(),
2300
+ preAuthorizeAmount: z.number().optional(),
2301
+ taxID: z.number().int().optional(),
2302
+ chargePointElectricityRate: z.boolean().optional(),
2303
+ fallbackElectricityRateId: z.number().int().optional(),
2304
+ markupPercentagePerKwh: z.number().optional(),
2305
+ markupFixedFeePerKwh: z.number().optional(),
2306
+ flexibleMarkUpAsFixedPerKwh: z.object({
2307
+ defaultPrice: z.number().optional(),
2308
+ intervalPricing: z.array(z.unknown()).optional()
2309
+ }).optional(),
2310
+ multiPricePerKwh: z.array(z.object({
2311
+ firstKwh: z.number(),
2312
+ lastKwh: z.number().optional(),
2313
+ feePerKwh: z.number().optional(),
2314
+ flatFee: z.number().optional()
2315
+ })).optional(),
2316
+ multiPricePerDuration: z.array(z.object({
2317
+ firstUnit: z.number().int(),
2318
+ lastUnit: z.number().int().optional(),
2319
+ feePerUnit: z.number().optional(),
2320
+ flatFee: z.number().optional()
2321
+ })).optional(),
2322
+ multiIdleFee: z.array(z.object({
2323
+ firstUnit: z.number().int(),
2324
+ lastUnit: z.number().int().optional(),
2325
+ feePerUnit: z.number().optional(),
2326
+ flatFee: z.number().optional()
2327
+ })).optional(),
2328
+ regularUsePeriod: z.number().optional(),
2329
+ averagePowerLevels: z.array(z.object({
2330
+ averagePowerUpToKw: z.number(),
2331
+ pricePerMinute: z.number()
2332
+ })).optional(),
2333
+ peakPowerLevels: z.array(z.object({
2334
+ peakPowerUpToKw: z.number(),
2335
+ regularPricePerMinute: z.number(),
2336
+ excessUsePricePerMin: z.number()
2337
+ })).optional(),
2338
+ timePeriods: z.array(z.object({
2339
+ startTime: z.string().regex(new RegExp("^\\d{2}:\\d{2}$")),
2340
+ endTime: z.string().regex(new RegExp("^\\d{2}:\\d{2}$"))
2341
+ })).optional(),
2342
+ pricePeriods: z.object({
2343
+ connectionFeePeriods: z.object({
2344
+ fee: z.array(z.number()).optional()
2345
+ }).optional(),
2346
+ energyFeePeriods: z.object({
2347
+ fee: z.array(z.number()).optional()
2348
+ }).optional(),
2349
+ durationFeePeriods: z.object({
2350
+ fee: z.array(z.number()).optional()
2351
+ }).optional(),
2352
+ idleFeePeriods: z.object({
2353
+ fee: z.array(z.number()).optional()
2354
+ }).optional()
2355
+ }).optional(),
2356
+ daysWhenApplied: z.array(z.object({
2357
+ name: z.string().optional(),
2358
+ specialDates: z.array(z.string()).optional(),
2359
+ idleFeeGracePeriodMinutes: z.number().optional(),
2360
+ idlePricingPeriodInMinutes: z.union([z.literal(1), z.literal(15), z.literal(30), z.literal(60), z.literal(240), z.literal(360)]).optional(),
2361
+ connectionFeeMinimumSessionDuration: z.number().int().optional(),
2362
+ connectionFeeMinimumSessionEnergy: z.number().optional(),
2363
+ durationFeeGracePeriod: z.number().int().optional(),
2364
+ pricePeriodInMinutes: z.union([z.literal(1), z.literal(15), z.literal(30), z.literal(60), z.literal(240), z.literal(360)]).optional(),
2365
+ pricePeriods: z.object({
2366
+ connectionFeePeriods: z.object({
2367
+ fee: z.array(z.number()).optional()
2368
+ }).optional(),
2369
+ energyFeePeriods: z.object({
2370
+ fee: z.array(z.number()).optional()
2371
+ }).optional(),
2372
+ durationFeePeriods: z.object({
2373
+ fee: z.array(z.number()).optional()
2374
+ }).optional(),
2375
+ idleFeePeriods: z.object({
2376
+ fee: z.array(z.number()).optional()
2377
+ }).optional()
2378
+ }).optional()
2379
+ })).optional(),
2380
+ thresholdPriceForEnergy: z.number().optional(),
2381
+ priceForEnergyWhenOptimized: z.number().optional(),
2382
+ optimisedLabel: z.string().optional(),
2383
+ durationFeeFrom: z.string().optional(),
2384
+ durationFeeTo: z.string().optional(),
2385
+ subsidyIntegrationId: z.number().int().optional(),
2386
+ lockPriceOnSessionStart: z.boolean().optional(),
2387
+ lockEnergyPriceOnSessionStart: z.boolean().optional(),
2388
+ lockDurationPriceOnSessionStart: z.boolean().optional(),
2389
+ lockIdlePriceOnSessionStart: z.boolean().optional(),
2390
+ stateOfChargeIdleThreshold: z.union([z.literal(75), z.literal(80), z.literal(85), z.literal(90), z.literal(95), z.literal(100)]).optional(),
2391
+ averagePowerIdleThreshold: z.number().min(0).max(999999.99).optional()
2392
+ }).optional(),
2393
+ currency: z.string().optional(),
2394
+ stopSession: z.object({
2395
+ timeLimitMinutes: z.number().optional(),
2396
+ stopWhenEnergyExceedsKwh: z.number().optional()
2397
+ }).optional(),
2398
+ restrictions: z.object({
2399
+ applyToUsersOfChargePointOwner: z.boolean().optional(),
2400
+ applyToUsersOfChargePointPartner: z.boolean().optional(),
2401
+ applyToUsersOfAllRoamingEmsps: z.boolean().optional(),
2402
+ applyToAdHocUsers: z.boolean().optional(),
2403
+ adHocPreAuthorizeAmount: z.number().min(0).optional(),
2404
+ adHocStopWhenPreAuthorizedAmountFallsBelow: z.number().optional(),
2405
+ applyToUsersOfPartners: z.array(z.number()).optional(),
2406
+ applyToUsersWithGroups: z.array(z.string()).optional(),
2407
+ applyToUserGroupIds: z.array(z.number()).optional(),
2408
+ applyToUsersWithSubscriptions: z.array(z.number()).optional(),
2409
+ startDate: z.string().optional(),
2410
+ endDate: z.string().optional()
2411
+ }).optional(),
2412
+ partner: z.object({
2413
+ id: z.number().int().optional()
2414
+ }).optional(),
2415
+ lastUpdatedAt: z.unknown().optional(),
2416
+ display: z.object({
2417
+ defaultPriceInformation: z.string().max(150).optional(),
2418
+ defaultPriceInformationOffline: z.string().max(150).optional(),
2419
+ priceInformation: z.string().optional(),
2420
+ totalCostInformation: z.string().optional()
2421
+ }).optional(),
2422
+ integrationId: z.number().int().optional()
2423
+ });
2424
+ // GET /public-api/resources/tariffs/v1.0/{tariff}
2425
+ // PUT /public-api/resources/tariffs/v1.0/{tariff}
2426
+ export const tariffUpdateBody = z.unknown();
2427
+ // DELETE /public-api/resources/tariffs/v1.0/{tariff}
2428
+ // GET /public-api/resources/tax-identification-numbers/v2.0
2429
+ // POST /public-api/resources/tax-identification-numbers/v2.0
2430
+ export const taxIdentificationNumberCreateBody = z.object({
2431
+ name: z.string()
2432
+ });
2433
+ // GET /public-api/resources/tax-identification-numbers/v2.0/{taxIdentificationNumber}
2434
+ // DELETE /public-api/resources/tax-identification-numbers/v2.0/{taxIdentificationNumber}
2435
+ // PATCH /public-api/resources/tax-identification-numbers/v2.0/{taxIdentificationNumber}
2436
+ export const taxIdentificationNumberUpdateBody = z.object({
2437
+ name: z.string().optional()
2438
+ });
2439
+ // GET /public-api/resources/taxes/v2.0
2440
+ // POST /public-api/resources/taxes/v2.0
2441
+ export const taxCreateBody = z.object({
2442
+ name: z.string(),
2443
+ displayName: z.unknown().optional(),
2444
+ percentage: z.number(),
2445
+ taxIdentificationNumberId: z.number().int().optional()
2446
+ });
2447
+ // GET /public-api/resources/taxes/v2.0/{tax}
2448
+ // DELETE /public-api/resources/taxes/v2.0/{tax}
2449
+ // PATCH /public-api/resources/taxes/v2.0/{tax}
2450
+ export const taxUpdateBody = z.object({
2451
+ name: z.string().optional(),
2452
+ displayName: z.unknown().optional(),
2453
+ percentage: z.number().optional(),
2454
+ taxIdentificationNumberId: z.number().int().optional()
2455
+ });
2456
+ // GET /public-api/resources/templates/v1.0
2457
+ // GET /public-api/resources/terms-and-policies/v2.0
2458
+ // GET /public-api/resources/terms-and-policies/v2.0/{termVersion}
2459
+ // GET /public-api/resources/top-up-packages/v2.0
2460
+ // POST /public-api/resources/top-up-packages/v2.0
2461
+ export const topUpPackagCreateBody = z.object({
2462
+ price: z.number(),
2463
+ bonus: z.number(),
2464
+ enabled: z.boolean().optional()
2465
+ });
2466
+ // GET /public-api/resources/top-up-packages/v2.0/{topUpPackage}
2467
+ // DELETE /public-api/resources/top-up-packages/v2.0/{topUpPackage}
2468
+ // PATCH /public-api/resources/top-up-packages/v2.0/{topUpPackage}
2469
+ export const topUpPackageUpdateBody = z.object({
2470
+ price: z.number().optional(),
2471
+ bonus: z.number().optional(),
2472
+ enabled: z.boolean().optional()
2473
+ });
2474
+ // GET /public-api/resources/transactions/v1.0
2475
+ // POST /public-api/resources/transactions/v1.0
2476
+ export const transactionsCreateBody = z.object({
2477
+ sessionId: z.number().int().optional(),
2478
+ paymentMethod: z.object({
2479
+ methodType: z.enum(["card", "bank_transfer", "wallet"]).optional(),
2480
+ cardNetwork: z.enum(["visa", "mastercard", "paypal", "maestro", "amex", "unknown"]).optional(),
2481
+ bankTransferType: z.enum(["pse", "sepa"]).optional(),
2482
+ walletType: z.enum(["applepay", "googlepay", "twint", "other"]).optional(),
2483
+ type: z.enum(["visa", "mastercard", "paypal", "maestro", "amex", "unknown"]).optional(),
2484
+ last4: z.string().min(4).max(4).optional(),
2485
+ expMonth: z.string().optional(),
2486
+ expYear: z.string().optional()
2487
+ }).optional(),
2488
+ totalAmount: z.number(),
2489
+ status: z.enum(["pending", "finalized", "failed", "reversed", "refunded", "authorized", "initialized"]),
2490
+ ref: z.string().optional(),
2491
+ failureReason: z.string().optional(),
2492
+ lastUpdatedAt: z.unknown().optional()
2493
+ });
2494
+ // GET /public-api/resources/transactions/v1.0/{transaction}
2495
+ // PATCH /public-api/resources/transactions/v1.0/{transaction}
2496
+ export const transactionUpdateBody = z.object({
2497
+ paymentMethod: z.object({
2498
+ methodType: z.enum(["card", "bank_transfer"]).optional(),
2499
+ cardNetwork: z.enum(["visa", "mastercard", "paypal", "maestro", "amex", "unknown"]).optional(),
2500
+ bankTransferType: z.enum(["pse", "sepa"]).optional(),
2501
+ type: z.enum(["visa", "mastercard", "paypal", "maestro", "amex", "unknown"]).optional(),
2502
+ last4: z.string().min(4).max(4).optional(),
2503
+ expMonth: z.string().optional(),
2504
+ expYear: z.string().optional()
2505
+ }).optional(),
2506
+ status: z.enum(["pending", "finalized", "failed", "reversed", "refunded", "authorized", "initialized"]),
2507
+ totalAmount: z.number(),
2508
+ ref: z.string().optional(),
2509
+ failureReason: z.string().optional(),
2510
+ lastUpdatedAt: z.unknown().optional()
2511
+ });
2512
+ // GET /public-api/resources/user-groups/v1.0
2513
+ export const userGroupsListingQueryParams = z.object({
2514
+ filter: z.object({
2515
+ noPartner: z.string().optional(),
2516
+ partnerId: z.string().optional()
2517
+ }).optional()
2518
+ });
2519
+ // POST /public-api/resources/user-groups/v1.0
2520
+ export const userGroupCreateBody = z.object({
2521
+ name: z.string(),
2522
+ partnerId: z.number().int().optional(),
2523
+ description: z.string().max(2000).optional(),
2524
+ lastUpdatedAt: z.unknown().optional()
2525
+ });
2526
+ // GET /public-api/resources/user-groups/v1.0/{userGroup}
2527
+ // DELETE /public-api/resources/user-groups/v1.0/{userGroup}
2528
+ // PATCH /public-api/resources/user-groups/v1.0/{userGroup}
2529
+ export const userGroupUpdateBody = z.unknown();
2530
+ // GET /public-api/resources/users/v1.0
2531
+ // POST /public-api/resources/users/v1.0
2532
+ export const userCreateBody = z.object({
2533
+ email: z.string().email(),
2534
+ emailVerified: z.string().optional(),
2535
+ password: z.string().min(6),
2536
+ requirePasswordReset: z.boolean().optional(),
2537
+ first_name: z.string().optional(),
2538
+ middle_name: z.string().optional(),
2539
+ last_name: z.string().optional(),
2540
+ phone: z.string().optional(),
2541
+ country: z.unknown().optional(),
2542
+ state: z.union([z.unknown(), z.unknown()]).optional(),
2543
+ city: z.string().optional(),
2544
+ post_code: z.string().optional(),
2545
+ address: z.string().optional(),
2546
+ vehicle_no: z.string().optional(),
2547
+ personal_id: z.string().optional(),
2548
+ locale: z.string().optional(),
2549
+ userGroupIds: z.array(z.number().int()).optional(),
2550
+ externalId: z.string().optional(),
2551
+ options: z.object({
2552
+ sessionsAllowed: z.enum(["single_session", "multiple_simultaneous_sessions_per_idtag", "simultaneous_use_of_idtags", "multiple_simultaneous_sessions_remotely_and_idtags"]).optional()
2553
+ }).optional(),
2554
+ lastUpdatedAt: z.unknown().optional(),
2555
+ receiveNewsAndPromotions: z.boolean().optional(),
2556
+ bankDetails: z.object({
2557
+ bankIban: z.string().optional(),
2558
+ bankName: z.string().optional(),
2559
+ bankAddress: z.string().optional(),
2560
+ bankCode: z.string().optional(),
2561
+ bankAccountNumber: z.string().optional(),
2562
+ bankAccountType: z.string().optional()
2563
+ }).optional(),
2564
+ externalAppData: z.unknown().optional(),
2565
+ nonce: z.string().optional()
2566
+ });
2567
+ // GET /public-api/resources/users/v1.0/{user}
2568
+ export const userReadQueryParams = z.object({
2569
+ withAmountDue: z.boolean().optional()
2570
+ });
2571
+ // DELETE /public-api/resources/users/v1.0/{user}
2572
+ // PATCH /public-api/resources/users/v1.0/{user}
2573
+ export const userUpdateBody = z.object({
2574
+ email: z.string().email().optional(),
2575
+ emailVerified: z.string().optional(),
2576
+ password: z.string().min(6).optional(),
2577
+ requirePasswordReset: z.boolean().optional(),
2578
+ first_name: z.string().optional(),
2579
+ middle_name: z.string().optional(),
2580
+ last_name: z.string().optional(),
2581
+ phone: z.string().optional(),
2582
+ country: z.unknown().optional(),
2583
+ state: z.union([z.unknown(), z.unknown()]).optional(),
2584
+ city: z.string().optional(),
2585
+ post_code: z.string().optional(),
2586
+ address: z.string().optional(),
2587
+ vehicle_no: z.string().optional(),
2588
+ userGroupIds: z.array(z.number().int()).optional(),
2589
+ externalId: z.string().optional(),
2590
+ options: z.unknown().optional(),
2591
+ lastUpdatedAt: z.unknown().optional(),
2592
+ receiveNewsAndPromotions: z.boolean().optional(),
2593
+ bankDetails: z.unknown().optional(),
2594
+ externalAppData: z.unknown().optional()
2595
+ });
2596
+ // GET /public-api/resources/users/v1.0/{user}/invoice-details
2597
+ // POST /public-api/resources/users/v1.0/{user}/invoice-details
2598
+ export const invoiceDetailsCreateOrUpdateBody = z.union([z.object({
2599
+ requireInvoice: z.boolean(),
2600
+ invoiceType: z.enum(["individual", "company"]),
2601
+ individualName: z.string().optional(),
2602
+ individualPersonalId: z.string().optional(),
2603
+ individualTaxId: z.string().optional(),
2604
+ companyName: z.string().optional(),
2605
+ companyRegNo: z.string().optional(),
2606
+ companyTaxId: z.string().optional(),
2607
+ companyTaxAdministrationOfficeName: z.string().optional(),
2608
+ country: z.unknown().optional(),
2609
+ region: z.string().optional(),
2610
+ state: z.union([z.unknown(), z.unknown(), z.unknown(), z.unknown(), z.enum(["AB", "AR", "AG", "BC", "BH", "BN", "BT", "BV", "BR", "B", "BZ", "CL", "CS", "CT", "CV", "DB", "DJ", "GL", "GR", "GJ", "HR", "HD", "IL", "IS", "IF", "MM", "MH", "MS", "NT", "OT", "PH", "SM", "SJ", "SB", "SV", "TR", "TM", "TL", "VS", "VL", "VN"])]).optional(),
2611
+ city: z.string().optional(),
2612
+ postCode: z.string().optional(),
2613
+ address: z.string().optional()
2614
+ }), z.object({
2615
+ invoiceRequired: z.boolean(),
2616
+ clientType: z.enum(["individual", "company"]),
2617
+ name: z.string().optional(),
2618
+ email: z.string().optional(),
2619
+ mobilePhoneNumber: z.string().optional(),
2620
+ landlinePhoneNumber: z.string().optional(),
2621
+ taxId: z.string().optional(),
2622
+ country: z.unknown().optional(),
2623
+ city: z.string().optional(),
2624
+ postcode: z.string().optional(),
2625
+ address: z.string().optional()
2626
+ }), z.object({
2627
+ firstName: z.string(),
2628
+ lastName: z.string(),
2629
+ email: z.string(),
2630
+ phone: z.string().optional(),
2631
+ country: z.unknown().optional(),
2632
+ city: z.string().optional(),
2633
+ postcode: z.string().optional(),
2634
+ address: z.string().optional()
2635
+ }), z.object({
2636
+ invoiceType: z.enum(["EInvoice", "Company", "Donation"]),
2637
+ carrierType: z.enum(["Mobile", "Citizen", "GreenWorld"]).optional(),
2638
+ loveCode: z.string().optional(),
2639
+ mobileBarCode: z.string().optional(),
2640
+ citizenId: z.string().optional(),
2641
+ companyId: z.string().optional(),
2642
+ name: z.string(),
2643
+ email: z.string(),
2644
+ phone: z.string(),
2645
+ country: z.unknown().optional(),
2646
+ city: z.string().optional(),
2647
+ postcode: z.string().optional(),
2648
+ address: z.string().optional()
2649
+ })]);
2650
+ // GET /public-api/resources/users/v1.0/{user}/payment-methods
2651
+ // POST /public-api/resources/users/v1.0/{user}/payment-methods
2652
+ export const paymentMethodCreateBody = z.object({
2653
+ tokenizedType: z.enum(["card", "bank_transfer"]).optional(),
2654
+ bankTransferType: z.enum(["sepa"]).optional(),
2655
+ transactionId: z.number().optional()
2656
+ });
2657
+ // GET /public-api/resources/users/v1.0/{user}/payment-methods/{paymentMethodId}
2658
+ // DELETE /public-api/resources/users/v1.0/{user}/payment-methods/{paymentMethodId}
2659
+ // PATCH /public-api/resources/users/v1.0/{user}/payment-methods/{paymentMethodId}
2660
+ export const paymentMethodUpdateBody = z.object({
2661
+ default: z.boolean().optional()
2662
+ });
2663
+ // GET /public-api/resources/utilities/v1.0
2664
+ // POST /public-api/resources/utilities/v1.0
2665
+ export const createUtilityBody = z.object({
2666
+ name: z.string().min(1).max(255)
2667
+ });
2668
+ // GET /public-api/resources/utilities/v1.0/{utility}
2669
+ // PUT /public-api/resources/utilities/v1.0/{utility}
2670
+ export const updateUtilityBody = z.unknown();
2671
+ // DELETE /public-api/resources/utilities/v1.0/{utility}
2672
+ // GET /public-api/resources/vendor-error-codes/v2.0
2673
+ // POST /public-api/resources/vendor-error-codes/v2.0
2674
+ export const vendorErrorCodeCreateBody = z.object({
2675
+ id: z.number().int().optional(),
2676
+ vendorId: z.string(),
2677
+ errorCode: z.string(),
2678
+ errorCodeDescription: z.string().optional(),
2679
+ errorCodeCustomerAction: z.string().optional()
2680
+ });
2681
+ // GET /public-api/resources/vendor-error-codes/v2.0/{vendorErrorCode}
2682
+ // DELETE /public-api/resources/vendor-error-codes/v2.0/{vendorErrorCode}
2683
+ // PATCH /public-api/resources/vendor-error-codes/v2.0/{vendorErrorCode}
2684
+ export const vendorErrorCodeUpdateBody = z.unknown();
2685
+ // GET /public-api/resources/vouchers/v2.0
2686
+ // POST /public-api/resources/vouchers/v2.0
2687
+ export const voucherCreateDeprecatedBody = z.object({
2688
+ amount: z.number(),
2689
+ expireDate: z.string().optional(),
2690
+ description: z.string().optional()
2691
+ });
2692
+ // GET /public-api/resources/vouchers/v2.0/{voucher}
2693
+ // DELETE /public-api/resources/vouchers/v2.0/{voucher}
2694
+ // PATCH /public-api/resources/vouchers/v2.0/{voucher}
2695
+ export const voucherUpdateDeprecatedBody = z.object({
2696
+ status: z.enum(["enabled", "disabled"]).optional(),
2697
+ expireDate: z.string().optional(),
2698
+ amount: z.number()
2699
+ });
2700
+ // GET /public-api/resources/vouchers/v2.1
2701
+ // POST /public-api/resources/vouchers/v2.1
2702
+ export const voucherCreateBody = z.object({
2703
+ amount: z.number(),
2704
+ expireDate: z.string().optional(),
2705
+ validityPeriod: z.enum(["1 month", "3 months", "6 months", "1 year", "2 years", "3 years", "5 years"]).optional(),
2706
+ assignBeforeDate: z.string().optional(),
2707
+ description: z.string().optional(),
2708
+ prefix: z.string().min(3).max(3).optional(),
2709
+ title: z.array(z.object({
2710
+ locale: z.string().optional(),
2711
+ translation: z.string().optional()
2712
+ })).optional()
2713
+ });
2714
+ // GET /public-api/resources/vouchers/v2.1/{voucher}
2715
+ // DELETE /public-api/resources/vouchers/v2.1/{voucher}
2716
+ // PATCH /public-api/resources/vouchers/v2.1/{voucher}
2717
+ export const voucherUpdateBody = z.object({
2718
+ status: z.enum(["enabled", "disabled"]).optional(),
2719
+ expireDate: z.unknown().optional(),
2720
+ validityPeriod: z.unknown().optional(),
2721
+ assignBeforeDate: z.string().optional(),
2722
+ amount: z.number(),
2723
+ prefix: z.string().min(3).max(3).optional(),
2724
+ title: z.unknown().optional()
2725
+ });
2726
+ //# sourceMappingURL=schemas.js.map