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