├── .github └── workflows │ └── main.yml ├── .gitignore ├── LICENSE.txt ├── README.md ├── pom.xml └── src ├── main ├── java │ └── de │ │ └── rwth │ │ └── idsg │ │ └── ocpp │ │ └── jaxb │ │ ├── JodaDateTimeConverter.java │ │ ├── RequestType.java │ │ └── ResponseType.java └── resources │ ├── OCPP-2.0.1_part3_JSON_schemas │ ├── AuthorizeRequest.json │ ├── AuthorizeResponse.json │ ├── BootNotificationRequest.json │ ├── BootNotificationResponse.json │ ├── CancelReservationRequest.json │ ├── CancelReservationResponse.json │ ├── CertificateSignedRequest.json │ ├── CertificateSignedResponse.json │ ├── ChangeAvailabilityRequest.json │ ├── ChangeAvailabilityResponse.json │ ├── ClearCacheRequest.json │ ├── ClearCacheResponse.json │ ├── ClearChargingProfileRequest.json │ ├── ClearChargingProfileResponse.json │ ├── ClearDisplayMessageRequest.json │ ├── ClearDisplayMessageResponse.json │ ├── ClearVariableMonitoringRequest.json │ ├── ClearVariableMonitoringResponse.json │ ├── ClearedChargingLimitRequest.json │ ├── ClearedChargingLimitResponse.json │ ├── CostUpdatedRequest.json │ ├── CostUpdatedResponse.json │ ├── CustomerInformationRequest.json │ ├── CustomerInformationResponse.json │ ├── DataTransferRequest.json │ ├── DataTransferResponse.json │ ├── DeleteCertificateRequest.json │ ├── DeleteCertificateResponse.json │ ├── FirmwareStatusNotificationRequest.json │ ├── FirmwareStatusNotificationResponse.json │ ├── Get15118EVCertificateRequest.json │ ├── Get15118EVCertificateResponse.json │ ├── GetBaseReportRequest.json │ ├── GetBaseReportResponse.json │ ├── GetCertificateStatusRequest.json │ ├── GetCertificateStatusResponse.json │ ├── GetChargingProfilesRequest.json │ ├── GetChargingProfilesResponse.json │ ├── GetCompositeScheduleRequest.json │ ├── GetCompositeScheduleResponse.json │ ├── GetDisplayMessagesRequest.json │ ├── GetDisplayMessagesResponse.json │ ├── GetInstalledCertificateIdsRequest.json │ ├── GetInstalledCertificateIdsResponse.json │ ├── GetLocalListVersionRequest.json │ ├── GetLocalListVersionResponse.json │ ├── GetLogRequest.json │ ├── GetLogResponse.json │ ├── GetMonitoringReportRequest.json │ ├── GetMonitoringReportResponse.json │ ├── GetReportRequest.json │ ├── GetReportResponse.json │ ├── GetTransactionStatusRequest.json │ ├── GetTransactionStatusResponse.json │ ├── GetVariablesRequest.json │ ├── GetVariablesResponse.json │ ├── HeartbeatRequest.json │ ├── HeartbeatResponse.json │ ├── InstallCertificateRequest.json │ ├── InstallCertificateResponse.json │ ├── LogStatusNotificationRequest.json │ ├── LogStatusNotificationResponse.json │ ├── MeterValuesRequest.json │ ├── MeterValuesResponse.json │ ├── NotifyChargingLimitRequest.json │ ├── NotifyChargingLimitResponse.json │ ├── NotifyCustomerInformationRequest.json │ ├── NotifyCustomerInformationResponse.json │ ├── NotifyDisplayMessagesRequest.json │ ├── NotifyDisplayMessagesResponse.json │ ├── NotifyEVChargingNeedsRequest.json │ ├── NotifyEVChargingNeedsResponse.json │ ├── NotifyEVChargingScheduleRequest.json │ ├── NotifyEVChargingScheduleResponse.json │ ├── NotifyEventRequest.json │ ├── NotifyEventResponse.json │ ├── NotifyMonitoringReportRequest.json │ ├── NotifyMonitoringReportResponse.json │ ├── NotifyReportRequest.json │ ├── NotifyReportResponse.json │ ├── PublishFirmwareRequest.json │ ├── PublishFirmwareResponse.json │ ├── PublishFirmwareStatusNotificationRequest.json │ ├── PublishFirmwareStatusNotificationResponse.json │ ├── ReportChargingProfilesRequest.json │ ├── ReportChargingProfilesResponse.json │ ├── RequestStartTransactionRequest.json │ ├── RequestStartTransactionResponse.json │ ├── RequestStopTransactionRequest.json │ ├── RequestStopTransactionResponse.json │ ├── ReservationStatusUpdateRequest.json │ ├── ReservationStatusUpdateResponse.json │ ├── ReserveNowRequest.json │ ├── ReserveNowResponse.json │ ├── ResetRequest.json │ ├── ResetResponse.json │ ├── SecurityEventNotificationRequest.json │ ├── SecurityEventNotificationResponse.json │ ├── SendLocalListRequest.json │ ├── SendLocalListResponse.json │ ├── SetChargingProfileRequest.json │ ├── SetChargingProfileResponse.json │ ├── SetDisplayMessageRequest.json │ ├── SetDisplayMessageResponse.json │ ├── SetMonitoringBaseRequest.json │ ├── SetMonitoringBaseResponse.json │ ├── SetMonitoringLevelRequest.json │ ├── SetMonitoringLevelResponse.json │ ├── SetNetworkProfileRequest.json │ ├── SetNetworkProfileResponse.json │ ├── SetVariableMonitoringRequest.json │ ├── SetVariableMonitoringResponse.json │ ├── SetVariablesRequest.json │ ├── SetVariablesResponse.json │ ├── SignCertificateRequest.json │ ├── SignCertificateResponse.json │ ├── StatusNotificationRequest.json │ ├── StatusNotificationResponse.json │ ├── TransactionEventRequest.json │ ├── TransactionEventResponse.json │ ├── TriggerMessageRequest.json │ ├── TriggerMessageResponse.json │ ├── UnlockConnectorRequest.json │ ├── UnlockConnectorResponse.json │ ├── UnpublishFirmwareRequest.json │ ├── UnpublishFirmwareResponse.json │ ├── UpdateFirmwareRequest.json │ └── UpdateFirmwareResponse.json │ ├── wsdl-binding │ ├── add_interface.xml │ ├── async_binding.xml │ └── ocpp_binding.xml │ └── wsdl │ ├── OCPP_CentralSystemService_1.6.wsdl │ ├── OCPP_ChargePointService_1.6.wsdl │ ├── centralsystemservice_0.wsdl │ ├── chargepointservice.wsdl │ ├── ocpp_centralsystemservice_1.5_final.wsdl │ └── ocpp_chargepointservice_1.5_final.wsdl └── test └── java └── de └── rwth └── idsg └── ocpp └── jaxb └── JodaDateTimeConverterTest.java /.github/workflows/main.yml: -------------------------------------------------------------------------------- 1 | name: Java CI 2 | 3 | on: [push] 4 | 5 | jobs: 6 | build: 7 | runs-on: ubuntu-latest 8 | 9 | steps: 10 | - uses: actions/checkout@v4 11 | - name: Set up JDK 12 | uses: actions/setup-java@v4 13 | with: 14 | java-version: '17' 15 | distribution: 'temurin' 16 | cache: maven 17 | - name: Build with Maven 18 | run: mvn --batch-mode --update-snapshots verify 19 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /target 2 | /.idea 3 | *.iml 4 | .DS_Store -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # ocpp-jaxb 2 | Java data model mappings for the following [OCPP](https://www.openchargealliance.org/protocols/) versions: 3 | * OCPP 1.2 (targets JSON and SOAP) 4 | * OCPP 1.5 (targets JSON and SOAP) 5 | * OCPP 1.6 (targets JSON and SOAP) 6 | * OCPP 2.0.1 (targets JSON, requires [Jackson](https://github.com/FasterXML/jackson)) 7 | 8 | The Java data model covers all requests and responses between the central system and charge points. 9 | 10 | The classes can be found within the following packages: 11 | * OCPP 1.2: `ocpp.cp._2010._08` and `ocpp.cs._2010._08` 12 | * OCPP 1.5: `ocpp.cp._2012._06` and `ocpp.cs._2012._06` 13 | * OCPP 1.6: `ocpp.cp._2015._10` and `ocpp.cs._2015._10` 14 | * OCPP 2.0.1: `ocpp._2020._03` 15 | 16 | # How to use it? 17 | 18 | This package is not pushed to Maven central... yet. But still you can use it via [jitpack.io](https://jitpack.io/docs/). 19 | 20 | Add the jitpack repository to your maven repositories: 21 | 22 | ``` 23 | 24 | ... 25 | 26 | JitPack 27 | https://jitpack.io 28 | 29 | ... 30 | 31 | ``` 32 | 33 | Then, add the following to your pom.xml (use any version from [github tags page](https://github.com/RWTH-i5-IDSG/ocpp-jaxb/tags)): 34 | 35 | ``` 36 | 37 | com.github.steve-community 38 | ocpp-jaxb 39 | ${ocpp-jaxb.version} 40 | 41 | ``` 42 | -------------------------------------------------------------------------------- /src/main/java/de/rwth/idsg/ocpp/jaxb/JodaDateTimeConverter.java: -------------------------------------------------------------------------------- 1 | package de.rwth.idsg.ocpp.jaxb; 2 | 3 | import org.joda.time.DateTime; 4 | import org.joda.time.format.DateTimeFormatter; 5 | import org.joda.time.format.DateTimeFormatterBuilder; 6 | 7 | import jakarta.xml.bind.annotation.adapters.XmlAdapter; 8 | 9 | import static org.joda.time.format.ISODateTimeFormat.date; 10 | 11 | /** 12 | * Joda-Time and XSD represent data and time information according to ISO 8601. 13 | * 14 | * @author Sevket Goekay 15 | * @since 20.10.2014 16 | */ 17 | public class JodaDateTimeConverter extends XmlAdapter { 18 | 19 | private static final DateTimeFormatter formatter = dateTimeParser(); 20 | 21 | @Override 22 | public DateTime unmarshal(String v) throws Exception { 23 | if (isNullOrEmpty(v)) { 24 | return null; 25 | } else { 26 | return DateTime.parse(v, formatter); 27 | } 28 | } 29 | 30 | @Override 31 | public String marshal(DateTime v) throws Exception { 32 | if (v == null) { 33 | return null; 34 | } else { 35 | return v.toString(); 36 | } 37 | } 38 | 39 | /** 40 | * Because I did not want to include Guava or similar only for this. 41 | */ 42 | private static boolean isNullOrEmpty(String string) { 43 | return string == null || string.isEmpty(); 44 | } 45 | 46 | /** 47 | * A custom DateTimeFormatter that follows the strictness and flexibility of XSD:dateTime (ISO 8601). 48 | * This exact composition (with optional fields) is not present under {@link org.joda.time.format.ISODateTimeFormat}. 49 | */ 50 | private static DateTimeFormatter dateTimeParser() { 51 | return new DateTimeFormatterBuilder() 52 | .append(date()) 53 | .appendLiteral('T') 54 | .append(hourElement()) 55 | .append(minuteElement()) 56 | .append(secondElement()) 57 | .appendOptional(fractionElement().getParser()) 58 | .appendOptional(offsetElement().getParser()) 59 | .toFormatter(); 60 | } 61 | 62 | // ------------------------------------------------------------------------- 63 | // Copy-paste from "private" methods in ISODateTimeFormat 64 | // ------------------------------------------------------------------------- 65 | 66 | private static DateTimeFormatter hourElement() { 67 | return new DateTimeFormatterBuilder() 68 | .appendHourOfDay(2) 69 | .toFormatter(); 70 | } 71 | 72 | private static DateTimeFormatter minuteElement() { 73 | return new DateTimeFormatterBuilder() 74 | .appendLiteral(':') 75 | .appendMinuteOfHour(2) 76 | .toFormatter(); 77 | } 78 | 79 | private static DateTimeFormatter secondElement() { 80 | return new DateTimeFormatterBuilder() 81 | .appendLiteral(':') 82 | .appendSecondOfMinute(2) 83 | .toFormatter(); 84 | } 85 | 86 | private static DateTimeFormatter fractionElement() { 87 | return new DateTimeFormatterBuilder() 88 | .appendLiteral('.') 89 | // Support parsing up to nanosecond precision even though 90 | // those extra digits will be dropped. 91 | .appendFractionOfSecond(3, 9) 92 | .toFormatter(); 93 | } 94 | 95 | private static DateTimeFormatter offsetElement() { 96 | return new DateTimeFormatterBuilder() 97 | .appendTimeZoneOffset("Z", true, 2, 4) 98 | .toFormatter(); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /src/main/java/de/rwth/idsg/ocpp/jaxb/RequestType.java: -------------------------------------------------------------------------------- 1 | package de.rwth.idsg.ocpp.jaxb; 2 | 3 | /** 4 | * To be implemented by all OCPP requests 5 | * 6 | * @author Sevket Goekay 7 | * @since 12.03.2015 8 | */ 9 | public interface RequestType { 10 | } 11 | -------------------------------------------------------------------------------- /src/main/java/de/rwth/idsg/ocpp/jaxb/ResponseType.java: -------------------------------------------------------------------------------- 1 | package de.rwth.idsg.ocpp.jaxb; 2 | 3 | /** 4 | * To be implemented by all OCPP responses 5 | * 6 | * @author Sevket Goekay 7 | * @since 12.03.2015 8 | */ 9 | public interface ResponseType { 10 | } 11 | -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/BootNotificationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:BootNotificationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "BootReasonEnumType": { 21 | "description": "This contains the reason for sending this message to the CSMS.\r\n", 22 | "javaType": "BootReasonEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "ApplicationReset", 27 | "FirmwareUpdate", 28 | "LocalReset", 29 | "PowerUp", 30 | "RemoteReset", 31 | "ScheduledReset", 32 | "Triggered", 33 | "Unknown", 34 | "Watchdog" 35 | ] 36 | }, 37 | "ChargingStationType": { 38 | "description": "Charge_ Point\r\nurn:x-oca:ocpp:uid:2:233122\r\nThe physical system where an Electrical Vehicle (EV) can be charged.\r\n", 39 | "javaType": "ChargingStation", 40 | "type": "object", 41 | "additionalProperties": false, 42 | "properties": { 43 | "customData": { 44 | "$ref": "#/definitions/CustomDataType" 45 | }, 46 | "serialNumber": { 47 | "description": "Device. Serial_ Number. Serial_ Number\r\nurn:x-oca:ocpp:uid:1:569324\r\nVendor-specific device identifier.\r\n", 48 | "type": "string", 49 | "maxLength": 25 50 | }, 51 | "model": { 52 | "description": "Device. Model. CI20_ Text\r\nurn:x-oca:ocpp:uid:1:569325\r\nDefines the model of the device.\r\n", 53 | "type": "string", 54 | "maxLength": 20 55 | }, 56 | "modem": { 57 | "$ref": "#/definitions/ModemType" 58 | }, 59 | "vendorName": { 60 | "description": "Identifies the vendor (not necessarily in a unique manner).\r\n", 61 | "type": "string", 62 | "maxLength": 50 63 | }, 64 | "firmwareVersion": { 65 | "description": "This contains the firmware version of the Charging Station.\r\n\r\n", 66 | "type": "string", 67 | "maxLength": 50 68 | } 69 | }, 70 | "required": [ 71 | "model", 72 | "vendorName" 73 | ] 74 | }, 75 | "ModemType": { 76 | "description": "Wireless_ Communication_ Module\r\nurn:x-oca:ocpp:uid:2:233306\r\nDefines parameters required for initiating and maintaining wireless communication with other devices.\r\n", 77 | "javaType": "Modem", 78 | "type": "object", 79 | "additionalProperties": false, 80 | "properties": { 81 | "customData": { 82 | "$ref": "#/definitions/CustomDataType" 83 | }, 84 | "iccid": { 85 | "description": "Wireless_ Communication_ Module. ICCID. CI20_ Text\r\nurn:x-oca:ocpp:uid:1:569327\r\nThis contains the ICCID of the modem’s SIM card.\r\n", 86 | "type": "string", 87 | "maxLength": 20 88 | }, 89 | "imsi": { 90 | "description": "Wireless_ Communication_ Module. IMSI. CI20_ Text\r\nurn:x-oca:ocpp:uid:1:569328\r\nThis contains the IMSI of the modem’s SIM card.\r\n", 91 | "type": "string", 92 | "maxLength": 20 93 | } 94 | } 95 | } 96 | }, 97 | "type": "object", 98 | "additionalProperties": false, 99 | "properties": { 100 | "customData": { 101 | "$ref": "#/definitions/CustomDataType" 102 | }, 103 | "chargingStation": { 104 | "$ref": "#/definitions/ChargingStationType" 105 | }, 106 | "reason": { 107 | "$ref": "#/definitions/BootReasonEnumType" 108 | } 109 | }, 110 | "required": [ 111 | "reason", 112 | "chargingStation" 113 | ] 114 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/BootNotificationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:BootNotificationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "RegistrationStatusEnumType": { 21 | "description": "This contains whether the Charging Station has been registered\r\nwithin the CSMS.\r\n", 22 | "javaType": "RegistrationStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Pending", 28 | "Rejected" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "currentTime": { 63 | "description": "This contains the CSMS’s current time.\r\n", 64 | "type": "string", 65 | "format": "date-time" 66 | }, 67 | "interval": { 68 | "description": "When <<cmn_registrationstatusenumtype,Status>> is Accepted, this contains the heartbeat interval in seconds. If the CSMS returns something other than Accepted, the value of the interval field indicates the minimum wait time before sending a next BootNotification request.\r\n", 69 | "type": "integer" 70 | }, 71 | "status": { 72 | "$ref": "#/definitions/RegistrationStatusEnumType" 73 | }, 74 | "statusInfo": { 75 | "$ref": "#/definitions/StatusInfoType" 76 | } 77 | }, 78 | "required": [ 79 | "currentTime", 80 | "interval", 81 | "status" 82 | ] 83 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/CancelReservationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:CancelReservationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "reservationId": { 28 | "description": "Id of the reservation to cancel.\r\n", 29 | "type": "integer" 30 | } 31 | }, 32 | "required": [ 33 | "reservationId" 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/CancelReservationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:CancelReservationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "CancelReservationStatusEnumType": { 21 | "description": "This indicates the success or failure of the canceling of a reservation by CSMS.\r\n", 22 | "javaType": "CancelReservationStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/CancelReservationStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/CertificateSignedRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:CertificateSignedRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "CertificateSigningUseEnumType": { 21 | "description": "Indicates the type of the signed certificate that is returned. When omitted the certificate is used for both the 15118 connection (if implemented) and the Charging Station to CSMS connection. This field is required when a typeOfCertificate was included in the <<signcertificaterequest,SignCertificateRequest>> that requested this certificate to be signed AND both the 15118 connection and the Charging Station connection are implemented.\r\n\r\n", 22 | "javaType": "CertificateSigningUseEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "ChargingStationCertificate", 27 | "V2GCertificate" 28 | ] 29 | } 30 | }, 31 | "type": "object", 32 | "additionalProperties": false, 33 | "properties": { 34 | "customData": { 35 | "$ref": "#/definitions/CustomDataType" 36 | }, 37 | "certificateChain": { 38 | "description": "The signed PEM encoded X.509 certificate. This can also contain the necessary sub CA certificates. In that case, the order of the bundle should follow the certificate chain, starting from the leaf certificate.\r\n\r\nThe Configuration Variable <<configkey-max-certificate-chain-size,MaxCertificateChainSize>> can be used to limit the maximum size of this field.\r\n", 39 | "type": "string", 40 | "maxLength": 10000 41 | }, 42 | "certificateType": { 43 | "$ref": "#/definitions/CertificateSigningUseEnumType" 44 | } 45 | }, 46 | "required": [ 47 | "certificateChain" 48 | ] 49 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/CertificateSignedResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:CertificateSignedResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "CertificateSignedStatusEnumType": { 21 | "description": "Returns whether certificate signing has been accepted, otherwise rejected.\r\n", 22 | "javaType": "CertificateSignedStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/CertificateSignedStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ChangeAvailabilityRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ChangeAvailabilityRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "OperationalStatusEnumType": { 21 | "description": "This contains the type of availability change that the Charging Station should perform.\r\n\r\n", 22 | "javaType": "OperationalStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Inoperative", 27 | "Operative" 28 | ] 29 | }, 30 | "EVSEType": { 31 | "description": "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n", 32 | "javaType": "EVSE", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "id": { 40 | "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", 41 | "type": "integer" 42 | }, 43 | "connectorId": { 44 | "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", 45 | "type": "integer" 46 | } 47 | }, 48 | "required": [ 49 | "id" 50 | ] 51 | } 52 | }, 53 | "type": "object", 54 | "additionalProperties": false, 55 | "properties": { 56 | "customData": { 57 | "$ref": "#/definitions/CustomDataType" 58 | }, 59 | "evse": { 60 | "$ref": "#/definitions/EVSEType" 61 | }, 62 | "operationalStatus": { 63 | "$ref": "#/definitions/OperationalStatusEnumType" 64 | } 65 | }, 66 | "required": [ 67 | "operationalStatus" 68 | ] 69 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ChangeAvailabilityResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ChangeAvailabilityResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ChangeAvailabilityStatusEnumType": { 21 | "description": "This indicates whether the Charging Station is able to perform the availability change.\r\n", 22 | "javaType": "ChangeAvailabilityStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "Scheduled" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/ChangeAvailabilityStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearCacheRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearCacheRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearCacheResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearCacheResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ClearCacheStatusEnumType": { 21 | "description": "Accepted if the Charging Station has executed the request, otherwise rejected.\r\n", 22 | "javaType": "ClearCacheStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/ClearCacheStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearChargingProfileRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearChargingProfileRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ChargingProfilePurposeEnumType": { 21 | "description": "Charging_ Profile. Charging_ Profile_ Purpose. Charging_ Profile_ Purpose_ Code\r\nurn:x-oca:ocpp:uid:1:569231\r\nSpecifies to purpose of the charging profiles that will be cleared, if they meet the other criteria in the request.\r\n", 22 | "javaType": "ChargingProfilePurposeEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "ChargingStationExternalConstraints", 27 | "ChargingStationMaxProfile", 28 | "TxDefaultProfile", 29 | "TxProfile" 30 | ] 31 | }, 32 | "ClearChargingProfileType": { 33 | "description": "Charging_ Profile\r\nurn:x-oca:ocpp:uid:2:233255\r\nA ChargingProfile consists of a ChargingSchedule, describing the amount of power or current that can be delivered per time interval.\r\n", 34 | "javaType": "ClearChargingProfile", 35 | "type": "object", 36 | "additionalProperties": false, 37 | "properties": { 38 | "customData": { 39 | "$ref": "#/definitions/CustomDataType" 40 | }, 41 | "evseId": { 42 | "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nSpecifies the id of the EVSE for which to clear charging profiles. An evseId of zero (0) specifies the charging profile for the overall Charging Station. Absence of this parameter means the clearing applies to all charging profiles that match the other criteria in the request.\r\n\r\n", 43 | "type": "integer" 44 | }, 45 | "chargingProfilePurpose": { 46 | "$ref": "#/definitions/ChargingProfilePurposeEnumType" 47 | }, 48 | "stackLevel": { 49 | "description": "Charging_ Profile. Stack_ Level. Counter\r\nurn:x-oca:ocpp:uid:1:569230\r\nSpecifies the stackLevel for which charging profiles will be cleared, if they meet the other criteria in the request.\r\n", 50 | "type": "integer" 51 | } 52 | } 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "chargingProfileId": { 62 | "description": "The Id of the charging profile to clear.\r\n", 63 | "type": "integer" 64 | }, 65 | "chargingProfileCriteria": { 66 | "$ref": "#/definitions/ClearChargingProfileType" 67 | } 68 | } 69 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearChargingProfileResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearChargingProfileResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ClearChargingProfileStatusEnumType": { 21 | "description": "Indicates if the Charging Station was able to execute the request.\r\n", 22 | "javaType": "ClearChargingProfileStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Unknown" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/ClearChargingProfileStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearDisplayMessageRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearDisplayMessageRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "id": { 28 | "description": "Id of the message that SHALL be removed from the Charging Station.\r\n", 29 | "type": "integer" 30 | } 31 | }, 32 | "required": [ 33 | "id" 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearDisplayMessageResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearDisplayMessageResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ClearMessageStatusEnumType": { 21 | "description": "Returns whether the Charging Station has been able to remove the message.\r\n", 22 | "javaType": "ClearMessageStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Unknown" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/ClearMessageStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearVariableMonitoringRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearVariableMonitoringRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "id": { 28 | "description": "List of the monitors to be cleared, identified by there Id.\r\n", 29 | "type": "array", 30 | "additionalItems": false, 31 | "items": { 32 | "type": "integer" 33 | }, 34 | "minItems": 1 35 | } 36 | }, 37 | "required": [ 38 | "id" 39 | ] 40 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearVariableMonitoringResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearVariableMonitoringResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ClearMonitoringStatusEnumType": { 21 | "description": "Result of the clear request for this monitor, identified by its Id.\r\n\r\n", 22 | "javaType": "ClearMonitoringStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "NotFound" 29 | ] 30 | }, 31 | "ClearMonitoringResultType": { 32 | "javaType": "ClearMonitoringResult", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "status": { 40 | "$ref": "#/definitions/ClearMonitoringStatusEnumType" 41 | }, 42 | "id": { 43 | "description": "Id of the monitor of which a clear was requested.\r\n\r\n", 44 | "type": "integer" 45 | }, 46 | "statusInfo": { 47 | "$ref": "#/definitions/StatusInfoType" 48 | } 49 | }, 50 | "required": [ 51 | "status", 52 | "id" 53 | ] 54 | }, 55 | "StatusInfoType": { 56 | "description": "Element providing more information about the status.\r\n", 57 | "javaType": "StatusInfo", 58 | "type": "object", 59 | "additionalProperties": false, 60 | "properties": { 61 | "customData": { 62 | "$ref": "#/definitions/CustomDataType" 63 | }, 64 | "reasonCode": { 65 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 66 | "type": "string", 67 | "maxLength": 20 68 | }, 69 | "additionalInfo": { 70 | "description": "Additional text to provide detailed information.\r\n", 71 | "type": "string", 72 | "maxLength": 512 73 | } 74 | }, 75 | "required": [ 76 | "reasonCode" 77 | ] 78 | } 79 | }, 80 | "type": "object", 81 | "additionalProperties": false, 82 | "properties": { 83 | "customData": { 84 | "$ref": "#/definitions/CustomDataType" 85 | }, 86 | "clearMonitoringResult": { 87 | "type": "array", 88 | "additionalItems": false, 89 | "items": { 90 | "$ref": "#/definitions/ClearMonitoringResultType" 91 | }, 92 | "minItems": 1 93 | } 94 | }, 95 | "required": [ 96 | "clearMonitoringResult" 97 | ] 98 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearedChargingLimitRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearedChargingLimitRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ChargingLimitSourceEnumType": { 21 | "description": "Source of the charging limit.\r\n", 22 | "javaType": "ChargingLimitSourceEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "EMS", 27 | "Other", 28 | "SO", 29 | "CSO" 30 | ] 31 | } 32 | }, 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "chargingLimitSource": { 40 | "$ref": "#/definitions/ChargingLimitSourceEnumType" 41 | }, 42 | "evseId": { 43 | "description": "EVSE Identifier.\r\n", 44 | "type": "integer" 45 | } 46 | }, 47 | "required": [ 48 | "chargingLimitSource" 49 | ] 50 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ClearedChargingLimitResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ClearedChargingLimitResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/CostUpdatedRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:CostUpdatedRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "totalCost": { 28 | "description": "Current total cost, based on the information known by the CSMS, of the transaction including taxes. In the currency configured with the configuration Variable: [<<configkey-currency, Currency>>]\r\n\r\n", 29 | "type": "number" 30 | }, 31 | "transactionId": { 32 | "description": "Transaction Id of the transaction the current cost are asked for.\r\n\r\n", 33 | "type": "string", 34 | "maxLength": 36 35 | } 36 | }, 37 | "required": [ 38 | "totalCost", 39 | "transactionId" 40 | ] 41 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/CostUpdatedResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:CostUpdatedResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/CustomerInformationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:CustomerInformationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "CustomerInformationStatusEnumType": { 21 | "description": "Indicates whether the request was accepted.\r\n", 22 | "javaType": "CustomerInformationStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "Invalid" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/CustomerInformationStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/DataTransferRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:DataTransferRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "messageId": { 28 | "description": "May be used to indicate a specific message or implementation.\r\n", 29 | "type": "string", 30 | "maxLength": 50 31 | }, 32 | "data": { 33 | "description": "Data without specified length or format. This needs to be decided by both parties (Open to implementation).\r\n" 34 | }, 35 | "vendorId": { 36 | "description": "This identifies the Vendor specific implementation\r\n\r\n", 37 | "type": "string", 38 | "maxLength": 255 39 | } 40 | }, 41 | "required": [ 42 | "vendorId" 43 | ] 44 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/DataTransferResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:DataTransferResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "DataTransferStatusEnumType": { 21 | "description": "This indicates the success or failure of the data transfer.\r\n", 22 | "javaType": "DataTransferStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "UnknownMessageId", 29 | "UnknownVendorId" 30 | ] 31 | }, 32 | "StatusInfoType": { 33 | "description": "Element providing more information about the status.\r\n", 34 | "javaType": "StatusInfo", 35 | "type": "object", 36 | "additionalProperties": false, 37 | "properties": { 38 | "customData": { 39 | "$ref": "#/definitions/CustomDataType" 40 | }, 41 | "reasonCode": { 42 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 43 | "type": "string", 44 | "maxLength": 20 45 | }, 46 | "additionalInfo": { 47 | "description": "Additional text to provide detailed information.\r\n", 48 | "type": "string", 49 | "maxLength": 512 50 | } 51 | }, 52 | "required": [ 53 | "reasonCode" 54 | ] 55 | } 56 | }, 57 | "type": "object", 58 | "additionalProperties": false, 59 | "properties": { 60 | "customData": { 61 | "$ref": "#/definitions/CustomDataType" 62 | }, 63 | "status": { 64 | "$ref": "#/definitions/DataTransferStatusEnumType" 65 | }, 66 | "statusInfo": { 67 | "$ref": "#/definitions/StatusInfoType" 68 | }, 69 | "data": { 70 | "description": "Data without specified length or format, in response to request.\r\n" 71 | } 72 | }, 73 | "required": [ 74 | "status" 75 | ] 76 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/DeleteCertificateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:DeleteCertificateRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "HashAlgorithmEnumType": { 21 | "description": "Used algorithms for the hashes provided.\r\n", 22 | "javaType": "HashAlgorithmEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "SHA256", 27 | "SHA384", 28 | "SHA512" 29 | ] 30 | }, 31 | "CertificateHashDataType": { 32 | "javaType": "CertificateHashData", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "hashAlgorithm": { 40 | "$ref": "#/definitions/HashAlgorithmEnumType" 41 | }, 42 | "issuerNameHash": { 43 | "description": "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n", 44 | "type": "string", 45 | "maxLength": 128 46 | }, 47 | "issuerKeyHash": { 48 | "description": "Hashed value of the issuers public key\r\n", 49 | "type": "string", 50 | "maxLength": 128 51 | }, 52 | "serialNumber": { 53 | "description": "The serial number of the certificate.\r\n", 54 | "type": "string", 55 | "maxLength": 40 56 | } 57 | }, 58 | "required": [ 59 | "hashAlgorithm", 60 | "issuerNameHash", 61 | "issuerKeyHash", 62 | "serialNumber" 63 | ] 64 | } 65 | }, 66 | "type": "object", 67 | "additionalProperties": false, 68 | "properties": { 69 | "customData": { 70 | "$ref": "#/definitions/CustomDataType" 71 | }, 72 | "certificateHashData": { 73 | "$ref": "#/definitions/CertificateHashDataType" 74 | } 75 | }, 76 | "required": [ 77 | "certificateHashData" 78 | ] 79 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/DeleteCertificateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:DeleteCertificateResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "DeleteCertificateStatusEnumType": { 21 | "description": "Charging Station indicates if it can process the request.\r\n", 22 | "javaType": "DeleteCertificateStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Failed", 28 | "NotFound" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/DeleteCertificateStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/FirmwareStatusNotificationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:FirmwareStatusNotificationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "FirmwareStatusEnumType": { 21 | "description": "This contains the progress status of the firmware installation.\r\n", 22 | "javaType": "FirmwareStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Downloaded", 27 | "DownloadFailed", 28 | "Downloading", 29 | "DownloadScheduled", 30 | "DownloadPaused", 31 | "Idle", 32 | "InstallationFailed", 33 | "Installing", 34 | "Installed", 35 | "InstallRebooting", 36 | "InstallScheduled", 37 | "InstallVerificationFailed", 38 | "InvalidSignature", 39 | "SignatureVerified" 40 | ] 41 | } 42 | }, 43 | "type": "object", 44 | "additionalProperties": false, 45 | "properties": { 46 | "customData": { 47 | "$ref": "#/definitions/CustomDataType" 48 | }, 49 | "status": { 50 | "$ref": "#/definitions/FirmwareStatusEnumType" 51 | }, 52 | "requestId": { 53 | "description": "The request id that was provided in the\r\nUpdateFirmwareRequest that started this firmware update.\r\nThis field is mandatory, unless the message was triggered by a TriggerMessageRequest AND there is no firmware update ongoing.\r\n", 54 | "type": "integer" 55 | } 56 | }, 57 | "required": [ 58 | "status" 59 | ] 60 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/FirmwareStatusNotificationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:FirmwareStatusNotificationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/Get15118EVCertificateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:Get15118EVCertificateRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "CertificateActionEnumType": { 21 | "description": "Defines whether certificate needs to be installed or updated.\r\n", 22 | "javaType": "CertificateActionEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Install", 27 | "Update" 28 | ] 29 | } 30 | }, 31 | "type": "object", 32 | "additionalProperties": false, 33 | "properties": { 34 | "customData": { 35 | "$ref": "#/definitions/CustomDataType" 36 | }, 37 | "iso15118SchemaVersion": { 38 | "description": "Schema version currently used for the 15118 session between EV and Charging Station. Needed for parsing of the EXI stream by the CSMS.\r\n\r\n", 39 | "type": "string", 40 | "maxLength": 50 41 | }, 42 | "action": { 43 | "$ref": "#/definitions/CertificateActionEnumType" 44 | }, 45 | "exiRequest": { 46 | "description": "Raw CertificateInstallationReq request from EV, Base64 encoded.\r\n", 47 | "type": "string", 48 | "maxLength": 5600 49 | } 50 | }, 51 | "required": [ 52 | "iso15118SchemaVersion", 53 | "action", 54 | "exiRequest" 55 | ] 56 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/Get15118EVCertificateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:Get15118EVCertificateResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "Iso15118EVCertificateStatusEnumType": { 21 | "description": "Indicates whether the message was processed properly.\r\n", 22 | "javaType": "Iso15118EVCertificateStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Failed" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/Iso15118EVCertificateStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | }, 67 | "exiResponse": { 68 | "description": "Raw CertificateInstallationRes response for the EV, Base64 encoded.\r\n", 69 | "type": "string", 70 | "maxLength": 5600 71 | } 72 | }, 73 | "required": [ 74 | "status", 75 | "exiResponse" 76 | ] 77 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetBaseReportRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetBaseReportRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ReportBaseEnumType": { 21 | "description": "This field specifies the report base.\r\n", 22 | "javaType": "ReportBaseEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "ConfigurationInventory", 27 | "FullInventory", 28 | "SummaryInventory" 29 | ] 30 | } 31 | }, 32 | "type": "object", 33 | "additionalProperties": false, 34 | "properties": { 35 | "customData": { 36 | "$ref": "#/definitions/CustomDataType" 37 | }, 38 | "requestId": { 39 | "description": "The Id of the request.\r\n", 40 | "type": "integer" 41 | }, 42 | "reportBase": { 43 | "$ref": "#/definitions/ReportBaseEnumType" 44 | } 45 | }, 46 | "required": [ 47 | "requestId", 48 | "reportBase" 49 | ] 50 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetBaseReportResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetBaseReportResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericDeviceModelStatusEnumType": { 21 | "description": "This indicates whether the Charging Station is able to accept this request.\r\n", 22 | "javaType": "GenericDeviceModelStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "NotSupported", 29 | "EmptyResultSet" 30 | ] 31 | }, 32 | "StatusInfoType": { 33 | "description": "Element providing more information about the status.\r\n", 34 | "javaType": "StatusInfo", 35 | "type": "object", 36 | "additionalProperties": false, 37 | "properties": { 38 | "customData": { 39 | "$ref": "#/definitions/CustomDataType" 40 | }, 41 | "reasonCode": { 42 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 43 | "type": "string", 44 | "maxLength": 20 45 | }, 46 | "additionalInfo": { 47 | "description": "Additional text to provide detailed information.\r\n", 48 | "type": "string", 49 | "maxLength": 512 50 | } 51 | }, 52 | "required": [ 53 | "reasonCode" 54 | ] 55 | } 56 | }, 57 | "type": "object", 58 | "additionalProperties": false, 59 | "properties": { 60 | "customData": { 61 | "$ref": "#/definitions/CustomDataType" 62 | }, 63 | "status": { 64 | "$ref": "#/definitions/GenericDeviceModelStatusEnumType" 65 | }, 66 | "statusInfo": { 67 | "$ref": "#/definitions/StatusInfoType" 68 | } 69 | }, 70 | "required": [ 71 | "status" 72 | ] 73 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetCertificateStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetCertificateStatusRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "HashAlgorithmEnumType": { 21 | "description": "Used algorithms for the hashes provided.\r\n", 22 | "javaType": "HashAlgorithmEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "SHA256", 27 | "SHA384", 28 | "SHA512" 29 | ] 30 | }, 31 | "OCSPRequestDataType": { 32 | "javaType": "OCSPRequestData", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "hashAlgorithm": { 40 | "$ref": "#/definitions/HashAlgorithmEnumType" 41 | }, 42 | "issuerNameHash": { 43 | "description": "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n", 44 | "type": "string", 45 | "maxLength": 128 46 | }, 47 | "issuerKeyHash": { 48 | "description": "Hashed value of the issuers public key\r\n", 49 | "type": "string", 50 | "maxLength": 128 51 | }, 52 | "serialNumber": { 53 | "description": "The serial number of the certificate.\r\n", 54 | "type": "string", 55 | "maxLength": 40 56 | }, 57 | "responderURL": { 58 | "description": "This contains the responder URL (Case insensitive). \r\n\r\n", 59 | "type": "string", 60 | "maxLength": 512 61 | } 62 | }, 63 | "required": [ 64 | "hashAlgorithm", 65 | "issuerNameHash", 66 | "issuerKeyHash", 67 | "serialNumber", 68 | "responderURL" 69 | ] 70 | } 71 | }, 72 | "type": "object", 73 | "additionalProperties": false, 74 | "properties": { 75 | "customData": { 76 | "$ref": "#/definitions/CustomDataType" 77 | }, 78 | "ocspRequestData": { 79 | "$ref": "#/definitions/OCSPRequestDataType" 80 | } 81 | }, 82 | "required": [ 83 | "ocspRequestData" 84 | ] 85 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetCertificateStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetCertificateStatusResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GetCertificateStatusEnumType": { 21 | "description": "This indicates whether the charging station was able to retrieve the OCSP certificate status.\r\n", 22 | "javaType": "GetCertificateStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Failed" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/GetCertificateStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | }, 67 | "ocspResult": { 68 | "description": "OCSPResponse class as defined in <<ref-ocpp_security_24, IETF RFC 6960>>. DER encoded (as defined in <<ref-ocpp_security_24, IETF RFC 6960>>), and then base64 encoded. MAY only be omitted when status is not Accepted.\r\n", 69 | "type": "string", 70 | "maxLength": 5500 71 | } 72 | }, 73 | "required": [ 74 | "status" 75 | ] 76 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetChargingProfilesRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetChargingProfilesRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ChargingLimitSourceEnumType": { 21 | "javaType": "ChargingLimitSourceEnum", 22 | "type": "string", 23 | "additionalProperties": false, 24 | "enum": [ 25 | "EMS", 26 | "Other", 27 | "SO", 28 | "CSO" 29 | ] 30 | }, 31 | "ChargingProfilePurposeEnumType": { 32 | "description": "Charging_ Profile. Charging_ Profile_ Purpose. Charging_ Profile_ Purpose_ Code\r\nurn:x-oca:ocpp:uid:1:569231\r\nDefines the purpose of the schedule transferred by this profile\r\n", 33 | "javaType": "ChargingProfilePurposeEnum", 34 | "type": "string", 35 | "additionalProperties": false, 36 | "enum": [ 37 | "ChargingStationExternalConstraints", 38 | "ChargingStationMaxProfile", 39 | "TxDefaultProfile", 40 | "TxProfile" 41 | ] 42 | }, 43 | "ChargingProfileCriterionType": { 44 | "description": "Charging_ Profile\r\nurn:x-oca:ocpp:uid:2:233255\r\nA ChargingProfile consists of ChargingSchedule, describing the amount of power or current that can be delivered per time interval.\r\n", 45 | "javaType": "ChargingProfileCriterion", 46 | "type": "object", 47 | "additionalProperties": false, 48 | "properties": { 49 | "customData": { 50 | "$ref": "#/definitions/CustomDataType" 51 | }, 52 | "chargingProfilePurpose": { 53 | "$ref": "#/definitions/ChargingProfilePurposeEnumType" 54 | }, 55 | "stackLevel": { 56 | "description": "Charging_ Profile. Stack_ Level. Counter\r\nurn:x-oca:ocpp:uid:1:569230\r\nValue determining level in hierarchy stack of profiles. Higher values have precedence over lower values. Lowest level is 0.\r\n", 57 | "type": "integer" 58 | }, 59 | "chargingProfileId": { 60 | "description": "List of all the chargingProfileIds requested. Any ChargingProfile that matches one of these profiles will be reported. If omitted, the Charging Station SHALL not filter on chargingProfileId. This field SHALL NOT contain more ids than set in <<configkey-charging-profile-entries,ChargingProfileEntries.maxLimit>>\r\n\r\n", 61 | "type": "array", 62 | "additionalItems": false, 63 | "items": { 64 | "type": "integer" 65 | }, 66 | "minItems": 1 67 | }, 68 | "chargingLimitSource": { 69 | "description": "For which charging limit sources, charging profiles SHALL be reported. If omitted, the Charging Station SHALL not filter on chargingLimitSource.\r\n", 70 | "type": "array", 71 | "additionalItems": false, 72 | "items": { 73 | "$ref": "#/definitions/ChargingLimitSourceEnumType" 74 | }, 75 | "minItems": 1, 76 | "maxItems": 4 77 | } 78 | } 79 | } 80 | }, 81 | "type": "object", 82 | "additionalProperties": false, 83 | "properties": { 84 | "customData": { 85 | "$ref": "#/definitions/CustomDataType" 86 | }, 87 | "requestId": { 88 | "description": "Reference identification that is to be used by the Charging Station in the <<reportchargingprofilesrequest, ReportChargingProfilesRequest>> when provided.\r\n", 89 | "type": "integer" 90 | }, 91 | "evseId": { 92 | "description": "For which EVSE installed charging profiles SHALL be reported. If 0, only charging profiles installed on the Charging Station itself (the grid connection) SHALL be reported. If omitted, all installed charging profiles SHALL be reported.\r\n", 93 | "type": "integer" 94 | }, 95 | "chargingProfile": { 96 | "$ref": "#/definitions/ChargingProfileCriterionType" 97 | } 98 | }, 99 | "required": [ 100 | "requestId", 101 | "chargingProfile" 102 | ] 103 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetChargingProfilesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetChargingProfilesResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GetChargingProfileStatusEnumType": { 21 | "description": "This indicates whether the Charging Station is able to process this request and will send <<reportchargingprofilesrequest, ReportChargingProfilesRequest>> messages.\r\n", 22 | "javaType": "GetChargingProfileStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "NoProfiles" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/GetChargingProfileStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetCompositeScheduleRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetCompositeScheduleRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ChargingRateUnitEnumType": { 21 | "description": "Can be used to force a power or current profile.\r\n\r\n", 22 | "javaType": "ChargingRateUnitEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "W", 27 | "A" 28 | ] 29 | } 30 | }, 31 | "type": "object", 32 | "additionalProperties": false, 33 | "properties": { 34 | "customData": { 35 | "$ref": "#/definitions/CustomDataType" 36 | }, 37 | "duration": { 38 | "description": "Length of the requested schedule in seconds.\r\n\r\n", 39 | "type": "integer" 40 | }, 41 | "chargingRateUnit": { 42 | "$ref": "#/definitions/ChargingRateUnitEnumType" 43 | }, 44 | "evseId": { 45 | "description": "The ID of the EVSE for which the schedule is requested. When evseid=0, the Charging Station will calculate the expected consumption for the grid connection.\r\n", 46 | "type": "integer" 47 | } 48 | }, 49 | "required": [ 50 | "duration", 51 | "evseId" 52 | ] 53 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetDisplayMessagesRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetDisplayMessagesRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "MessagePriorityEnumType": { 21 | "description": "If provided the Charging Station shall return Display Messages with the given priority only.\r\n", 22 | "javaType": "MessagePriorityEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "AlwaysFront", 27 | "InFront", 28 | "NormalCycle" 29 | ] 30 | }, 31 | "MessageStateEnumType": { 32 | "description": "If provided the Charging Station shall return Display Messages with the given state only. \r\n", 33 | "javaType": "MessageStateEnum", 34 | "type": "string", 35 | "additionalProperties": false, 36 | "enum": [ 37 | "Charging", 38 | "Faulted", 39 | "Idle", 40 | "Unavailable" 41 | ] 42 | } 43 | }, 44 | "type": "object", 45 | "additionalProperties": false, 46 | "properties": { 47 | "customData": { 48 | "$ref": "#/definitions/CustomDataType" 49 | }, 50 | "id": { 51 | "description": "If provided the Charging Station shall return Display Messages of the given ids. This field SHALL NOT contain more ids than set in <<configkey-number-of-display-messages,NumberOfDisplayMessages.maxLimit>>\r\n\r\n", 52 | "type": "array", 53 | "additionalItems": false, 54 | "items": { 55 | "type": "integer" 56 | }, 57 | "minItems": 1 58 | }, 59 | "requestId": { 60 | "description": "The Id of this request.\r\n", 61 | "type": "integer" 62 | }, 63 | "priority": { 64 | "$ref": "#/definitions/MessagePriorityEnumType" 65 | }, 66 | "state": { 67 | "$ref": "#/definitions/MessageStateEnumType" 68 | } 69 | }, 70 | "required": [ 71 | "requestId" 72 | ] 73 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetDisplayMessagesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetDisplayMessagesResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GetDisplayMessagesStatusEnumType": { 21 | "description": "Indicates if the Charging Station has Display Messages that match the request criteria in the <<getdisplaymessagesrequest,GetDisplayMessagesRequest>>\r\n", 22 | "javaType": "GetDisplayMessagesStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Unknown" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/GetDisplayMessagesStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetInstalledCertificateIdsRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetInstalledCertificateIdsRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GetCertificateIdUseEnumType": { 21 | "javaType": "GetCertificateIdUseEnum", 22 | "type": "string", 23 | "additionalProperties": false, 24 | "enum": [ 25 | "V2GRootCertificate", 26 | "MORootCertificate", 27 | "CSMSRootCertificate", 28 | "V2GCertificateChain", 29 | "ManufacturerRootCertificate" 30 | ] 31 | } 32 | }, 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "certificateType": { 40 | "description": "Indicates the type of certificates requested. When omitted, all certificate types are requested.\r\n", 41 | "type": "array", 42 | "additionalItems": false, 43 | "items": { 44 | "$ref": "#/definitions/GetCertificateIdUseEnumType" 45 | }, 46 | "minItems": 1 47 | } 48 | } 49 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetLocalListVersionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetLocalListVersionRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetLocalListVersionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetLocalListVersionResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "versionNumber": { 28 | "description": "This contains the current version number of the local authorization list in the Charging Station.\r\n", 29 | "type": "integer" 30 | } 31 | }, 32 | "required": [ 33 | "versionNumber" 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetLogRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetLogRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "LogEnumType": { 21 | "description": "This contains the type of log file that the Charging Station\r\nshould send.\r\n", 22 | "javaType": "LogEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "DiagnosticsLog", 27 | "SecurityLog" 28 | ] 29 | }, 30 | "LogParametersType": { 31 | "description": "Log\r\nurn:x-enexis:ecdm:uid:2:233373\r\nGeneric class for the configuration of logging entries.\r\n", 32 | "javaType": "LogParameters", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "remoteLocation": { 40 | "description": "Log. Remote_ Location. URI\r\nurn:x-enexis:ecdm:uid:1:569484\r\nThe URL of the location at the remote system where the log should be stored.\r\n", 41 | "type": "string", 42 | "maxLength": 512 43 | }, 44 | "oldestTimestamp": { 45 | "description": "Log. Oldest_ Timestamp. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569477\r\nThis contains the date and time of the oldest logging information to include in the diagnostics.\r\n", 46 | "type": "string", 47 | "format": "date-time" 48 | }, 49 | "latestTimestamp": { 50 | "description": "Log. Latest_ Timestamp. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569482\r\nThis contains the date and time of the latest logging information to include in the diagnostics.\r\n", 51 | "type": "string", 52 | "format": "date-time" 53 | } 54 | }, 55 | "required": [ 56 | "remoteLocation" 57 | ] 58 | } 59 | }, 60 | "type": "object", 61 | "additionalProperties": false, 62 | "properties": { 63 | "customData": { 64 | "$ref": "#/definitions/CustomDataType" 65 | }, 66 | "log": { 67 | "$ref": "#/definitions/LogParametersType" 68 | }, 69 | "logType": { 70 | "$ref": "#/definitions/LogEnumType" 71 | }, 72 | "requestId": { 73 | "description": "The Id of this request\r\n", 74 | "type": "integer" 75 | }, 76 | "retries": { 77 | "description": "This specifies how many times the Charging Station must try to upload the log before giving up. If this field is not present, it is left to Charging Station to decide how many times it wants to retry.\r\n", 78 | "type": "integer" 79 | }, 80 | "retryInterval": { 81 | "description": "The interval in seconds after which a retry may be attempted. If this field is not present, it is left to Charging Station to decide how long to wait between attempts.\r\n", 82 | "type": "integer" 83 | } 84 | }, 85 | "required": [ 86 | "logType", 87 | "requestId", 88 | "log" 89 | ] 90 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetLogResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetLogResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "LogStatusEnumType": { 21 | "description": "This field indicates whether the Charging Station was able to accept the request.\r\n", 22 | "javaType": "LogStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "AcceptedCanceled" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/LogStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | }, 68 | "filename": { 69 | "description": "This contains the name of the log file that will be uploaded. This field is not present when no logging information is available.\r\n", 70 | "type": "string", 71 | "maxLength": 255 72 | } 73 | }, 74 | "required": [ 75 | "status" 76 | ] 77 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetMonitoringReportResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetMonitoringReportResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericDeviceModelStatusEnumType": { 21 | "description": "This field indicates whether the Charging Station was able to accept the request.\r\n", 22 | "javaType": "GenericDeviceModelStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "NotSupported", 29 | "EmptyResultSet" 30 | ] 31 | }, 32 | "StatusInfoType": { 33 | "description": "Element providing more information about the status.\r\n", 34 | "javaType": "StatusInfo", 35 | "type": "object", 36 | "additionalProperties": false, 37 | "properties": { 38 | "customData": { 39 | "$ref": "#/definitions/CustomDataType" 40 | }, 41 | "reasonCode": { 42 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 43 | "type": "string", 44 | "maxLength": 20 45 | }, 46 | "additionalInfo": { 47 | "description": "Additional text to provide detailed information.\r\n", 48 | "type": "string", 49 | "maxLength": 512 50 | } 51 | }, 52 | "required": [ 53 | "reasonCode" 54 | ] 55 | } 56 | }, 57 | "type": "object", 58 | "additionalProperties": false, 59 | "properties": { 60 | "customData": { 61 | "$ref": "#/definitions/CustomDataType" 62 | }, 63 | "status": { 64 | "$ref": "#/definitions/GenericDeviceModelStatusEnumType" 65 | }, 66 | "statusInfo": { 67 | "$ref": "#/definitions/StatusInfoType" 68 | } 69 | }, 70 | "required": [ 71 | "status" 72 | ] 73 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetReportRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetReportRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ComponentCriterionEnumType": { 21 | "javaType": "ComponentCriterionEnum", 22 | "type": "string", 23 | "additionalProperties": false, 24 | "enum": [ 25 | "Active", 26 | "Available", 27 | "Enabled", 28 | "Problem" 29 | ] 30 | }, 31 | "ComponentType": { 32 | "description": "A physical or logical component\r\n", 33 | "javaType": "Component", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "evse": { 41 | "$ref": "#/definitions/EVSEType" 42 | }, 43 | "name": { 44 | "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", 45 | "type": "string", 46 | "maxLength": 50 47 | }, 48 | "instance": { 49 | "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", 50 | "type": "string", 51 | "maxLength": 50 52 | } 53 | }, 54 | "required": [ 55 | "name" 56 | ] 57 | }, 58 | "ComponentVariableType": { 59 | "description": "Class to report components, variables and variable attributes and characteristics.\r\n", 60 | "javaType": "ComponentVariable", 61 | "type": "object", 62 | "additionalProperties": false, 63 | "properties": { 64 | "customData": { 65 | "$ref": "#/definitions/CustomDataType" 66 | }, 67 | "component": { 68 | "$ref": "#/definitions/ComponentType" 69 | }, 70 | "variable": { 71 | "$ref": "#/definitions/VariableType" 72 | } 73 | }, 74 | "required": [ 75 | "component" 76 | ] 77 | }, 78 | "EVSEType": { 79 | "description": "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n", 80 | "javaType": "EVSE", 81 | "type": "object", 82 | "additionalProperties": false, 83 | "properties": { 84 | "customData": { 85 | "$ref": "#/definitions/CustomDataType" 86 | }, 87 | "id": { 88 | "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", 89 | "type": "integer" 90 | }, 91 | "connectorId": { 92 | "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", 93 | "type": "integer" 94 | } 95 | }, 96 | "required": [ 97 | "id" 98 | ] 99 | }, 100 | "VariableType": { 101 | "description": "Reference key to a component-variable.\r\n", 102 | "javaType": "Variable", 103 | "type": "object", 104 | "additionalProperties": false, 105 | "properties": { 106 | "customData": { 107 | "$ref": "#/definitions/CustomDataType" 108 | }, 109 | "name": { 110 | "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", 111 | "type": "string", 112 | "maxLength": 50 113 | }, 114 | "instance": { 115 | "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", 116 | "type": "string", 117 | "maxLength": 50 118 | } 119 | }, 120 | "required": [ 121 | "name" 122 | ] 123 | } 124 | }, 125 | "type": "object", 126 | "additionalProperties": false, 127 | "properties": { 128 | "customData": { 129 | "$ref": "#/definitions/CustomDataType" 130 | }, 131 | "componentVariable": { 132 | "type": "array", 133 | "additionalItems": false, 134 | "items": { 135 | "$ref": "#/definitions/ComponentVariableType" 136 | }, 137 | "minItems": 1 138 | }, 139 | "requestId": { 140 | "description": "The Id of the request.\r\n", 141 | "type": "integer" 142 | }, 143 | "componentCriteria": { 144 | "description": "This field contains criteria for components for which a report is requested\r\n", 145 | "type": "array", 146 | "additionalItems": false, 147 | "items": { 148 | "$ref": "#/definitions/ComponentCriterionEnumType" 149 | }, 150 | "minItems": 1, 151 | "maxItems": 4 152 | } 153 | }, 154 | "required": [ 155 | "requestId" 156 | ] 157 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetReportResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetReportResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericDeviceModelStatusEnumType": { 21 | "description": "This field indicates whether the Charging Station was able to accept the request.\r\n", 22 | "javaType": "GenericDeviceModelStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "NotSupported", 29 | "EmptyResultSet" 30 | ] 31 | }, 32 | "StatusInfoType": { 33 | "description": "Element providing more information about the status.\r\n", 34 | "javaType": "StatusInfo", 35 | "type": "object", 36 | "additionalProperties": false, 37 | "properties": { 38 | "customData": { 39 | "$ref": "#/definitions/CustomDataType" 40 | }, 41 | "reasonCode": { 42 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 43 | "type": "string", 44 | "maxLength": 20 45 | }, 46 | "additionalInfo": { 47 | "description": "Additional text to provide detailed information.\r\n", 48 | "type": "string", 49 | "maxLength": 512 50 | } 51 | }, 52 | "required": [ 53 | "reasonCode" 54 | ] 55 | } 56 | }, 57 | "type": "object", 58 | "additionalProperties": false, 59 | "properties": { 60 | "customData": { 61 | "$ref": "#/definitions/CustomDataType" 62 | }, 63 | "status": { 64 | "$ref": "#/definitions/GenericDeviceModelStatusEnumType" 65 | }, 66 | "statusInfo": { 67 | "$ref": "#/definitions/StatusInfoType" 68 | } 69 | }, 70 | "required": [ 71 | "status" 72 | ] 73 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetTransactionStatusRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetTransactionStatusRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "transactionId": { 28 | "description": "The Id of the transaction for which the status is requested.\r\n", 29 | "type": "string", 30 | "maxLength": 36 31 | } 32 | } 33 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetTransactionStatusResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetTransactionStatusResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "ongoingIndicator": { 28 | "description": "Whether the transaction is still ongoing.\r\n", 29 | "type": "boolean" 30 | }, 31 | "messagesInQueue": { 32 | "description": "Whether there are still message to be delivered.\r\n", 33 | "type": "boolean" 34 | } 35 | }, 36 | "required": [ 37 | "messagesInQueue" 38 | ] 39 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/GetVariablesRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:GetVariablesRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "AttributeEnumType": { 21 | "description": "Attribute type for which value is requested. When absent, default Actual is assumed.\r\n", 22 | "javaType": "AttributeEnum", 23 | "type": "string", 24 | "default": "Actual", 25 | "additionalProperties": false, 26 | "enum": [ 27 | "Actual", 28 | "Target", 29 | "MinSet", 30 | "MaxSet" 31 | ] 32 | }, 33 | "ComponentType": { 34 | "description": "A physical or logical component\r\n", 35 | "javaType": "Component", 36 | "type": "object", 37 | "additionalProperties": false, 38 | "properties": { 39 | "customData": { 40 | "$ref": "#/definitions/CustomDataType" 41 | }, 42 | "evse": { 43 | "$ref": "#/definitions/EVSEType" 44 | }, 45 | "name": { 46 | "description": "Name of the component. Name should be taken from the list of standardized component names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", 47 | "type": "string", 48 | "maxLength": 50 49 | }, 50 | "instance": { 51 | "description": "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", 52 | "type": "string", 53 | "maxLength": 50 54 | } 55 | }, 56 | "required": [ 57 | "name" 58 | ] 59 | }, 60 | "EVSEType": { 61 | "description": "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n", 62 | "javaType": "EVSE", 63 | "type": "object", 64 | "additionalProperties": false, 65 | "properties": { 66 | "customData": { 67 | "$ref": "#/definitions/CustomDataType" 68 | }, 69 | "id": { 70 | "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", 71 | "type": "integer" 72 | }, 73 | "connectorId": { 74 | "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", 75 | "type": "integer" 76 | } 77 | }, 78 | "required": [ 79 | "id" 80 | ] 81 | }, 82 | "GetVariableDataType": { 83 | "description": "Class to hold parameters for GetVariables request.\r\n", 84 | "javaType": "GetVariableData", 85 | "type": "object", 86 | "additionalProperties": false, 87 | "properties": { 88 | "customData": { 89 | "$ref": "#/definitions/CustomDataType" 90 | }, 91 | "attributeType": { 92 | "$ref": "#/definitions/AttributeEnumType" 93 | }, 94 | "component": { 95 | "$ref": "#/definitions/ComponentType" 96 | }, 97 | "variable": { 98 | "$ref": "#/definitions/VariableType" 99 | } 100 | }, 101 | "required": [ 102 | "component", 103 | "variable" 104 | ] 105 | }, 106 | "VariableType": { 107 | "description": "Reference key to a component-variable.\r\n", 108 | "javaType": "Variable", 109 | "type": "object", 110 | "additionalProperties": false, 111 | "properties": { 112 | "customData": { 113 | "$ref": "#/definitions/CustomDataType" 114 | }, 115 | "name": { 116 | "description": "Name of the variable. Name should be taken from the list of standardized variable names whenever possible. Case Insensitive. strongly advised to use Camel Case.\r\n", 117 | "type": "string", 118 | "maxLength": 50 119 | }, 120 | "instance": { 121 | "description": "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n", 122 | "type": "string", 123 | "maxLength": 50 124 | } 125 | }, 126 | "required": [ 127 | "name" 128 | ] 129 | } 130 | }, 131 | "type": "object", 132 | "additionalProperties": false, 133 | "properties": { 134 | "customData": { 135 | "$ref": "#/definitions/CustomDataType" 136 | }, 137 | "getVariableData": { 138 | "type": "array", 139 | "additionalItems": false, 140 | "items": { 141 | "$ref": "#/definitions/GetVariableDataType" 142 | }, 143 | "minItems": 1 144 | } 145 | }, 146 | "required": [ 147 | "getVariableData" 148 | ] 149 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/HeartbeatRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:HeartbeatRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/HeartbeatResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:HeartbeatResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "currentTime": { 28 | "description": "Contains the current time of the CSMS.\r\n", 29 | "type": "string", 30 | "format": "date-time" 31 | } 32 | }, 33 | "required": [ 34 | "currentTime" 35 | ] 36 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/InstallCertificateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:InstallCertificateRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "InstallCertificateUseEnumType": { 21 | "description": "Indicates the certificate type that is sent.\r\n", 22 | "javaType": "InstallCertificateUseEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "V2GRootCertificate", 27 | "MORootCertificate", 28 | "CSMSRootCertificate", 29 | "ManufacturerRootCertificate" 30 | ] 31 | } 32 | }, 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "certificateType": { 40 | "$ref": "#/definitions/InstallCertificateUseEnumType" 41 | }, 42 | "certificate": { 43 | "description": "A PEM encoded X.509 certificate.\r\n", 44 | "type": "string", 45 | "maxLength": 5500 46 | } 47 | }, 48 | "required": [ 49 | "certificateType", 50 | "certificate" 51 | ] 52 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/InstallCertificateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:InstallCertificateResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "InstallCertificateStatusEnumType": { 21 | "description": "Charging Station indicates if installation was successful.\r\n", 22 | "javaType": "InstallCertificateStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "Failed" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/InstallCertificateStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/LogStatusNotificationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:LogStatusNotificationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "UploadLogStatusEnumType": { 21 | "description": "This contains the status of the log upload.\r\n", 22 | "javaType": "UploadLogStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "BadMessage", 27 | "Idle", 28 | "NotSupportedOperation", 29 | "PermissionDenied", 30 | "Uploaded", 31 | "UploadFailure", 32 | "Uploading", 33 | "AcceptedCanceled" 34 | ] 35 | } 36 | }, 37 | "type": "object", 38 | "additionalProperties": false, 39 | "properties": { 40 | "customData": { 41 | "$ref": "#/definitions/CustomDataType" 42 | }, 43 | "status": { 44 | "$ref": "#/definitions/UploadLogStatusEnumType" 45 | }, 46 | "requestId": { 47 | "description": "The request id that was provided in GetLogRequest that started this log upload. This field is mandatory,\r\nunless the message was triggered by a TriggerMessageRequest AND there is no log upload ongoing.\r\n", 48 | "type": "integer" 49 | } 50 | }, 51 | "required": [ 52 | "status" 53 | ] 54 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/LogStatusNotificationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:LogStatusNotificationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/MeterValuesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:MeterValuesResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyChargingLimitResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyChargingLimitResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyCustomerInformationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyCustomerInformationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "data": { 28 | "description": "(Part of) the requested data. No format specified in which the data is returned. Should be human readable.\r\n", 29 | "type": "string", 30 | "maxLength": 512 31 | }, 32 | "tbc": { 33 | "description": "“to be continued” indicator. Indicates whether another part of the monitoringData follows in an upcoming notifyMonitoringReportRequest message. Default value when omitted is false.\r\n", 34 | "type": "boolean", 35 | "default": false 36 | }, 37 | "seqNo": { 38 | "description": "Sequence number of this message. First message starts at 0.\r\n", 39 | "type": "integer" 40 | }, 41 | "generatedAt": { 42 | "description": " Timestamp of the moment this message was generated at the Charging Station.\r\n", 43 | "type": "string", 44 | "format": "date-time" 45 | }, 46 | "requestId": { 47 | "description": "The Id of the request.\r\n\r\n", 48 | "type": "integer" 49 | } 50 | }, 51 | "required": [ 52 | "data", 53 | "seqNo", 54 | "generatedAt", 55 | "requestId" 56 | ] 57 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyCustomerInformationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyCustomerInformationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyDisplayMessagesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyDisplayMessagesResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyEVChargingNeedsResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyEVChargingNeedsResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "NotifyEVChargingNeedsStatusEnumType": { 21 | "description": "Returns whether the CSMS has been able to process the message successfully. It does not imply that the evChargingNeeds can be met with the current charging profile.\r\n", 22 | "javaType": "NotifyEVChargingNeedsStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "Processing" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/NotifyEVChargingNeedsStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyEVChargingScheduleResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyEVChargingScheduleResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericStatusEnumType": { 21 | "description": "Returns whether the CSMS has been able to process the message successfully. It does not imply any approval of the charging schedule.\r\n", 22 | "javaType": "GenericStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/GenericStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyEventResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyEventResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyMonitoringReportResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyMonitoringReportResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/NotifyReportResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:NotifyReportResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/PublishFirmwareRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:PublishFirmwareRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "location": { 28 | "description": "This contains a string containing a URI pointing to a\r\nlocation from which to retrieve the firmware.\r\n", 29 | "type": "string", 30 | "maxLength": 512 31 | }, 32 | "retries": { 33 | "description": "This specifies how many times Charging Station must try\r\nto download the firmware before giving up. If this field is not\r\npresent, it is left to Charging Station to decide how many times it wants to retry.\r\n", 34 | "type": "integer" 35 | }, 36 | "checksum": { 37 | "description": "The MD5 checksum over the entire firmware file as a hexadecimal string of length 32. \r\n", 38 | "type": "string", 39 | "maxLength": 32 40 | }, 41 | "requestId": { 42 | "description": "The Id of the request.\r\n", 43 | "type": "integer" 44 | }, 45 | "retryInterval": { 46 | "description": "The interval in seconds\r\nafter which a retry may be\r\nattempted. If this field is not\r\npresent, it is left to Charging\r\nStation to decide how long to wait\r\nbetween attempts.\r\n", 47 | "type": "integer" 48 | } 49 | }, 50 | "required": [ 51 | "location", 52 | "checksum", 53 | "requestId" 54 | ] 55 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/PublishFirmwareResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:PublishFirmwareResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericStatusEnumType": { 21 | "description": "Indicates whether the request was accepted.\r\n", 22 | "javaType": "GenericStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/GenericStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/PublishFirmwareStatusNotificationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:PublishFirmwareStatusNotificationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "PublishFirmwareStatusEnumType": { 21 | "description": "This contains the progress status of the publishfirmware\r\ninstallation.\r\n", 22 | "javaType": "PublishFirmwareStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Idle", 27 | "DownloadScheduled", 28 | "Downloading", 29 | "Downloaded", 30 | "Published", 31 | "DownloadFailed", 32 | "DownloadPaused", 33 | "InvalidChecksum", 34 | "ChecksumVerified", 35 | "PublishFailed" 36 | ] 37 | } 38 | }, 39 | "type": "object", 40 | "additionalProperties": false, 41 | "properties": { 42 | "customData": { 43 | "$ref": "#/definitions/CustomDataType" 44 | }, 45 | "status": { 46 | "$ref": "#/definitions/PublishFirmwareStatusEnumType" 47 | }, 48 | "location": { 49 | "description": "Required if status is Published. Can be multiple URI’s, if the Local Controller supports e.g. HTTP, HTTPS, and FTP.\r\n", 50 | "type": "array", 51 | "additionalItems": false, 52 | "items": { 53 | "type": "string", 54 | "maxLength": 512 55 | }, 56 | "minItems": 1 57 | }, 58 | "requestId": { 59 | "description": "The request id that was\r\nprovided in the\r\nPublishFirmwareRequest which\r\ntriggered this action.\r\n", 60 | "type": "integer" 61 | } 62 | }, 63 | "required": [ 64 | "status" 65 | ] 66 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/PublishFirmwareStatusNotificationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:PublishFirmwareStatusNotificationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ReportChargingProfilesResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ReportChargingProfilesResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/RequestStartTransactionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:RequestStartTransactionResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "RequestStartStopStatusEnumType": { 21 | "description": "Status indicating whether the Charging Station accepts the request to start a transaction.\r\n", 22 | "javaType": "RequestStartStopStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/RequestStartStopStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | }, 67 | "transactionId": { 68 | "description": "When the transaction was already started by the Charging Station before the RequestStartTransactionRequest was received, for example: cable plugged in first. This contains the transactionId of the already started transaction.\r\n", 69 | "type": "string", 70 | "maxLength": 36 71 | } 72 | }, 73 | "required": [ 74 | "status" 75 | ] 76 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/RequestStopTransactionRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:RequestStopTransactionRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "transactionId": { 28 | "description": "The identifier of the transaction which the Charging Station is requested to stop.\r\n", 29 | "type": "string", 30 | "maxLength": 36 31 | } 32 | }, 33 | "required": [ 34 | "transactionId" 35 | ] 36 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/RequestStopTransactionResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:RequestStopTransactionResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "RequestStartStopStatusEnumType": { 21 | "description": "Status indicating whether Charging Station accepts the request to stop a transaction.\r\n", 22 | "javaType": "RequestStartStopStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/RequestStartStopStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ReservationStatusUpdateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ReservationStatusUpdateRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ReservationUpdateStatusEnumType": { 21 | "description": "The updated reservation status.\r\n", 22 | "javaType": "ReservationUpdateStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Expired", 27 | "Removed" 28 | ] 29 | } 30 | }, 31 | "type": "object", 32 | "additionalProperties": false, 33 | "properties": { 34 | "customData": { 35 | "$ref": "#/definitions/CustomDataType" 36 | }, 37 | "reservationId": { 38 | "description": "The ID of the reservation.\r\n", 39 | "type": "integer" 40 | }, 41 | "reservationUpdateStatus": { 42 | "$ref": "#/definitions/ReservationUpdateStatusEnumType" 43 | } 44 | }, 45 | "required": [ 46 | "reservationId", 47 | "reservationUpdateStatus" 48 | ] 49 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ReservationStatusUpdateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ReservationStatusUpdateResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ReserveNowRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ReserveNowRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ConnectorEnumType": { 21 | "description": "This field specifies the connector type.\r\n", 22 | "javaType": "ConnectorEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "cCCS1", 27 | "cCCS2", 28 | "cG105", 29 | "cTesla", 30 | "cType1", 31 | "cType2", 32 | "s309-1P-16A", 33 | "s309-1P-32A", 34 | "s309-3P-16A", 35 | "s309-3P-32A", 36 | "sBS1361", 37 | "sCEE-7-7", 38 | "sType2", 39 | "sType3", 40 | "Other1PhMax16A", 41 | "Other1PhOver16A", 42 | "Other3Ph", 43 | "Pan", 44 | "wInductive", 45 | "wResonant", 46 | "Undetermined", 47 | "Unknown" 48 | ] 49 | }, 50 | "IdTokenEnumType": { 51 | "description": "Enumeration of possible idToken types.\r\n", 52 | "javaType": "IdTokenEnum", 53 | "type": "string", 54 | "additionalProperties": false, 55 | "enum": [ 56 | "Central", 57 | "eMAID", 58 | "ISO14443", 59 | "ISO15693", 60 | "KeyCode", 61 | "Local", 62 | "MacAddress", 63 | "NoAuthorization" 64 | ] 65 | }, 66 | "AdditionalInfoType": { 67 | "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", 68 | "javaType": "AdditionalInfo", 69 | "type": "object", 70 | "additionalProperties": false, 71 | "properties": { 72 | "customData": { 73 | "$ref": "#/definitions/CustomDataType" 74 | }, 75 | "additionalIdToken": { 76 | "description": "This field specifies the additional IdToken.\r\n", 77 | "type": "string", 78 | "maxLength": 36 79 | }, 80 | "type": { 81 | "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", 82 | "type": "string", 83 | "maxLength": 50 84 | } 85 | }, 86 | "required": [ 87 | "additionalIdToken", 88 | "type" 89 | ] 90 | }, 91 | "IdTokenType": { 92 | "description": "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n", 93 | "javaType": "IdToken", 94 | "type": "object", 95 | "additionalProperties": false, 96 | "properties": { 97 | "customData": { 98 | "$ref": "#/definitions/CustomDataType" 99 | }, 100 | "additionalInfo": { 101 | "type": "array", 102 | "additionalItems": false, 103 | "items": { 104 | "$ref": "#/definitions/AdditionalInfoType" 105 | }, 106 | "minItems": 1 107 | }, 108 | "idToken": { 109 | "description": "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n", 110 | "type": "string", 111 | "maxLength": 36 112 | }, 113 | "type": { 114 | "$ref": "#/definitions/IdTokenEnumType" 115 | } 116 | }, 117 | "required": [ 118 | "idToken", 119 | "type" 120 | ] 121 | } 122 | }, 123 | "type": "object", 124 | "additionalProperties": false, 125 | "properties": { 126 | "customData": { 127 | "$ref": "#/definitions/CustomDataType" 128 | }, 129 | "id": { 130 | "description": "Id of reservation.\r\n", 131 | "type": "integer" 132 | }, 133 | "expiryDateTime": { 134 | "description": "Date and time at which the reservation expires.\r\n", 135 | "type": "string", 136 | "format": "date-time" 137 | }, 138 | "connectorType": { 139 | "$ref": "#/definitions/ConnectorEnumType" 140 | }, 141 | "idToken": { 142 | "$ref": "#/definitions/IdTokenType" 143 | }, 144 | "evseId": { 145 | "description": "This contains ID of the evse to be reserved.\r\n", 146 | "type": "integer" 147 | }, 148 | "groupIdToken": { 149 | "$ref": "#/definitions/IdTokenType" 150 | } 151 | }, 152 | "required": [ 153 | "id", 154 | "expiryDateTime", 155 | "idToken" 156 | ] 157 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ReserveNowResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ReserveNowResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ReserveNowStatusEnumType": { 21 | "description": "This indicates the success or failure of the reservation.\r\n", 22 | "javaType": "ReserveNowStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Faulted", 28 | "Occupied", 29 | "Rejected", 30 | "Unavailable" 31 | ] 32 | }, 33 | "StatusInfoType": { 34 | "description": "Element providing more information about the status.\r\n", 35 | "javaType": "StatusInfo", 36 | "type": "object", 37 | "additionalProperties": false, 38 | "properties": { 39 | "customData": { 40 | "$ref": "#/definitions/CustomDataType" 41 | }, 42 | "reasonCode": { 43 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 44 | "type": "string", 45 | "maxLength": 20 46 | }, 47 | "additionalInfo": { 48 | "description": "Additional text to provide detailed information.\r\n", 49 | "type": "string", 50 | "maxLength": 512 51 | } 52 | }, 53 | "required": [ 54 | "reasonCode" 55 | ] 56 | } 57 | }, 58 | "type": "object", 59 | "additionalProperties": false, 60 | "properties": { 61 | "customData": { 62 | "$ref": "#/definitions/CustomDataType" 63 | }, 64 | "status": { 65 | "$ref": "#/definitions/ReserveNowStatusEnumType" 66 | }, 67 | "statusInfo": { 68 | "$ref": "#/definitions/StatusInfoType" 69 | } 70 | }, 71 | "required": [ 72 | "status" 73 | ] 74 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ResetRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ResetRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ResetEnumType": { 21 | "description": "This contains the type of reset that the Charging Station or EVSE should perform.\r\n", 22 | "javaType": "ResetEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Immediate", 27 | "OnIdle" 28 | ] 29 | } 30 | }, 31 | "type": "object", 32 | "additionalProperties": false, 33 | "properties": { 34 | "customData": { 35 | "$ref": "#/definitions/CustomDataType" 36 | }, 37 | "type": { 38 | "$ref": "#/definitions/ResetEnumType" 39 | }, 40 | "evseId": { 41 | "description": "This contains the ID of a specific EVSE that needs to be reset, instead of the entire Charging Station.\r\n", 42 | "type": "integer" 43 | } 44 | }, 45 | "required": [ 46 | "type" 47 | ] 48 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/ResetResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:ResetResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ResetStatusEnumType": { 21 | "description": "This indicates whether the Charging Station is able to perform the reset.\r\n", 22 | "javaType": "ResetStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "Scheduled" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/ResetStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SecurityEventNotificationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SecurityEventNotificationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "type": { 28 | "description": "Type of the security event. This value should be taken from the Security events list.\r\n", 29 | "type": "string", 30 | "maxLength": 50 31 | }, 32 | "timestamp": { 33 | "description": "Date and time at which the event occurred.\r\n", 34 | "type": "string", 35 | "format": "date-time" 36 | }, 37 | "techInfo": { 38 | "description": "Additional information about the occurred security event.\r\n", 39 | "type": "string", 40 | "maxLength": 255 41 | } 42 | }, 43 | "required": [ 44 | "type", 45 | "timestamp" 46 | ] 47 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SecurityEventNotificationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SecurityEventNotificationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SendLocalListResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SendLocalListResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "SendLocalListStatusEnumType": { 21 | "description": "This indicates whether the Charging Station has successfully received and applied the update of the Local Authorization List.\r\n", 22 | "javaType": "SendLocalListStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Failed", 28 | "VersionMismatch" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/SendLocalListStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SetChargingProfileResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SetChargingProfileResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ChargingProfileStatusEnumType": { 21 | "description": "Returns whether the Charging Station has been able to process the message successfully. This does not guarantee the schedule will be followed to the letter. There might be other constraints the Charging Station may need to take into account.\r\n", 22 | "javaType": "ChargingProfileStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/ChargingProfileStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SetDisplayMessageResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SetDisplayMessageResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "DisplayMessageStatusEnumType": { 21 | "description": "This indicates whether the Charging Station is able to display the message.\r\n", 22 | "javaType": "DisplayMessageStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "NotSupportedMessageFormat", 28 | "Rejected", 29 | "NotSupportedPriority", 30 | "NotSupportedState", 31 | "UnknownTransaction" 32 | ] 33 | }, 34 | "StatusInfoType": { 35 | "description": "Element providing more information about the status.\r\n", 36 | "javaType": "StatusInfo", 37 | "type": "object", 38 | "additionalProperties": false, 39 | "properties": { 40 | "customData": { 41 | "$ref": "#/definitions/CustomDataType" 42 | }, 43 | "reasonCode": { 44 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 45 | "type": "string", 46 | "maxLength": 20 47 | }, 48 | "additionalInfo": { 49 | "description": "Additional text to provide detailed information.\r\n", 50 | "type": "string", 51 | "maxLength": 512 52 | } 53 | }, 54 | "required": [ 55 | "reasonCode" 56 | ] 57 | } 58 | }, 59 | "type": "object", 60 | "additionalProperties": false, 61 | "properties": { 62 | "customData": { 63 | "$ref": "#/definitions/CustomDataType" 64 | }, 65 | "status": { 66 | "$ref": "#/definitions/DisplayMessageStatusEnumType" 67 | }, 68 | "statusInfo": { 69 | "$ref": "#/definitions/StatusInfoType" 70 | } 71 | }, 72 | "required": [ 73 | "status" 74 | ] 75 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SetMonitoringBaseRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SetMonitoringBaseRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "MonitoringBaseEnumType": { 21 | "description": "Specify which monitoring base will be set\r\n", 22 | "javaType": "MonitoringBaseEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "All", 27 | "FactoryDefault", 28 | "HardWiredOnly" 29 | ] 30 | } 31 | }, 32 | "type": "object", 33 | "additionalProperties": false, 34 | "properties": { 35 | "customData": { 36 | "$ref": "#/definitions/CustomDataType" 37 | }, 38 | "monitoringBase": { 39 | "$ref": "#/definitions/MonitoringBaseEnumType" 40 | } 41 | }, 42 | "required": [ 43 | "monitoringBase" 44 | ] 45 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SetMonitoringBaseResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SetMonitoringBaseResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericDeviceModelStatusEnumType": { 21 | "description": "Indicates whether the Charging Station was able to accept the request.\r\n", 22 | "javaType": "GenericDeviceModelStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "NotSupported", 29 | "EmptyResultSet" 30 | ] 31 | }, 32 | "StatusInfoType": { 33 | "description": "Element providing more information about the status.\r\n", 34 | "javaType": "StatusInfo", 35 | "type": "object", 36 | "additionalProperties": false, 37 | "properties": { 38 | "customData": { 39 | "$ref": "#/definitions/CustomDataType" 40 | }, 41 | "reasonCode": { 42 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 43 | "type": "string", 44 | "maxLength": 20 45 | }, 46 | "additionalInfo": { 47 | "description": "Additional text to provide detailed information.\r\n", 48 | "type": "string", 49 | "maxLength": 512 50 | } 51 | }, 52 | "required": [ 53 | "reasonCode" 54 | ] 55 | } 56 | }, 57 | "type": "object", 58 | "additionalProperties": false, 59 | "properties": { 60 | "customData": { 61 | "$ref": "#/definitions/CustomDataType" 62 | }, 63 | "status": { 64 | "$ref": "#/definitions/GenericDeviceModelStatusEnumType" 65 | }, 66 | "statusInfo": { 67 | "$ref": "#/definitions/StatusInfoType" 68 | } 69 | }, 70 | "required": [ 71 | "status" 72 | ] 73 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SetMonitoringLevelRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SetMonitoringLevelRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "severity": { 28 | "description": "The Charging Station SHALL only report events with a severity number lower than or equal to this severity.\r\nThe severity range is 0-9, with 0 as the highest and 9 as the lowest severity level.\r\n\r\nThe severity levels have the following meaning: +\r\n*0-Danger* +\r\nIndicates lives are potentially in danger. Urgent attention is needed and action should be taken immediately. +\r\n*1-Hardware Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to Hardware issues. Action is required. +\r\n*2-System Failure* +\r\nIndicates that the Charging Station is unable to continue regular operations due to software or minor hardware issues. Action is required. +\r\n*3-Critical* +\r\nIndicates a critical error. Action is required. +\r\n*4-Error* +\r\nIndicates a non-urgent error. Action is required. +\r\n*5-Alert* +\r\nIndicates an alert event. Default severity for any type of monitoring event. +\r\n*6-Warning* +\r\nIndicates a warning event. Action may be required. +\r\n*7-Notice* +\r\nIndicates an unusual event. No immediate action is required. +\r\n*8-Informational* +\r\nIndicates a regular operational event. May be used for reporting, measuring throughput, etc. No action is required. +\r\n*9-Debug* +\r\nIndicates information useful to developers for debugging, not useful during operations.\r\n\r\n\r\n", 29 | "type": "integer" 30 | } 31 | }, 32 | "required": [ 33 | "severity" 34 | ] 35 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SetMonitoringLevelResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SetMonitoringLevelResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericStatusEnumType": { 21 | "description": "Indicates whether the Charging Station was able to accept the request.\r\n", 22 | "javaType": "GenericStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/GenericStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SetNetworkProfileResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SetNetworkProfileResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "SetNetworkProfileStatusEnumType": { 21 | "description": "Result of operation.\r\n", 22 | "javaType": "SetNetworkProfileStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "Failed" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/SetNetworkProfileStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SignCertificateRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SignCertificateRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "CertificateSigningUseEnumType": { 21 | "description": "Indicates the type of certificate that is to be signed. When omitted the certificate is to be used for both the 15118 connection (if implemented) and the Charging Station to CSMS connection.\r\n\r\n", 22 | "javaType": "CertificateSigningUseEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "ChargingStationCertificate", 27 | "V2GCertificate" 28 | ] 29 | } 30 | }, 31 | "type": "object", 32 | "additionalProperties": false, 33 | "properties": { 34 | "customData": { 35 | "$ref": "#/definitions/CustomDataType" 36 | }, 37 | "csr": { 38 | "description": "The Charging Station SHALL send the public key in form of a Certificate Signing Request (CSR) as described in RFC 2986 [22] and then PEM encoded, using the <<signcertificaterequest,SignCertificateRequest>> message.\r\n", 39 | "type": "string", 40 | "maxLength": 5500 41 | }, 42 | "certificateType": { 43 | "$ref": "#/definitions/CertificateSigningUseEnumType" 44 | } 45 | }, 46 | "required": [ 47 | "csr" 48 | ] 49 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/SignCertificateResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:SignCertificateResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "GenericStatusEnumType": { 21 | "description": "Specifies whether the CSMS can process the request.\r\n", 22 | "javaType": "GenericStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected" 28 | ] 29 | }, 30 | "StatusInfoType": { 31 | "description": "Element providing more information about the status.\r\n", 32 | "javaType": "StatusInfo", 33 | "type": "object", 34 | "additionalProperties": false, 35 | "properties": { 36 | "customData": { 37 | "$ref": "#/definitions/CustomDataType" 38 | }, 39 | "reasonCode": { 40 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 41 | "type": "string", 42 | "maxLength": 20 43 | }, 44 | "additionalInfo": { 45 | "description": "Additional text to provide detailed information.\r\n", 46 | "type": "string", 47 | "maxLength": 512 48 | } 49 | }, 50 | "required": [ 51 | "reasonCode" 52 | ] 53 | } 54 | }, 55 | "type": "object", 56 | "additionalProperties": false, 57 | "properties": { 58 | "customData": { 59 | "$ref": "#/definitions/CustomDataType" 60 | }, 61 | "status": { 62 | "$ref": "#/definitions/GenericStatusEnumType" 63 | }, 64 | "statusInfo": { 65 | "$ref": "#/definitions/StatusInfoType" 66 | } 67 | }, 68 | "required": [ 69 | "status" 70 | ] 71 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/StatusNotificationRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:StatusNotificationRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "ConnectorStatusEnumType": { 21 | "description": "This contains the current status of the Connector.\r\n", 22 | "javaType": "ConnectorStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Available", 27 | "Occupied", 28 | "Reserved", 29 | "Unavailable", 30 | "Faulted" 31 | ] 32 | } 33 | }, 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "timestamp": { 41 | "description": "The time for which the status is reported. If absent time of receipt of the message will be assumed.\r\n", 42 | "type": "string", 43 | "format": "date-time" 44 | }, 45 | "connectorStatus": { 46 | "$ref": "#/definitions/ConnectorStatusEnumType" 47 | }, 48 | "evseId": { 49 | "description": "The id of the EVSE to which the connector belongs for which the the status is reported.\r\n", 50 | "type": "integer" 51 | }, 52 | "connectorId": { 53 | "description": "The id of the connector within the EVSE for which the status is reported.\r\n", 54 | "type": "integer" 55 | } 56 | }, 57 | "required": [ 58 | "timestamp", 59 | "connectorStatus", 60 | "evseId", 61 | "connectorId" 62 | ] 63 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/StatusNotificationResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:StatusNotificationResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | } 27 | } 28 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/TriggerMessageRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:TriggerMessageRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "MessageTriggerEnumType": { 21 | "description": "Type of message to be triggered.\r\n", 22 | "javaType": "MessageTriggerEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "BootNotification", 27 | "LogStatusNotification", 28 | "FirmwareStatusNotification", 29 | "Heartbeat", 30 | "MeterValues", 31 | "SignChargingStationCertificate", 32 | "SignV2GCertificate", 33 | "StatusNotification", 34 | "TransactionEvent", 35 | "SignCombinedCertificate", 36 | "PublishFirmwareStatusNotification" 37 | ] 38 | }, 39 | "EVSEType": { 40 | "description": "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n", 41 | "javaType": "EVSE", 42 | "type": "object", 43 | "additionalProperties": false, 44 | "properties": { 45 | "customData": { 46 | "$ref": "#/definitions/CustomDataType" 47 | }, 48 | "id": { 49 | "description": "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (> 0) designating an EVSE of the Charging Station.\r\n", 50 | "type": "integer" 51 | }, 52 | "connectorId": { 53 | "description": "An id to designate a specific connector (on an EVSE) by connector index number.\r\n", 54 | "type": "integer" 55 | } 56 | }, 57 | "required": [ 58 | "id" 59 | ] 60 | } 61 | }, 62 | "type": "object", 63 | "additionalProperties": false, 64 | "properties": { 65 | "customData": { 66 | "$ref": "#/definitions/CustomDataType" 67 | }, 68 | "evse": { 69 | "$ref": "#/definitions/EVSEType" 70 | }, 71 | "requestedMessage": { 72 | "$ref": "#/definitions/MessageTriggerEnumType" 73 | } 74 | }, 75 | "required": [ 76 | "requestedMessage" 77 | ] 78 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/TriggerMessageResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:TriggerMessageResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "TriggerMessageStatusEnumType": { 21 | "description": "Indicates whether the Charging Station will send the requested notification or not.\r\n", 22 | "javaType": "TriggerMessageStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "NotImplemented" 29 | ] 30 | }, 31 | "StatusInfoType": { 32 | "description": "Element providing more information about the status.\r\n", 33 | "javaType": "StatusInfo", 34 | "type": "object", 35 | "additionalProperties": false, 36 | "properties": { 37 | "customData": { 38 | "$ref": "#/definitions/CustomDataType" 39 | }, 40 | "reasonCode": { 41 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 42 | "type": "string", 43 | "maxLength": 20 44 | }, 45 | "additionalInfo": { 46 | "description": "Additional text to provide detailed information.\r\n", 47 | "type": "string", 48 | "maxLength": 512 49 | } 50 | }, 51 | "required": [ 52 | "reasonCode" 53 | ] 54 | } 55 | }, 56 | "type": "object", 57 | "additionalProperties": false, 58 | "properties": { 59 | "customData": { 60 | "$ref": "#/definitions/CustomDataType" 61 | }, 62 | "status": { 63 | "$ref": "#/definitions/TriggerMessageStatusEnumType" 64 | }, 65 | "statusInfo": { 66 | "$ref": "#/definitions/StatusInfoType" 67 | } 68 | }, 69 | "required": [ 70 | "status" 71 | ] 72 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/UnlockConnectorRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:UnlockConnectorRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "evseId": { 28 | "description": "This contains the identifier of the EVSE for which a connector needs to be unlocked.\r\n", 29 | "type": "integer" 30 | }, 31 | "connectorId": { 32 | "description": "This contains the identifier of the connector that needs to be unlocked.\r\n", 33 | "type": "integer" 34 | } 35 | }, 36 | "required": [ 37 | "evseId", 38 | "connectorId" 39 | ] 40 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/UnlockConnectorResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:UnlockConnectorResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "UnlockStatusEnumType": { 21 | "description": "This indicates whether the Charging Station has unlocked the connector.\r\n", 22 | "javaType": "UnlockStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Unlocked", 27 | "UnlockFailed", 28 | "OngoingAuthorizedTransaction", 29 | "UnknownConnector" 30 | ] 31 | }, 32 | "StatusInfoType": { 33 | "description": "Element providing more information about the status.\r\n", 34 | "javaType": "StatusInfo", 35 | "type": "object", 36 | "additionalProperties": false, 37 | "properties": { 38 | "customData": { 39 | "$ref": "#/definitions/CustomDataType" 40 | }, 41 | "reasonCode": { 42 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 43 | "type": "string", 44 | "maxLength": 20 45 | }, 46 | "additionalInfo": { 47 | "description": "Additional text to provide detailed information.\r\n", 48 | "type": "string", 49 | "maxLength": 512 50 | } 51 | }, 52 | "required": [ 53 | "reasonCode" 54 | ] 55 | } 56 | }, 57 | "type": "object", 58 | "additionalProperties": false, 59 | "properties": { 60 | "customData": { 61 | "$ref": "#/definitions/CustomDataType" 62 | }, 63 | "status": { 64 | "$ref": "#/definitions/UnlockStatusEnumType" 65 | }, 66 | "statusInfo": { 67 | "$ref": "#/definitions/StatusInfoType" 68 | } 69 | }, 70 | "required": [ 71 | "status" 72 | ] 73 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/UnpublishFirmwareRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:UnpublishFirmwareRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | } 20 | }, 21 | "type": "object", 22 | "additionalProperties": false, 23 | "properties": { 24 | "customData": { 25 | "$ref": "#/definitions/CustomDataType" 26 | }, 27 | "checksum": { 28 | "description": "The MD5 checksum over the entire firmware file as a hexadecimal string of length 32. \r\n", 29 | "type": "string", 30 | "maxLength": 32 31 | } 32 | }, 33 | "required": [ 34 | "checksum" 35 | ] 36 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/UnpublishFirmwareResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:UnpublishFirmwareResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "UnpublishFirmwareStatusEnumType": { 21 | "description": "Indicates whether the Local Controller succeeded in unpublishing the firmware.\r\n", 22 | "javaType": "UnpublishFirmwareStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "DownloadOngoing", 27 | "NoFirmware", 28 | "Unpublished" 29 | ] 30 | } 31 | }, 32 | "type": "object", 33 | "additionalProperties": false, 34 | "properties": { 35 | "customData": { 36 | "$ref": "#/definitions/CustomDataType" 37 | }, 38 | "status": { 39 | "$ref": "#/definitions/UnpublishFirmwareStatusEnumType" 40 | } 41 | }, 42 | "required": [ 43 | "status" 44 | ] 45 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/UpdateFirmwareRequest.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:UpdateFirmwareRequest", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "FirmwareType": { 21 | "description": "Firmware\r\nurn:x-enexis:ecdm:uid:2:233291\r\nRepresents a copy of the firmware that can be loaded/updated on the Charging Station.\r\n", 22 | "javaType": "Firmware", 23 | "type": "object", 24 | "additionalProperties": false, 25 | "properties": { 26 | "customData": { 27 | "$ref": "#/definitions/CustomDataType" 28 | }, 29 | "location": { 30 | "description": "Firmware. Location. URI\r\nurn:x-enexis:ecdm:uid:1:569460\r\nURI defining the origin of the firmware.\r\n", 31 | "type": "string", 32 | "maxLength": 512 33 | }, 34 | "retrieveDateTime": { 35 | "description": "Firmware. Retrieve. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569461\r\nDate and time at which the firmware shall be retrieved.\r\n", 36 | "type": "string", 37 | "format": "date-time" 38 | }, 39 | "installDateTime": { 40 | "description": "Firmware. Install. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569462\r\nDate and time at which the firmware shall be installed.\r\n", 41 | "type": "string", 42 | "format": "date-time" 43 | }, 44 | "signingCertificate": { 45 | "description": "Certificate with which the firmware was signed.\r\nPEM encoded X.509 certificate.\r\n", 46 | "type": "string", 47 | "maxLength": 5500 48 | }, 49 | "signature": { 50 | "description": "Firmware. Signature. Signature\r\nurn:x-enexis:ecdm:uid:1:569464\r\nBase64 encoded firmware signature.\r\n", 51 | "type": "string", 52 | "maxLength": 800 53 | } 54 | }, 55 | "required": [ 56 | "location", 57 | "retrieveDateTime" 58 | ] 59 | } 60 | }, 61 | "type": "object", 62 | "additionalProperties": false, 63 | "properties": { 64 | "customData": { 65 | "$ref": "#/definitions/CustomDataType" 66 | }, 67 | "retries": { 68 | "description": "This specifies how many times Charging Station must try to download the firmware before giving up. If this field is not present, it is left to Charging Station to decide how many times it wants to retry.\r\n", 69 | "type": "integer" 70 | }, 71 | "retryInterval": { 72 | "description": "The interval in seconds after which a retry may be attempted. If this field is not present, it is left to Charging Station to decide how long to wait between attempts.\r\n", 73 | "type": "integer" 74 | }, 75 | "requestId": { 76 | "description": "The Id of this request\r\n", 77 | "type": "integer" 78 | }, 79 | "firmware": { 80 | "$ref": "#/definitions/FirmwareType" 81 | } 82 | }, 83 | "required": [ 84 | "requestId", 85 | "firmware" 86 | ] 87 | } -------------------------------------------------------------------------------- /src/main/resources/OCPP-2.0.1_part3_JSON_schemas/UpdateFirmwareResponse.json: -------------------------------------------------------------------------------- 1 | { 2 | "$schema": "http://json-schema.org/draft-06/schema#", 3 | "$id": "urn:OCPP:Cp:2:2020:3:UpdateFirmwareResponse", 4 | "comment": "OCPP 2.0.1 FINAL", 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": [ 17 | "vendorId" 18 | ] 19 | }, 20 | "UpdateFirmwareStatusEnumType": { 21 | "description": "This field indicates whether the Charging Station was able to accept the request.\r\n\r\n", 22 | "javaType": "UpdateFirmwareStatusEnum", 23 | "type": "string", 24 | "additionalProperties": false, 25 | "enum": [ 26 | "Accepted", 27 | "Rejected", 28 | "AcceptedCanceled", 29 | "InvalidCertificate", 30 | "RevokedCertificate" 31 | ] 32 | }, 33 | "StatusInfoType": { 34 | "description": "Element providing more information about the status.\r\n", 35 | "javaType": "StatusInfo", 36 | "type": "object", 37 | "additionalProperties": false, 38 | "properties": { 39 | "customData": { 40 | "$ref": "#/definitions/CustomDataType" 41 | }, 42 | "reasonCode": { 43 | "description": "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n", 44 | "type": "string", 45 | "maxLength": 20 46 | }, 47 | "additionalInfo": { 48 | "description": "Additional text to provide detailed information.\r\n", 49 | "type": "string", 50 | "maxLength": 512 51 | } 52 | }, 53 | "required": [ 54 | "reasonCode" 55 | ] 56 | } 57 | }, 58 | "type": "object", 59 | "additionalProperties": false, 60 | "properties": { 61 | "customData": { 62 | "$ref": "#/definitions/CustomDataType" 63 | }, 64 | "status": { 65 | "$ref": "#/definitions/UpdateFirmwareStatusEnumType" 66 | }, 67 | "statusInfo": { 68 | "$ref": "#/definitions/StatusInfoType" 69 | } 70 | }, 71 | "required": [ 72 | "status" 73 | ] 74 | } -------------------------------------------------------------------------------- /src/main/resources/wsdl-binding/add_interface.xml: -------------------------------------------------------------------------------- 1 | 8 | 9 | 10 | 11 | 12 | @lombok.ToString 13 | 14 | 15 | 16 | 17 | de.rwth.idsg.ocpp.jaxb.RequestType 18 | 19 | 20 | 21 | 22 | de.rwth.idsg.ocpp.jaxb.ResponseType 23 | 24 | 25 | 26 | 27 | 28 | -------------------------------------------------------------------------------- /src/main/resources/wsdl-binding/async_binding.xml: -------------------------------------------------------------------------------- 1 | 3 | 4 | 5 | true 6 | 7 | 8 | 9 | true 10 | 11 | 12 | 13 | true 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/main/resources/wsdl-binding/ocpp_binding.xml: -------------------------------------------------------------------------------- 1 | 2 | 7 | 8 | 9 | 10 | 12 | 13 | 14 | 15 | 16 | --------------------------------------------------------------------------------