Incoming requests payload validation with JSON schemas (#135)
[e-mobility-charging-stations-simulator.git] / src / assets / json-schemas / ocpp / 1.6 / SetChargingProfile.json
1 {
2 "$schema": "http://json-schema.org/draft-04/schema#",
3 "id": "urn:OCPP:1.6:2019:12:SetChargingProfileRequest",
4 "title": "SetChargingProfileRequest",
5 "type": "object",
6 "properties": {
7 "connectorId": {
8 "type": "integer"
9 },
10 "csChargingProfiles": {
11 "type": "object",
12 "properties": {
13 "chargingProfileId": {
14 "type": "integer"
15 },
16 "transactionId": {
17 "type": "integer"
18 },
19 "stackLevel": {
20 "type": "integer"
21 },
22 "chargingProfilePurpose": {
23 "type": "string",
24 "additionalProperties": false,
25 "enum": ["ChargePointMaxProfile", "TxDefaultProfile", "TxProfile"]
26 },
27 "chargingProfileKind": {
28 "type": "string",
29 "additionalProperties": false,
30 "enum": ["Absolute", "Recurring", "Relative"]
31 },
32 "recurrencyKind": {
33 "type": "string",
34 "additionalProperties": false,
35 "enum": ["Daily", "Weekly"]
36 },
37 "validFrom": {
38 "type": "string",
39 "format": "date-time"
40 },
41 "validTo": {
42 "type": "string",
43 "format": "date-time"
44 },
45 "chargingSchedule": {
46 "type": "object",
47 "properties": {
48 "duration": {
49 "type": "integer"
50 },
51 "startSchedule": {
52 "type": "string",
53 "format": "date-time"
54 },
55 "chargingRateUnit": {
56 "type": "string",
57 "additionalProperties": false,
58 "enum": ["A", "W"]
59 },
60 "chargingSchedulePeriod": {
61 "type": "array",
62 "items": {
63 "type": "object",
64 "properties": {
65 "startPeriod": {
66 "type": "integer"
67 },
68 "limit": {
69 "type": "number",
70 "multipleOf": 0.1
71 },
72 "numberPhases": {
73 "type": "integer"
74 }
75 },
76 "additionalProperties": false,
77 "required": ["startPeriod", "limit"]
78 }
79 },
80 "minChargingRate": {
81 "type": "number",
82 "multipleOf": 0.1
83 }
84 },
85 "additionalProperties": false,
86 "required": ["chargingRateUnit", "chargingSchedulePeriod"]
87 }
88 },
89 "additionalProperties": false,
90 "required": [
91 "chargingProfileId",
92 "stackLevel",
93 "chargingProfilePurpose",
94 "chargingProfileKind",
95 "chargingSchedule"
96 ]
97 }
98 },
99 "additionalProperties": false,
100 "required": ["connectorId", "csChargingProfiles"]
101 }