Fixes to OCA OCPP 2.0.1 JSON schemas
[e-mobility-charging-stations-simulator.git] / src / assets / json-schemas / ocpp / 2.0 / CustomerInformationRequest.json
CommitLineData
d270cc87 1{
98fc1389 2 "$schema": "http://json-schema.org/draft-07/schema#",
d270cc87 3 "$id": "urn:OCPP:Cp:2:2020:3:CustomerInformationRequest",
98fc1389 4 "$comment": "OCPP 2.0.1 FINAL",
d270cc87
JB
5 "definitions": {
6 "CustomDataType": {
7 "description": "This class does not get 'AdditionalProperties = false' in the schema generation, so it can be extended with arbitrary JSON properties to allow adding custom data.",
8 "javaType": "CustomData",
9 "type": "object",
10 "properties": {
11 "vendorId": {
12 "type": "string",
13 "maxLength": 255
14 }
15 },
16 "required": ["vendorId"]
17 },
18 "HashAlgorithmEnumType": {
19 "description": "Used algorithms for the hashes provided.\r\n",
20 "javaType": "HashAlgorithmEnum",
21 "type": "string",
22 "additionalProperties": false,
23 "enum": ["SHA256", "SHA384", "SHA512"]
24 },
25 "IdTokenEnumType": {
26 "description": "Enumeration of possible idToken types.\r\n",
27 "javaType": "IdTokenEnum",
28 "type": "string",
29 "additionalProperties": false,
30 "enum": [
31 "Central",
32 "eMAID",
33 "ISO14443",
34 "ISO15693",
35 "KeyCode",
36 "Local",
37 "MacAddress",
38 "NoAuthorization"
39 ]
40 },
41 "AdditionalInfoType": {
42 "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n",
43 "javaType": "AdditionalInfo",
44 "type": "object",
45 "additionalProperties": false,
46 "properties": {
47 "customData": {
48 "$ref": "#/definitions/CustomDataType"
49 },
50 "additionalIdToken": {
51 "description": "This field specifies the additional IdToken.\r\n",
52 "type": "string",
53 "maxLength": 36
54 },
55 "type": {
56 "description": "This defines the type of the additionalIdToken. This is a custom type, so the implementation needs to be agreed upon by all involved parties.\r\n",
57 "type": "string",
58 "maxLength": 50
59 }
60 },
61 "required": ["additionalIdToken", "type"]
62 },
63 "CertificateHashDataType": {
64 "javaType": "CertificateHashData",
65 "type": "object",
66 "additionalProperties": false,
67 "properties": {
68 "customData": {
69 "$ref": "#/definitions/CustomDataType"
70 },
71 "hashAlgorithm": {
72 "$ref": "#/definitions/HashAlgorithmEnumType"
73 },
74 "issuerNameHash": {
75 "description": "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n",
76 "type": "string",
77 "maxLength": 128
78 },
79 "issuerKeyHash": {
80 "description": "Hashed value of the issuers public key\r\n",
81 "type": "string",
82 "maxLength": 128
83 },
84 "serialNumber": {
85 "description": "The serial number of the certificate.\r\n",
86 "type": "string",
87 "maxLength": 40
88 }
89 },
90 "required": ["hashAlgorithm", "issuerNameHash", "issuerKeyHash", "serialNumber"]
91 },
92 "IdTokenType": {
93 "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n",
94 "javaType": "IdToken",
95 "type": "object",
96 "additionalProperties": false,
97 "properties": {
98 "customData": {
99 "$ref": "#/definitions/CustomDataType"
100 },
101 "additionalInfo": {
102 "type": "array",
103 "additionalItems": false,
104 "items": {
105 "$ref": "#/definitions/AdditionalInfoType"
106 },
107 "minItems": 1
108 },
109 "idToken": {
110 "description": "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n",
111 "type": "string",
112 "maxLength": 36
113 },
114 "type": {
115 "$ref": "#/definitions/IdTokenEnumType"
116 }
117 },
118 "required": ["idToken", "type"]
119 }
120 },
121 "type": "object",
122 "additionalProperties": false,
123 "properties": {
124 "customData": {
125 "$ref": "#/definitions/CustomDataType"
126 },
127 "customerCertificate": {
128 "$ref": "#/definitions/CertificateHashDataType"
129 },
130 "idToken": {
131 "$ref": "#/definitions/IdTokenType"
132 },
133 "requestId": {
134 "description": "The Id of the request.\r\n\r\n",
135 "type": "integer"
136 },
137 "report": {
138 "description": "Flag indicating whether the Charging Station should return NotifyCustomerInformationRequest messages containing information about the customer referred to.\r\n",
139 "type": "boolean"
140 },
141 "clear": {
142 "description": "Flag indicating whether the Charging Station should clear all information about the customer referred to.\r\n",
143 "type": "boolean"
144 },
145 "customerIdentifier": {
146 "description": "A (e.g. vendor specific) identifier of the customer this request refers to. This field contains a custom identifier other than IdToken and Certificate.\r\nOne of the possible identifiers (customerIdentifier, customerIdToken or customerCertificate) should be in the request message.\r\n",
147 "type": "string",
148 "maxLength": 64
149 }
150 },
151 "required": ["requestId", "report", "clear"]
152}