openapi: 3.1.0
info:
  title: OCPP JSON Schemas
  version: 2.0.1
paths: {}
tags:
  - name: authorizerequest
    x-displayName: AuthorizeRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/AuthorizeRequest" />
  - name: authorizeresponse
    x-displayName: AuthorizeResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/AuthorizeResponse" />
  - name: bootnotificationrequest
    x-displayName: BootNotificationRequest
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/BootNotificationRequest"
      />
  - name: bootnotificationresponse
    x-displayName: BootNotificationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/BootNotificationResponse" />
  - name: cancelreservationrequest
    x-displayName: CancelReservationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/CancelReservationRequest" />
  - name: cancelreservationresponse
    x-displayName: CancelReservationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/CancelReservationResponse" />
  - name: certificatesignedrequest
    x-displayName: CertificateSignedRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/CertificateSignedRequest" />
  - name: certificatesignedresponse
    x-displayName: CertificateSignedResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/CertificateSignedResponse" />
  - name: changeavailabilityrequest
    x-displayName: ChangeAvailabilityRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ChangeAvailabilityRequest" />
  - name: changeavailabilityresponse
    x-displayName: ChangeAvailabilityResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ChangeAvailabilityResponse" />
  - name: clearcacherequest
    x-displayName: ClearCacheRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/ClearCacheRequest" />
  - name: clearcacheresponse
    x-displayName: ClearCacheResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/ClearCacheResponse" />
  - name: clearchargingprofilerequest
    x-displayName: ClearChargingProfileRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearChargingProfileRequest" />
  - name: clearchargingprofileresponse
    x-displayName: ClearChargingProfileResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearChargingProfileResponse" />
  - name: cleardisplaymessagerequest
    x-displayName: ClearDisplayMessageRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearDisplayMessageRequest" />
  - name: cleardisplaymessageresponse
    x-displayName: ClearDisplayMessageResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearDisplayMessageResponse" />
  - name: clearvariablemonitoringrequest
    x-displayName: ClearVariableMonitoringRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearVariableMonitoringRequest" />
  - name: clearvariablemonitoringresponse
    x-displayName: ClearVariableMonitoringResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearVariableMonitoringResponse" />
  - name: clearedcharginglimitrequest
    x-displayName: ClearedChargingLimitRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearedChargingLimitRequest" />
  - name: clearedcharginglimitresponse
    x-displayName: ClearedChargingLimitResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ClearedChargingLimitResponse" />
  - name: costupdatedrequest
    x-displayName: CostUpdatedRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/CostUpdatedRequest" />
  - name: costupdatedresponse
    x-displayName: CostUpdatedResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/CostUpdatedResponse" />
  - name: customerinformationrequest
    x-displayName: CustomerInformationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/CustomerInformationRequest" />
  - name: customerinformationresponse
    x-displayName: CustomerInformationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/CustomerInformationResponse" />
  - name: datatransferrequest
    x-displayName: DataTransferRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/DataTransferRequest" />
  - name: datatransferresponse
    x-displayName: DataTransferResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/DataTransferResponse" />
  - name: deletecertificaterequest
    x-displayName: DeleteCertificateRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/DeleteCertificateRequest" />
  - name: deletecertificateresponse
    x-displayName: DeleteCertificateResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/DeleteCertificateResponse" />
  - name: firmwarestatusnotificationrequest
    x-displayName: FirmwareStatusNotificationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/FirmwareStatusNotificationRequest" />
  - name: firmwarestatusnotificationresponse
    x-displayName: FirmwareStatusNotificationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/FirmwareStatusNotificationResponse" />
  - name: get15118evcertificaterequest
    x-displayName: Get15118EVCertificateRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/Get15118EVCertificateRequest" />
  - name: get15118evcertificateresponse
    x-displayName: Get15118EVCertificateResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/Get15118EVCertificateResponse" />
  - name: getbasereportrequest
    x-displayName: GetBaseReportRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/GetBaseReportRequest" />
  - name: getbasereportresponse
    x-displayName: GetBaseReportResponse
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/GetBaseReportResponse"
      />
  - name: getcertificatestatusrequest
    x-displayName: GetCertificateStatusRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetCertificateStatusRequest" />
  - name: getcertificatestatusresponse
    x-displayName: GetCertificateStatusResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetCertificateStatusResponse" />
  - name: getchargingprofilesrequest
    x-displayName: GetChargingProfilesRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetChargingProfilesRequest" />
  - name: getchargingprofilesresponse
    x-displayName: GetChargingProfilesResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetChargingProfilesResponse" />
  - name: getcompositeschedulerequest
    x-displayName: GetCompositeScheduleRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetCompositeScheduleRequest" />
  - name: getcompositescheduleresponse
    x-displayName: GetCompositeScheduleResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetCompositeScheduleResponse" />
  - name: getdisplaymessagesrequest
    x-displayName: GetDisplayMessagesRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetDisplayMessagesRequest" />
  - name: getdisplaymessagesresponse
    x-displayName: GetDisplayMessagesResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetDisplayMessagesResponse" />
  - name: getinstalledcertificateidsrequest
    x-displayName: GetInstalledCertificateIdsRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetInstalledCertificateIdsRequest" />
  - name: getinstalledcertificateidsresponse
    x-displayName: GetInstalledCertificateIdsResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetInstalledCertificateIdsResponse" />
  - name: getlocallistversionrequest
    x-displayName: GetLocalListVersionRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetLocalListVersionRequest" />
  - name: getlocallistversionresponse
    x-displayName: GetLocalListVersionResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetLocalListVersionResponse" />
  - name: getlogrequest
    x-displayName: GetLogRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/GetLogRequest" />
  - name: getlogresponse
    x-displayName: GetLogResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/GetLogResponse" />
  - name: getmonitoringreportrequest
    x-displayName: GetMonitoringReportRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetMonitoringReportRequest" />
  - name: getmonitoringreportresponse
    x-displayName: GetMonitoringReportResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetMonitoringReportResponse" />
  - name: getreportrequest
    x-displayName: GetReportRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/GetReportRequest" />
  - name: getreportresponse
    x-displayName: GetReportResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/GetReportResponse" />
  - name: gettransactionstatusrequest
    x-displayName: GetTransactionStatusRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetTransactionStatusRequest" />
  - name: gettransactionstatusresponse
    x-displayName: GetTransactionStatusResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/GetTransactionStatusResponse" />
  - name: getvariablesrequest
    x-displayName: GetVariablesRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/GetVariablesRequest" />
  - name: getvariablesresponse
    x-displayName: GetVariablesResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/GetVariablesResponse" />
  - name: heartbeatrequest
    x-displayName: HeartbeatRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/HeartbeatRequest" />
  - name: heartbeatresponse
    x-displayName: HeartbeatResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/HeartbeatResponse" />
  - name: installcertificaterequest
    x-displayName: InstallCertificateRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/InstallCertificateRequest" />
  - name: installcertificateresponse
    x-displayName: InstallCertificateResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/InstallCertificateResponse" />
  - name: logstatusnotificationrequest
    x-displayName: LogStatusNotificationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/LogStatusNotificationRequest" />
  - name: logstatusnotificationresponse
    x-displayName: LogStatusNotificationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/LogStatusNotificationResponse" />
  - name: metervaluesrequest
    x-displayName: MeterValuesRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/MeterValuesRequest" />
  - name: metervaluesresponse
    x-displayName: MeterValuesResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/MeterValuesResponse" />
  - name: notifycharginglimitrequest
    x-displayName: NotifyChargingLimitRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyChargingLimitRequest" />
  - name: notifycharginglimitresponse
    x-displayName: NotifyChargingLimitResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyChargingLimitResponse" />
  - name: notifycustomerinformationrequest
    x-displayName: NotifyCustomerInformationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyCustomerInformationRequest" />
  - name: notifycustomerinformationresponse
    x-displayName: NotifyCustomerInformationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyCustomerInformationResponse" />
  - name: notifydisplaymessagesrequest
    x-displayName: NotifyDisplayMessagesRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyDisplayMessagesRequest" />
  - name: notifydisplaymessagesresponse
    x-displayName: NotifyDisplayMessagesResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyDisplayMessagesResponse" />
  - name: notifyevchargingneedsrequest
    x-displayName: NotifyEVChargingNeedsRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyEVChargingNeedsRequest" />
  - name: notifyevchargingneedsresponse
    x-displayName: NotifyEVChargingNeedsResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyEVChargingNeedsResponse" />
  - name: notifyevchargingschedulerequest
    x-displayName: NotifyEVChargingScheduleRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyEVChargingScheduleRequest" />
  - name: notifyevchargingscheduleresponse
    x-displayName: NotifyEVChargingScheduleResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyEVChargingScheduleResponse" />
  - name: notifyeventrequest
    x-displayName: NotifyEventRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/NotifyEventRequest" />
  - name: notifyeventresponse
    x-displayName: NotifyEventResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/NotifyEventResponse" />
  - name: notifymonitoringreportrequest
    x-displayName: NotifyMonitoringReportRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyMonitoringReportRequest" />
  - name: notifymonitoringreportresponse
    x-displayName: NotifyMonitoringReportResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NotifyMonitoringReportResponse" />
  - name: notifyreportrequest
    x-displayName: NotifyReportRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/NotifyReportRequest" />
  - name: notifyreportresponse
    x-displayName: NotifyReportResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/NotifyReportResponse" />
  - name: publishfirmwarerequest
    x-displayName: PublishFirmwareRequest
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/PublishFirmwareRequest"
      />
  - name: publishfirmwareresponse
    x-displayName: PublishFirmwareResponse
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/PublishFirmwareResponse"
      />
  - name: publishfirmwarestatusnotificationrequest
    x-displayName: PublishFirmwareStatusNotificationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/PublishFirmwareStatusNotificationRequest"
      />
  - name: publishfirmwarestatusnotificationresponse
    x-displayName: PublishFirmwareStatusNotificationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/PublishFirmwareStatusNotificationResponse"
      />
  - name: reportchargingprofilesrequest
    x-displayName: ReportChargingProfilesRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ReportChargingProfilesRequest" />
  - name: reportchargingprofilesresponse
    x-displayName: ReportChargingProfilesResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ReportChargingProfilesResponse" />
  - name: requeststarttransactionrequest
    x-displayName: RequestStartTransactionRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/RequestStartTransactionRequest" />
  - name: requeststarttransactionresponse
    x-displayName: RequestStartTransactionResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/RequestStartTransactionResponse" />
  - name: requeststoptransactionrequest
    x-displayName: RequestStopTransactionRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/RequestStopTransactionRequest" />
  - name: requeststoptransactionresponse
    x-displayName: RequestStopTransactionResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/RequestStopTransactionResponse" />
  - name: reservationstatusupdaterequest
    x-displayName: ReservationStatusUpdateRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ReservationStatusUpdateRequest" />
  - name: reservationstatusupdateresponse
    x-displayName: ReservationStatusUpdateResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ReservationStatusUpdateResponse" />
  - name: reservenowrequest
    x-displayName: ReserveNowRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/ReserveNowRequest" />
  - name: reservenowresponse
    x-displayName: ReserveNowResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/ReserveNowResponse" />
  - name: resetrequest
    x-displayName: ResetRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/ResetRequest" />
  - name: resetresponse
    x-displayName: ResetResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/ResetResponse" />
  - name: securityeventnotificationrequest
    x-displayName: SecurityEventNotificationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SecurityEventNotificationRequest" />
  - name: securityeventnotificationresponse
    x-displayName: SecurityEventNotificationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SecurityEventNotificationResponse" />
  - name: sendlocallistrequest
    x-displayName: SendLocalListRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/SendLocalListRequest" />
  - name: sendlocallistresponse
    x-displayName: SendLocalListResponse
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/SendLocalListResponse"
      />
  - name: setchargingprofilerequest
    x-displayName: SetChargingProfileRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetChargingProfileRequest" />
  - name: setchargingprofileresponse
    x-displayName: SetChargingProfileResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetChargingProfileResponse" />
  - name: setdisplaymessagerequest
    x-displayName: SetDisplayMessageRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetDisplayMessageRequest" />
  - name: setdisplaymessageresponse
    x-displayName: SetDisplayMessageResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetDisplayMessageResponse" />
  - name: setmonitoringbaserequest
    x-displayName: SetMonitoringBaseRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetMonitoringBaseRequest" />
  - name: setmonitoringbaseresponse
    x-displayName: SetMonitoringBaseResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetMonitoringBaseResponse" />
  - name: setmonitoringlevelrequest
    x-displayName: SetMonitoringLevelRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetMonitoringLevelRequest" />
  - name: setmonitoringlevelresponse
    x-displayName: SetMonitoringLevelResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetMonitoringLevelResponse" />
  - name: setnetworkprofilerequest
    x-displayName: SetNetworkProfileRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetNetworkProfileRequest" />
  - name: setnetworkprofileresponse
    x-displayName: SetNetworkProfileResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetNetworkProfileResponse" />
  - name: setvariablemonitoringrequest
    x-displayName: SetVariableMonitoringRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetVariableMonitoringRequest" />
  - name: setvariablemonitoringresponse
    x-displayName: SetVariableMonitoringResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SetVariableMonitoringResponse" />
  - name: setvariablesrequest
    x-displayName: SetVariablesRequest
    description: <SchemaDefinition schemaRef="#/components/schemas/SetVariablesRequest" />
  - name: setvariablesresponse
    x-displayName: SetVariablesResponse
    description: <SchemaDefinition schemaRef="#/components/schemas/SetVariablesResponse" />
  - name: signcertificaterequest
    x-displayName: SignCertificateRequest
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/SignCertificateRequest"
      />
  - name: signcertificateresponse
    x-displayName: SignCertificateResponse
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/SignCertificateResponse"
      />
  - name: statusnotificationrequest
    x-displayName: StatusNotificationRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/StatusNotificationRequest" />
  - name: statusnotificationresponse
    x-displayName: StatusNotificationResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/StatusNotificationResponse" />
  - name: transactioneventrequest
    x-displayName: TransactionEventRequest
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/TransactionEventRequest"
      />
  - name: transactioneventresponse
    x-displayName: TransactionEventResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/TransactionEventResponse" />
  - name: triggermessagerequest
    x-displayName: TriggerMessageRequest
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/TriggerMessageRequest"
      />
  - name: triggermessageresponse
    x-displayName: TriggerMessageResponse
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/TriggerMessageResponse"
      />
  - name: unlockconnectorrequest
    x-displayName: UnlockConnectorRequest
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/UnlockConnectorRequest"
      />
  - name: unlockconnectorresponse
    x-displayName: UnlockConnectorResponse
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/UnlockConnectorResponse"
      />
  - name: unpublishfirmwarerequest
    x-displayName: UnpublishFirmwareRequest
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/UnpublishFirmwareRequest" />
  - name: unpublishfirmwareresponse
    x-displayName: UnpublishFirmwareResponse
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/UnpublishFirmwareResponse" />
  - name: updatefirmwarerequest
    x-displayName: UpdateFirmwareRequest
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/UpdateFirmwareRequest"
      />
  - name: updatefirmwareresponse
    x-displayName: UpdateFirmwareResponse
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/UpdateFirmwareResponse"
      />
x-tagGroups:
  - name: Request Schemas
    tags:
      - authorizerequest
      - bootnotificationrequest
      - cancelreservationrequest
      - certificatesignedrequest
      - changeavailabilityrequest
      - clearcacherequest
      - clearchargingprofilerequest
      - cleardisplaymessagerequest
      - clearvariablemonitoringrequest
      - clearedcharginglimitrequest
      - costupdatedrequest
      - customerinformationrequest
      - datatransferrequest
      - deletecertificaterequest
      - firmwarestatusnotificationrequest
      - get15118evcertificaterequest
      - getbasereportrequest
      - getcertificatestatusrequest
      - getchargingprofilesrequest
      - getcompositeschedulerequest
      - getdisplaymessagesrequest
      - getinstalledcertificateidsrequest
      - getlocallistversionrequest
      - getlogrequest
      - getmonitoringreportrequest
      - getreportrequest
      - gettransactionstatusrequest
      - getvariablesrequest
      - heartbeatrequest
      - installcertificaterequest
      - logstatusnotificationrequest
      - metervaluesrequest
      - notifycharginglimitrequest
      - notifycustomerinformationrequest
      - notifydisplaymessagesrequest
      - notifyevchargingneedsrequest
      - notifyevchargingschedulerequest
      - notifyeventrequest
      - notifymonitoringreportrequest
      - notifyreportrequest
      - publishfirmwarerequest
      - publishfirmwarestatusnotificationrequest
      - reportchargingprofilesrequest
      - requeststarttransactionrequest
      - requeststoptransactionrequest
      - reservationstatusupdaterequest
      - reservenowrequest
      - resetrequest
      - securityeventnotificationrequest
      - sendlocallistrequest
      - setchargingprofilerequest
      - setdisplaymessagerequest
      - setmonitoringbaserequest
      - setmonitoringlevelrequest
      - setnetworkprofilerequest
      - setvariablemonitoringrequest
      - setvariablesrequest
      - signcertificaterequest
      - statusnotificationrequest
      - transactioneventrequest
      - triggermessagerequest
      - unlockconnectorrequest
      - unpublishfirmwarerequest
      - updatefirmwarerequest
  - name: Response Schemas
    tags:
      - authorizeresponse
      - bootnotificationresponse
      - cancelreservationresponse
      - certificatesignedresponse
      - changeavailabilityresponse
      - clearcacheresponse
      - clearchargingprofileresponse
      - cleardisplaymessageresponse
      - clearvariablemonitoringresponse
      - clearedcharginglimitresponse
      - costupdatedresponse
      - customerinformationresponse
      - datatransferresponse
      - deletecertificateresponse
      - firmwarestatusnotificationresponse
      - get15118evcertificateresponse
      - getbasereportresponse
      - getcertificatestatusresponse
      - getchargingprofilesresponse
      - getcompositescheduleresponse
      - getdisplaymessagesresponse
      - getinstalledcertificateidsresponse
      - getlocallistversionresponse
      - getlogresponse
      - getmonitoringreportresponse
      - getreportresponse
      - gettransactionstatusresponse
      - getvariablesresponse
      - heartbeatresponse
      - installcertificateresponse
      - logstatusnotificationresponse
      - metervaluesresponse
      - notifycharginglimitresponse
      - notifycustomerinformationresponse
      - notifydisplaymessagesresponse
      - notifyevchargingneedsresponse
      - notifyevchargingscheduleresponse
      - notifyeventresponse
      - notifymonitoringreportresponse
      - notifyreportresponse
      - publishfirmwareresponse
      - publishfirmwarestatusnotificationresponse
      - reportchargingprofilesresponse
      - requeststarttransactionresponse
      - requeststoptransactionresponse
      - reservationstatusupdateresponse
      - reservenowresponse
      - resetresponse
      - securityeventnotificationresponse
      - sendlocallistresponse
      - setchargingprofileresponse
      - setdisplaymessageresponse
      - setmonitoringbaseresponse
      - setmonitoringlevelresponse
      - setnetworkprofileresponse
      - setvariablemonitoringresponse
      - setvariablesresponse
      - signcertificateresponse
      - statusnotificationresponse
      - transactioneventresponse
      - triggermessageresponse
      - unlockconnectorresponse
      - unpublishfirmwareresponse
      - updatefirmwareresponse
components:
  schemas:
    AuthorizeRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Authorize
          description: Action (without Request)
        - $ref: '#/components/schemas/AuthorizeRequestPayload'
      minItems: 4
      maxItems: 4
    CustomDataType:
      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.
      type: object
      properties:
        vendorId:
          type: string
          maxLength: 255
      required:
        - vendorId
      x-javaType: CustomData
    HashAlgorithmEnumType:
      description: "Used algorithms for the hashes provided.\r\n"
      type: string
      additionalProperties: false
      enum:
        - SHA256
        - SHA384
        - SHA512
      x-javaType: HashAlgorithmEnum
    IdTokenEnumType:
      description: "Enumeration of possible idToken types.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Central
        - eMAID
        - ISO14443
        - ISO15693
        - KeyCode
        - Local
        - MacAddress
        - NoAuthorization
      x-javaType: IdTokenEnum
    AdditionalInfoType:
      description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        additionalIdToken:
          description: "This field specifies the additional IdToken.\r\n"
          type: string
          maxLength: 36
        type:
          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"
          type: string
          maxLength: 50
      required:
        - additionalIdToken
        - type
      x-javaType: AdditionalInfo
    IdTokenType:
      description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        additionalInfo:
          type: array
          items:
            description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              additionalIdToken:
                description: "This field specifies the additional IdToken.\r\n"
                type: string
                maxLength: 36
              type:
                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"
                type: string
                maxLength: 50
            required:
              - additionalIdToken
              - type
            x-javaType: AdditionalInfo
          minItems: 1
          x-additionalItems: false
        idToken:
          description: "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n"
          type: string
          maxLength: 36
        type:
          description: "Enumeration of possible idToken types.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Central
            - eMAID
            - ISO14443
            - ISO15693
            - KeyCode
            - Local
            - MacAddress
            - NoAuthorization
          x-javaType: IdTokenEnum
      required:
        - idToken
        - type
      x-javaType: IdToken
    OCSPRequestDataType:
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        hashAlgorithm:
          description: "Used algorithms for the hashes provided.\r\n"
          type: string
          additionalProperties: false
          enum:
            - SHA256
            - SHA384
            - SHA512
          x-javaType: HashAlgorithmEnum
        issuerNameHash:
          description: "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n"
          type: string
          maxLength: 128
        issuerKeyHash:
          description: "Hashed value of the issuers public key\r\n"
          type: string
          maxLength: 128
        serialNumber:
          description: "The serial number of the certificate.\r\n"
          type: string
          maxLength: 40
        responderURL:
          description: "This contains the responder URL (Case insensitive). \r\n\r\n"
          type: string
          maxLength: 512
      required:
        - hashAlgorithm
        - issuerNameHash
        - issuerKeyHash
        - serialNumber
        - responderURL
      x-javaType: OCSPRequestData
    AuthorizeRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        idToken:
          $ref: '#/components/schemas/IdTokenType'
        certificate:
          description: "The X.509 certificated presented by EV and encoded in PEM format.\r\n"
          type: string
          maxLength: 5500
        iso15118CertificateHashData:
          type: array
          items:
            $ref: '#/components/schemas/OCSPRequestDataType'
          minItems: 1
          maxItems: 4
          x-additionalItems: false
      required:
        - idToken
    AuthorizeResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Authorize
          description: Action (without Response)
        - $ref: '#/components/schemas/AuthorizeResponsePayload'
      minItems: 4
      maxItems: 4
    AuthorizationStatusEnumType:
      description: "ID_ Token. Status. Authorization_ Status\r\nurn:x-oca:ocpp:uid:1:569372\r\nCurrent status of the ID Token.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Blocked
        - ConcurrentTx
        - Expired
        - Invalid
        - NoCredit
        - NotAllowedTypeEVSE
        - NotAtThisLocation
        - NotAtThisTime
        - Unknown
      x-javaType: AuthorizationStatusEnum
    AuthorizeCertificateStatusEnumType:
      description: "Certificate status information. \r\n- if all certificates are valid: return 'Accepted'.\r\n- if one of the certificates was revoked, return 'CertificateRevoked'.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - SignatureError
        - CertificateExpired
        - CertificateRevoked
        - NoCertificateAvailable
        - CertChainError
        - ContractCancelled
      x-javaType: AuthorizeCertificateStatusEnum
    MessageFormatEnumType:
      description: "Message_ Content. Format. Message_ Format_ Code\r\nurn:x-enexis:ecdm:uid:1:570848\r\nFormat of the message.\r\n"
      type: string
      additionalProperties: false
      enum:
        - ASCII
        - HTML
        - URI
        - UTF8
      x-javaType: MessageFormatEnum
    IdTokenInfoType:
      description: "ID_ Token\r\nurn:x-oca:ocpp:uid:2:233247\r\nContains status information about an identifier.\r\nIt is advised to not stop charging for a token that expires during charging, as ExpiryDate is only used for caching purposes. If ExpiryDate is not given, the status has no end date.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        status:
          description: "ID_ Token. Status. Authorization_ Status\r\nurn:x-oca:ocpp:uid:1:569372\r\nCurrent status of the ID Token.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Accepted
            - Blocked
            - ConcurrentTx
            - Expired
            - Invalid
            - NoCredit
            - NotAllowedTypeEVSE
            - NotAtThisLocation
            - NotAtThisTime
            - Unknown
          x-javaType: AuthorizationStatusEnum
        cacheExpiryDateTime:
          description: "ID_ Token. Expiry. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569373\r\nDate and Time after which the token must be considered invalid.\r\n"
          type: string
          format: date-time
        chargingPriority:
          description: "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in &lt;&lt;transactioneventresponse,TransactionEventResponse&gt;&gt; overrules this one. \r\n"
          type: integer
        language1:
          description: "ID_ Token. Language1. Language_ Code\r\nurn:x-oca:ocpp:uid:1:569374\r\nPreferred user interface language of identifier user. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n\r\n"
          type: string
          maxLength: 8
        evseId:
          description: "Only used when the IdToken is only valid for one or more specific EVSEs, not for the entire Charging Station.\r\n\r\n"
          type: array
          items:
            type: integer
          minItems: 1
          x-additionalItems: false
        groupIdToken:
          description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            additionalInfo:
              type: array
              items:
                description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
                type: object
                additionalProperties: false
                properties:
                  customData:
                    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.
                    type: object
                    properties:
                      vendorId:
                        type: string
                        maxLength: 255
                    required:
                      - vendorId
                    x-javaType: CustomData
                  additionalIdToken:
                    description: "This field specifies the additional IdToken.\r\n"
                    type: string
                    maxLength: 36
                  type:
                    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"
                    type: string
                    maxLength: 50
                required:
                  - additionalIdToken
                  - type
                x-javaType: AdditionalInfo
              minItems: 1
              x-additionalItems: false
            idToken:
              description: "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n"
              type: string
              maxLength: 36
            type:
              description: "Enumeration of possible idToken types.\r\n"
              type: string
              additionalProperties: false
              enum:
                - Central
                - eMAID
                - ISO14443
                - ISO15693
                - KeyCode
                - Local
                - MacAddress
                - NoAuthorization
              x-javaType: IdTokenEnum
          required:
            - idToken
            - type
          x-javaType: IdToken
        language2:
          description: "ID_ Token. Language2. Language_ Code\r\nurn:x-oca:ocpp:uid:1:569375\r\nSecond preferred user interface language of identifier user. Don’t use when language1 is omitted, has to be different from language1. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n"
          type: string
          maxLength: 8
        personalMessage:
          description: "Message_ Content\r\nurn:x-enexis:ecdm:uid:2:234490\r\nContains message details, for a message to be displayed on a Charging Station.\r\n\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            format:
              description: "Message_ Content. Format. Message_ Format_ Code\r\nurn:x-enexis:ecdm:uid:1:570848\r\nFormat of the message.\r\n"
              type: string
              additionalProperties: false
              enum:
                - ASCII
                - HTML
                - URI
                - UTF8
              x-javaType: MessageFormatEnum
            language:
              description: "Message_ Content. Language. Language_ Code\r\nurn:x-enexis:ecdm:uid:1:570849\r\nMessage language identifier. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n"
              type: string
              maxLength: 8
            content:
              description: "Message_ Content. Content. Message\r\nurn:x-enexis:ecdm:uid:1:570852\r\nMessage contents.\r\n\r\n"
              type: string
              maxLength: 512
          required:
            - format
            - content
          x-javaType: MessageContent
      required:
        - status
      x-javaType: IdTokenInfo
    MessageContentType:
      description: "Message_ Content\r\nurn:x-enexis:ecdm:uid:2:234490\r\nContains message details, for a message to be displayed on a Charging Station.\r\n\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        format:
          description: "Message_ Content. Format. Message_ Format_ Code\r\nurn:x-enexis:ecdm:uid:1:570848\r\nFormat of the message.\r\n"
          type: string
          additionalProperties: false
          enum:
            - ASCII
            - HTML
            - URI
            - UTF8
          x-javaType: MessageFormatEnum
        language:
          description: "Message_ Content. Language. Language_ Code\r\nurn:x-enexis:ecdm:uid:1:570849\r\nMessage language identifier. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n"
          type: string
          maxLength: 8
        content:
          description: "Message_ Content. Content. Message\r\nurn:x-enexis:ecdm:uid:1:570852\r\nMessage contents.\r\n\r\n"
          type: string
          maxLength: 512
      required:
        - format
        - content
      x-javaType: MessageContent
    AuthorizeResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        idTokenInfo:
          $ref: '#/components/schemas/IdTokenInfoType'
        certificateStatus:
          $ref: '#/components/schemas/AuthorizeCertificateStatusEnumType'
      required:
        - idTokenInfo
    BootNotificationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: BootNotification
          description: Action (without Request)
        - $ref: '#/components/schemas/BootNotificationRequestPayload'
      minItems: 4
      maxItems: 4
    BootReasonEnumType:
      description: "This contains the reason for sending this message to the CSMS.\r\n"
      type: string
      additionalProperties: false
      enum:
        - ApplicationReset
        - FirmwareUpdate
        - LocalReset
        - PowerUp
        - RemoteReset
        - ScheduledReset
        - Triggered
        - Unknown
        - Watchdog
      x-javaType: BootReasonEnum
    ChargingStationType:
      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"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        serialNumber:
          description: "Device. Serial_ Number. Serial_ Number\r\nurn:x-oca:ocpp:uid:1:569324\r\nVendor-specific device identifier.\r\n"
          type: string
          maxLength: 25
        model:
          description: "Device. Model. CI20_ Text\r\nurn:x-oca:ocpp:uid:1:569325\r\nDefines the model of the device.\r\n"
          type: string
          maxLength: 20
        modem:
          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"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            iccid:
              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"
              type: string
              maxLength: 20
            imsi:
              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"
              type: string
              maxLength: 20
          x-javaType: Modem
        vendorName:
          description: "Identifies the vendor (not necessarily in a unique manner).\r\n"
          type: string
          maxLength: 50
        firmwareVersion:
          description: "This contains the firmware version of the Charging Station.\r\n\r\n"
          type: string
          maxLength: 50
      required:
        - model
        - vendorName
      x-javaType: ChargingStation
    ModemType:
      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"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        iccid:
          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"
          type: string
          maxLength: 20
        imsi:
          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"
          type: string
          maxLength: 20
      x-javaType: Modem
    BootNotificationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        chargingStation:
          $ref: '#/components/schemas/ChargingStationType'
        reason:
          $ref: '#/components/schemas/BootReasonEnumType'
      required:
        - reason
        - chargingStation
    BootNotificationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: BootNotification
          description: Action (without Response)
        - $ref: '#/components/schemas/BootNotificationResponsePayload'
      minItems: 4
      maxItems: 4
    RegistrationStatusEnumType:
      description: "This contains whether the Charging Station has been registered\r\nwithin the CSMS.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Pending
        - Rejected
      x-javaType: RegistrationStatusEnum
    StatusInfoType:
      description: "Element providing more information about the status.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        reasonCode:
          description: "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n"
          type: string
          maxLength: 20
        additionalInfo:
          description: "Additional text to provide detailed information.\r\n"
          type: string
          maxLength: 512
      required:
        - reasonCode
      x-javaType: StatusInfo
    BootNotificationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        currentTime:
          description: "This contains the CSMS’s current time.\r\n"
          type: string
          format: date-time
        interval:
          description: "When &lt;&lt;cmn_registrationstatusenumtype,Status&gt;&gt; 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"
          type: integer
        status:
          $ref: '#/components/schemas/RegistrationStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - currentTime
        - interval
        - status
    CancelReservationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CancelReservation
          description: Action (without Request)
        - $ref: '#/components/schemas/CancelReservationRequestPayload'
      minItems: 4
      maxItems: 4
    CancelReservationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        reservationId:
          description: "Id of the reservation to cancel.\r\n"
          type: integer
      required:
        - reservationId
    CancelReservationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CancelReservation
          description: Action (without Response)
        - $ref: '#/components/schemas/CancelReservationResponsePayload'
      minItems: 4
      maxItems: 4
    CancelReservationStatusEnumType:
      description: "This indicates the success or failure of the canceling of a reservation by CSMS.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
      x-javaType: CancelReservationStatusEnum
    CancelReservationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/CancelReservationStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    CertificateSignedRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CertificateSigned
          description: Action (without Request)
        - $ref: '#/components/schemas/CertificateSignedRequestPayload'
      minItems: 4
      maxItems: 4
    CertificateSigningUseEnumType:
      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"
      type: string
      additionalProperties: false
      enum:
        - ChargingStationCertificate
        - V2GCertificate
      x-javaType: CertificateSigningUseEnum
    CertificateSignedRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        certificateChain:
          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 &lt;&lt;configkey-max-certificate-chain-size,MaxCertificateChainSize&gt;&gt; can be used to limit the maximum size of this field.\r\n"
          type: string
          maxLength: 10000
        certificateType:
          $ref: '#/components/schemas/CertificateSigningUseEnumType'
      required:
        - certificateChain
    CertificateSignedResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CertificateSigned
          description: Action (without Response)
        - $ref: '#/components/schemas/CertificateSignedResponsePayload'
      minItems: 4
      maxItems: 4
    CertificateSignedStatusEnumType:
      description: "Returns whether certificate signing has been accepted, otherwise rejected.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
      x-javaType: CertificateSignedStatusEnum
    CertificateSignedResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/CertificateSignedStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    ChangeAvailabilityRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ChangeAvailability
          description: Action (without Request)
        - $ref: '#/components/schemas/ChangeAvailabilityRequestPayload'
      minItems: 4
      maxItems: 4
    OperationalStatusEnumType:
      description: "This contains the type of availability change that the Charging Station should perform.\r\n\r\n"
      type: string
      additionalProperties: false
      enum:
        - Inoperative
        - Operative
      x-javaType: OperationalStatusEnum
    EVSEType:
      description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        id:
          description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
          type: integer
        connectorId:
          description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
          type: integer
      required:
        - id
      x-javaType: EVSE
    ChangeAvailabilityRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        evse:
          $ref: '#/components/schemas/EVSEType'
        operationalStatus:
          $ref: '#/components/schemas/OperationalStatusEnumType'
      required:
        - operationalStatus
    ChangeAvailabilityResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ChangeAvailability
          description: Action (without Response)
        - $ref: '#/components/schemas/ChangeAvailabilityResponsePayload'
      minItems: 4
      maxItems: 4
    ChangeAvailabilityStatusEnumType:
      description: "This indicates whether the Charging Station is able to perform the availability change.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - Scheduled
      x-javaType: ChangeAvailabilityStatusEnum
    ChangeAvailabilityResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/ChangeAvailabilityStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    ClearCacheRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearCache
          description: Action (without Request)
        - $ref: '#/components/schemas/ClearCacheRequestPayload'
      minItems: 4
      maxItems: 4
    ClearCacheRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    ClearCacheResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearCache
          description: Action (without Response)
        - $ref: '#/components/schemas/ClearCacheResponsePayload'
      minItems: 4
      maxItems: 4
    ClearCacheStatusEnumType:
      description: "Accepted if the Charging Station has executed the request, otherwise rejected.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
      x-javaType: ClearCacheStatusEnum
    ClearCacheResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/ClearCacheStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    ClearChargingProfileRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearChargingProfile
          description: Action (without Request)
        - $ref: '#/components/schemas/ClearChargingProfileRequestPayload'
      minItems: 4
      maxItems: 4
    ChargingProfilePurposeEnumType:
      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"
      type: string
      additionalProperties: false
      enum:
        - ChargingStationExternalConstraints
        - ChargingStationMaxProfile
        - TxDefaultProfile
        - TxProfile
      x-javaType: ChargingProfilePurposeEnum
    ClearChargingProfileType:
      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"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        evseId:
          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"
          type: integer
        chargingProfilePurpose:
          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"
          type: string
          additionalProperties: false
          enum:
            - ChargingStationExternalConstraints
            - ChargingStationMaxProfile
            - TxDefaultProfile
            - TxProfile
          x-javaType: ChargingProfilePurposeEnum
        stackLevel:
          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"
          type: integer
      x-javaType: ClearChargingProfile
    ClearChargingProfileRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        chargingProfileId:
          description: "The Id of the charging profile to clear.\r\n"
          type: integer
        chargingProfileCriteria:
          $ref: '#/components/schemas/ClearChargingProfileType'
    ClearChargingProfileResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearChargingProfile
          description: Action (without Response)
        - $ref: '#/components/schemas/ClearChargingProfileResponsePayload'
      minItems: 4
      maxItems: 4
    ClearChargingProfileStatusEnumType:
      description: "Indicates if the Charging Station was able to execute the request.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Unknown
      x-javaType: ClearChargingProfileStatusEnum
    ClearChargingProfileResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/ClearChargingProfileStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    ClearDisplayMessageRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearDisplayMessage
          description: Action (without Request)
        - $ref: '#/components/schemas/ClearDisplayMessageRequestPayload'
      minItems: 4
      maxItems: 4
    ClearDisplayMessageRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        id:
          description: "Id of the message that SHALL be removed from the Charging Station.\r\n"
          type: integer
      required:
        - id
    ClearDisplayMessageResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearDisplayMessage
          description: Action (without Response)
        - $ref: '#/components/schemas/ClearDisplayMessageResponsePayload'
      minItems: 4
      maxItems: 4
    ClearMessageStatusEnumType:
      description: "Returns whether the Charging Station has been able to remove the message.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Unknown
      x-javaType: ClearMessageStatusEnum
    ClearDisplayMessageResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/ClearMessageStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    ClearVariableMonitoringRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearVariableMonitoring
          description: Action (without Request)
        - $ref: '#/components/schemas/ClearVariableMonitoringRequestPayload'
      minItems: 4
      maxItems: 4
    ClearVariableMonitoringRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        id:
          description: "List of the monitors to be cleared, identified by there Id.\r\n"
          type: array
          items:
            type: integer
          minItems: 1
          x-additionalItems: false
      required:
        - id
    ClearVariableMonitoringResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearVariableMonitoring
          description: Action (without Response)
        - $ref: '#/components/schemas/ClearVariableMonitoringResponsePayload'
      minItems: 4
      maxItems: 4
    ClearMonitoringStatusEnumType:
      description: "Result of the clear request for this monitor, identified by its Id.\r\n\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - NotFound
      x-javaType: ClearMonitoringStatusEnum
    ClearMonitoringResultType:
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        status:
          description: "Result of the clear request for this monitor, identified by its Id.\r\n\r\n"
          type: string
          additionalProperties: false
          enum:
            - Accepted
            - Rejected
            - NotFound
          x-javaType: ClearMonitoringStatusEnum
        id:
          description: "Id of the monitor of which a clear was requested.\r\n\r\n"
          type: integer
        statusInfo:
          description: "Element providing more information about the status.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            reasonCode:
              description: "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n"
              type: string
              maxLength: 20
            additionalInfo:
              description: "Additional text to provide detailed information.\r\n"
              type: string
              maxLength: 512
          required:
            - reasonCode
          x-javaType: StatusInfo
      required:
        - status
        - id
      x-javaType: ClearMonitoringResult
    ClearVariableMonitoringResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        clearMonitoringResult:
          type: array
          items:
            $ref: '#/components/schemas/ClearMonitoringResultType'
          minItems: 1
          x-additionalItems: false
      required:
        - clearMonitoringResult
    ClearedChargingLimitRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearedChargingLimit
          description: Action (without Request)
        - $ref: '#/components/schemas/ClearedChargingLimitRequestPayload'
      minItems: 4
      maxItems: 4
    ChargingLimitSourceEnumType:
      description: "Source that has installed this charging profile.\r\n"
      type: string
      additionalProperties: false
      enum:
        - EMS
        - Other
        - SO
        - CSO
      x-javaType: ChargingLimitSourceEnum
    ClearedChargingLimitRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        chargingLimitSource:
          $ref: '#/components/schemas/ChargingLimitSourceEnumType'
        evseId:
          description: "EVSE Identifier.\r\n"
          type: integer
      required:
        - chargingLimitSource
    ClearedChargingLimitResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ClearedChargingLimit
          description: Action (without Response)
        - $ref: '#/components/schemas/ClearedChargingLimitResponsePayload'
      minItems: 4
      maxItems: 4
    ClearedChargingLimitResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    CostUpdatedRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CostUpdated
          description: Action (without Request)
        - $ref: '#/components/schemas/CostUpdatedRequestPayload'
      minItems: 4
      maxItems: 4
    CostUpdatedRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        totalCost:
          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: [&lt;&lt;configkey-currency, Currency&gt;&gt;]\r\n\r\n"
          type: number
        transactionId:
          description: "Transaction Id of the transaction the current cost are asked for.\r\n\r\n"
          type: string
          maxLength: 36
      required:
        - totalCost
        - transactionId
    CostUpdatedResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CostUpdated
          description: Action (without Response)
        - $ref: '#/components/schemas/CostUpdatedResponsePayload'
      minItems: 4
      maxItems: 4
    CostUpdatedResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    CustomerInformationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CustomerInformation
          description: Action (without Request)
        - $ref: '#/components/schemas/CustomerInformationRequestPayload'
      minItems: 4
      maxItems: 4
    CertificateHashDataType:
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        hashAlgorithm:
          description: "Used algorithms for the hashes provided.\r\n"
          type: string
          additionalProperties: false
          enum:
            - SHA256
            - SHA384
            - SHA512
          x-javaType: HashAlgorithmEnum
        issuerNameHash:
          description: "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n"
          type: string
          maxLength: 128
        issuerKeyHash:
          description: "Hashed value of the issuers public key\r\n"
          type: string
          maxLength: 128
        serialNumber:
          description: "The serial number of the certificate.\r\n"
          type: string
          maxLength: 40
      required:
        - hashAlgorithm
        - issuerNameHash
        - issuerKeyHash
        - serialNumber
      x-javaType: CertificateHashData
    CustomerInformationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        customerCertificate:
          $ref: '#/components/schemas/CertificateHashDataType'
        idToken:
          $ref: '#/components/schemas/IdTokenType'
        requestId:
          description: "The Id of the request.\r\n\r\n"
          type: integer
        report:
          description: "Flag indicating whether the Charging Station should return NotifyCustomerInformationRequest messages containing information about the customer referred to.\r\n"
          type: boolean
        clear:
          description: "Flag indicating whether the Charging Station should clear all information about the customer referred to.\r\n"
          type: boolean
        customerIdentifier:
          description: "A (e.g. vendor specific) identifier of the customer this request refers to. This field contains a custom identifier other than IdToken and Certificate.\r\nOne of the possible identifiers (customerIdentifier, customerIdToken or customerCertificate) should be in the request message.\r\n"
          type: string
          maxLength: 64
      required:
        - requestId
        - report
        - clear
    CustomerInformationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: CustomerInformation
          description: Action (without Response)
        - $ref: '#/components/schemas/CustomerInformationResponsePayload'
      minItems: 4
      maxItems: 4
    CustomerInformationStatusEnumType:
      description: "Indicates whether the request was accepted.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - Invalid
      x-javaType: CustomerInformationStatusEnum
    CustomerInformationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/CustomerInformationStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    DataTransferRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: DataTransfer
          description: Action (without Request)
        - $ref: '#/components/schemas/DataTransferRequestPayload'
      minItems: 4
      maxItems: 4
    DataTransferRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        messageId:
          description: "May be used to indicate a specific message or implementation.\r\n"
          type: string
          maxLength: 50
        data:
          description: "Data without specified length or format. This needs to be decided by both parties (Open to implementation).\r\n"
        vendorId:
          description: "This identifies the Vendor specific implementation\r\n\r\n"
          type: string
          maxLength: 255
      required:
        - vendorId
    DataTransferResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: DataTransfer
          description: Action (without Response)
        - $ref: '#/components/schemas/DataTransferResponsePayload'
      minItems: 4
      maxItems: 4
    DataTransferStatusEnumType:
      description: "This indicates the success or failure of the data transfer.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - UnknownMessageId
        - UnknownVendorId
      x-javaType: DataTransferStatusEnum
    DataTransferResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/DataTransferStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
        data:
          description: "Data without specified length or format, in response to request.\r\n"
      required:
        - status
    DeleteCertificateRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: DeleteCertificate
          description: Action (without Request)
        - $ref: '#/components/schemas/DeleteCertificateRequestPayload'
      minItems: 4
      maxItems: 4
    DeleteCertificateRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        certificateHashData:
          $ref: '#/components/schemas/CertificateHashDataType'
      required:
        - certificateHashData
    DeleteCertificateResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: DeleteCertificate
          description: Action (without Response)
        - $ref: '#/components/schemas/DeleteCertificateResponsePayload'
      minItems: 4
      maxItems: 4
    DeleteCertificateStatusEnumType:
      description: "Charging Station indicates if it can process the request.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Failed
        - NotFound
      x-javaType: DeleteCertificateStatusEnum
    DeleteCertificateResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/DeleteCertificateStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    FirmwareStatusNotificationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: FirmwareStatusNotification
          description: Action (without Request)
        - $ref: '#/components/schemas/FirmwareStatusNotificationRequestPayload'
      minItems: 4
      maxItems: 4
    FirmwareStatusEnumType:
      description: "This contains the progress status of the firmware installation.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Downloaded
        - DownloadFailed
        - Downloading
        - DownloadScheduled
        - DownloadPaused
        - Idle
        - InstallationFailed
        - Installing
        - Installed
        - InstallRebooting
        - InstallScheduled
        - InstallVerificationFailed
        - InvalidSignature
        - SignatureVerified
      x-javaType: FirmwareStatusEnum
    FirmwareStatusNotificationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/FirmwareStatusEnumType'
        requestId:
          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"
          type: integer
      required:
        - status
    FirmwareStatusNotificationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: FirmwareStatusNotification
          description: Action (without Response)
        - $ref: '#/components/schemas/FirmwareStatusNotificationResponsePayload'
      minItems: 4
      maxItems: 4
    FirmwareStatusNotificationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    Get15118EVCertificateRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Get15118EVCertificate
          description: Action (without Request)
        - $ref: '#/components/schemas/Get15118EVCertificateRequestPayload'
      minItems: 4
      maxItems: 4
    CertificateActionEnumType:
      description: "Defines whether certificate needs to be installed or updated.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Install
        - Update
      x-javaType: CertificateActionEnum
    Get15118EVCertificateRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        iso15118SchemaVersion:
          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"
          type: string
          maxLength: 50
        action:
          $ref: '#/components/schemas/CertificateActionEnumType'
        exiRequest:
          description: "Raw CertificateInstallationReq request from EV, Base64 encoded.\r\n"
          type: string
          maxLength: 5600
      required:
        - iso15118SchemaVersion
        - action
        - exiRequest
    Get15118EVCertificateResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Get15118EVCertificate
          description: Action (without Response)
        - $ref: '#/components/schemas/Get15118EVCertificateResponsePayload'
      minItems: 4
      maxItems: 4
    Iso15118EVCertificateStatusEnumType:
      description: "Indicates whether the message was processed properly.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Failed
      x-javaType: Iso15118EVCertificateStatusEnum
    Get15118EVCertificateResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/Iso15118EVCertificateStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
        exiResponse:
          description: "Raw CertificateInstallationRes response for the EV, Base64 encoded.\r\n"
          type: string
          maxLength: 5600
      required:
        - status
        - exiResponse
    GetBaseReportRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetBaseReport
          description: Action (without Request)
        - $ref: '#/components/schemas/GetBaseReportRequestPayload'
      minItems: 4
      maxItems: 4
    ReportBaseEnumType:
      description: "This field specifies the report base.\r\n"
      type: string
      additionalProperties: false
      enum:
        - ConfigurationInventory
        - FullInventory
        - SummaryInventory
      x-javaType: ReportBaseEnum
    GetBaseReportRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        requestId:
          description: "The Id of the request.\r\n"
          type: integer
        reportBase:
          $ref: '#/components/schemas/ReportBaseEnumType'
      required:
        - requestId
        - reportBase
    GetBaseReportResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetBaseReport
          description: Action (without Response)
        - $ref: '#/components/schemas/GetBaseReportResponsePayload'
      minItems: 4
      maxItems: 4
    GenericDeviceModelStatusEnumType:
      description: "Indicates whether the Charging Station was able to accept the request.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - NotSupported
        - EmptyResultSet
      x-javaType: GenericDeviceModelStatusEnum
    GetBaseReportResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericDeviceModelStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    GetCertificateStatusRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetCertificateStatus
          description: Action (without Request)
        - $ref: '#/components/schemas/GetCertificateStatusRequestPayload'
      minItems: 4
      maxItems: 4
    GetCertificateStatusRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        ocspRequestData:
          $ref: '#/components/schemas/OCSPRequestDataType'
      required:
        - ocspRequestData
    GetCertificateStatusResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetCertificateStatus
          description: Action (without Response)
        - $ref: '#/components/schemas/GetCertificateStatusResponsePayload'
      minItems: 4
      maxItems: 4
    GetCertificateStatusEnumType:
      description: "This indicates whether the charging station was able to retrieve the OCSP certificate status.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Failed
      x-javaType: GetCertificateStatusEnum
    GetCertificateStatusResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GetCertificateStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
        ocspResult:
          description: "OCSPResponse class as defined in &lt;&lt;ref-ocpp_security_24, IETF RFC 6960&gt;&gt;. DER encoded (as defined in &lt;&lt;ref-ocpp_security_24, IETF RFC 6960&gt;&gt;), and then base64 encoded. MAY only be omitted when status is not Accepted.\r\n"
          type: string
          maxLength: 5500
      required:
        - status
    GetChargingProfilesRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetChargingProfiles
          description: Action (without Request)
        - $ref: '#/components/schemas/GetChargingProfilesRequestPayload'
      minItems: 4
      maxItems: 4
    ChargingProfileCriterionType:
      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"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        chargingProfilePurpose:
          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"
          type: string
          additionalProperties: false
          enum:
            - ChargingStationExternalConstraints
            - ChargingStationMaxProfile
            - TxDefaultProfile
            - TxProfile
          x-javaType: ChargingProfilePurposeEnum
        stackLevel:
          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"
          type: integer
        chargingProfileId:
          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 &lt;&lt;configkey-charging-profile-entries,ChargingProfileEntries.maxLimit&gt;&gt;\r\n\r\n"
          type: array
          items:
            type: integer
          minItems: 1
          x-additionalItems: false
        chargingLimitSource:
          description: "For which charging limit sources, charging profiles SHALL be reported. If omitted, the Charging Station SHALL not filter on chargingLimitSource.\r\n"
          type: array
          items:
            type: string
            additionalProperties: false
            enum:
              - EMS
              - Other
              - SO
              - CSO
            x-javaType: ChargingLimitSourceEnum
          minItems: 1
          maxItems: 4
          x-additionalItems: false
      x-javaType: ChargingProfileCriterion
    GetChargingProfilesRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        requestId:
          description: "Reference identification that is to be used by the Charging Station in the &lt;&lt;reportchargingprofilesrequest, ReportChargingProfilesRequest&gt;&gt; when provided.\r\n"
          type: integer
        evseId:
          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"
          type: integer
        chargingProfile:
          $ref: '#/components/schemas/ChargingProfileCriterionType'
      required:
        - requestId
        - chargingProfile
    GetChargingProfilesResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetChargingProfiles
          description: Action (without Response)
        - $ref: '#/components/schemas/GetChargingProfilesResponsePayload'
      minItems: 4
      maxItems: 4
    GetChargingProfileStatusEnumType:
      description: "This indicates whether the Charging Station is able to process this request and will send &lt;&lt;reportchargingprofilesrequest, ReportChargingProfilesRequest&gt;&gt; messages.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - NoProfiles
      x-javaType: GetChargingProfileStatusEnum
    GetChargingProfilesResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GetChargingProfileStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    GetCompositeScheduleRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetCompositeSchedule
          description: Action (without Request)
        - $ref: '#/components/schemas/GetCompositeScheduleRequestPayload'
      minItems: 4
      maxItems: 4
    ChargingRateUnitEnumType:
      description: "Charging_ Schedule. Charging_ Rate_ Unit. Charging_ Rate_ Unit_ Code\r\nurn:x-oca:ocpp:uid:1:569238\r\nThe unit of measure Limit is expressed in.\r\n"
      type: string
      additionalProperties: false
      enum:
        - W
        - A
      x-javaType: ChargingRateUnitEnum
    GetCompositeScheduleRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        duration:
          description: "Length of the requested schedule in seconds.\r\n\r\n"
          type: integer
        chargingRateUnit:
          $ref: '#/components/schemas/ChargingRateUnitEnumType'
        evseId:
          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"
          type: integer
      required:
        - duration
        - evseId
    GetCompositeScheduleResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetCompositeSchedule
          description: Action (without Response)
        - $ref: '#/components/schemas/GetCompositeScheduleResponsePayload'
      minItems: 4
      maxItems: 4
    GenericStatusEnumType:
      description: "Specifies whether the CSMS can process the request.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
      x-javaType: GenericStatusEnum
    ChargingSchedulePeriodType:
      description: "Charging_ Schedule_ Period\r\nurn:x-oca:ocpp:uid:2:233257\r\nCharging schedule period structure defines a time period in a charging schedule.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        startPeriod:
          description: "Charging_ Schedule_ Period. Start_ Period. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569240\r\nStart of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n"
          type: integer
        limit:
          description: "Charging_ Schedule_ Period. Limit. Measure\r\nurn:x-oca:ocpp:uid:1:569241\r\nCharging rate limit during the schedule period, in the applicable chargingRateUnit, for example in Amperes (A) or Watts (W). Accepts at most one digit fraction (e.g. 8.1).\r\n"
          type: number
        numberPhases:
          description: "Charging_ Schedule_ Period. Number_ Phases. Counter\r\nurn:x-oca:ocpp:uid:1:569242\r\nThe number of phases that can be used for charging. If a number of phases is needed, numberPhases=3 will be assumed unless another number is given.\r\n"
          type: integer
        phaseToUse:
          description: "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n"
          type: integer
      required:
        - startPeriod
        - limit
      x-javaType: ChargingSchedulePeriod
    CompositeScheduleType:
      description: "Composite_ Schedule\r\nurn:x-oca:ocpp:uid:2:233362\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        chargingSchedulePeriod:
          type: array
          items:
            description: "Charging_ Schedule_ Period\r\nurn:x-oca:ocpp:uid:2:233257\r\nCharging schedule period structure defines a time period in a charging schedule.\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              startPeriod:
                description: "Charging_ Schedule_ Period. Start_ Period. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569240\r\nStart of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n"
                type: integer
              limit:
                description: "Charging_ Schedule_ Period. Limit. Measure\r\nurn:x-oca:ocpp:uid:1:569241\r\nCharging rate limit during the schedule period, in the applicable chargingRateUnit, for example in Amperes (A) or Watts (W). Accepts at most one digit fraction (e.g. 8.1).\r\n"
                type: number
              numberPhases:
                description: "Charging_ Schedule_ Period. Number_ Phases. Counter\r\nurn:x-oca:ocpp:uid:1:569242\r\nThe number of phases that can be used for charging. If a number of phases is needed, numberPhases=3 will be assumed unless another number is given.\r\n"
                type: integer
              phaseToUse:
                description: "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n"
                type: integer
            required:
              - startPeriod
              - limit
            x-javaType: ChargingSchedulePeriod
          minItems: 1
          x-additionalItems: false
        evseId:
          description: "The ID of the EVSE for which the\r\nschedule is requested. When evseid=0, the\r\nCharging Station calculated the expected\r\nconsumption for the grid connection.\r\n"
          type: integer
        duration:
          description: "Duration of the schedule in seconds.\r\n"
          type: integer
        scheduleStart:
          description: "Composite_ Schedule. Start. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569456\r\nDate and time at which the schedule becomes active. All time measurements within the schedule are relative to this timestamp.\r\n"
          type: string
          format: date-time
        chargingRateUnit:
          description: "The unit of measure Limit is\r\nexpressed in.\r\n"
          type: string
          additionalProperties: false
          enum:
            - W
            - A
          x-javaType: ChargingRateUnitEnum
      required:
        - evseId
        - duration
        - scheduleStart
        - chargingRateUnit
        - chargingSchedulePeriod
      x-javaType: CompositeSchedule
    GetCompositeScheduleResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
        schedule:
          $ref: '#/components/schemas/CompositeScheduleType'
      required:
        - status
    GetDisplayMessagesRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetDisplayMessages
          description: Action (without Request)
        - $ref: '#/components/schemas/GetDisplayMessagesRequestPayload'
      minItems: 4
      maxItems: 4
    MessagePriorityEnumType:
      description: "Message_ Info. Priority. Message_ Priority_ Code\r\nurn:x-enexis:ecdm:uid:1:569253\r\nWith what priority should this message be shown\r\n"
      type: string
      additionalProperties: false
      enum:
        - AlwaysFront
        - InFront
        - NormalCycle
      x-javaType: MessagePriorityEnum
    MessageStateEnumType:
      description: "Message_ Info. State. Message_ State_ Code\r\nurn:x-enexis:ecdm:uid:1:569254\r\nDuring what state should this message be shown. When omitted this message should be shown in any state of the Charging Station.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Charging
        - Faulted
        - Idle
        - Unavailable
      x-javaType: MessageStateEnum
    GetDisplayMessagesRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        id:
          description: "If provided the Charging Station shall return Display Messages of the given ids. This field SHALL NOT contain more ids than set in &lt;&lt;configkey-number-of-display-messages,NumberOfDisplayMessages.maxLimit&gt;&gt;\r\n\r\n"
          type: array
          items:
            type: integer
          minItems: 1
          x-additionalItems: false
        requestId:
          description: "The Id of this request.\r\n"
          type: integer
        priority:
          $ref: '#/components/schemas/MessagePriorityEnumType'
        state:
          $ref: '#/components/schemas/MessageStateEnumType'
      required:
        - requestId
    GetDisplayMessagesResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetDisplayMessages
          description: Action (without Response)
        - $ref: '#/components/schemas/GetDisplayMessagesResponsePayload'
      minItems: 4
      maxItems: 4
    GetDisplayMessagesStatusEnumType:
      description: "Indicates if the Charging Station has Display Messages that match the request criteria in the &lt;&lt;getdisplaymessagesrequest,GetDisplayMessagesRequest&gt;&gt;\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Unknown
      x-javaType: GetDisplayMessagesStatusEnum
    GetDisplayMessagesResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GetDisplayMessagesStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    GetInstalledCertificateIdsRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetInstalledCertificateIds
          description: Action (without Request)
        - $ref: '#/components/schemas/GetInstalledCertificateIdsRequestPayload'
      minItems: 4
      maxItems: 4
    GetCertificateIdUseEnumType:
      description: "Indicates the type of the requested certificate(s).\r\n"
      type: string
      additionalProperties: false
      enum:
        - V2GRootCertificate
        - MORootCertificate
        - CSMSRootCertificate
        - V2GCertificateChain
        - ManufacturerRootCertificate
      x-javaType: GetCertificateIdUseEnum
    GetInstalledCertificateIdsRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        certificateType:
          description: "Indicates the type of certificates requested. When omitted, all certificate types are requested.\r\n"
          type: array
          items:
            $ref: '#/components/schemas/GetCertificateIdUseEnumType'
          minItems: 1
          x-additionalItems: false
    GetInstalledCertificateIdsResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetInstalledCertificateIds
          description: Action (without Response)
        - $ref: '#/components/schemas/GetInstalledCertificateIdsResponsePayload'
      minItems: 4
      maxItems: 4
    GetInstalledCertificateStatusEnumType:
      description: "Charging Station indicates if it can process the request.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - NotFound
      x-javaType: GetInstalledCertificateStatusEnum
    CertificateHashDataChainType:
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        certificateHashData:
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            hashAlgorithm:
              description: "Used algorithms for the hashes provided.\r\n"
              type: string
              additionalProperties: false
              enum:
                - SHA256
                - SHA384
                - SHA512
              x-javaType: HashAlgorithmEnum
            issuerNameHash:
              description: "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n"
              type: string
              maxLength: 128
            issuerKeyHash:
              description: "Hashed value of the issuers public key\r\n"
              type: string
              maxLength: 128
            serialNumber:
              description: "The serial number of the certificate.\r\n"
              type: string
              maxLength: 40
          required:
            - hashAlgorithm
            - issuerNameHash
            - issuerKeyHash
            - serialNumber
          x-javaType: CertificateHashData
        certificateType:
          description: "Indicates the type of the requested certificate(s).\r\n"
          type: string
          additionalProperties: false
          enum:
            - V2GRootCertificate
            - MORootCertificate
            - CSMSRootCertificate
            - V2GCertificateChain
            - ManufacturerRootCertificate
          x-javaType: GetCertificateIdUseEnum
        childCertificateHashData:
          type: array
          items:
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              hashAlgorithm:
                description: "Used algorithms for the hashes provided.\r\n"
                type: string
                additionalProperties: false
                enum:
                  - SHA256
                  - SHA384
                  - SHA512
                x-javaType: HashAlgorithmEnum
              issuerNameHash:
                description: "Hashed value of the Issuer DN (Distinguished Name).\r\n\r\n"
                type: string
                maxLength: 128
              issuerKeyHash:
                description: "Hashed value of the issuers public key\r\n"
                type: string
                maxLength: 128
              serialNumber:
                description: "The serial number of the certificate.\r\n"
                type: string
                maxLength: 40
            required:
              - hashAlgorithm
              - issuerNameHash
              - issuerKeyHash
              - serialNumber
            x-javaType: CertificateHashData
          minItems: 1
          maxItems: 4
          x-additionalItems: false
      required:
        - certificateType
        - certificateHashData
      x-javaType: CertificateHashDataChain
    GetInstalledCertificateIdsResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GetInstalledCertificateStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
        certificateHashDataChain:
          type: array
          items:
            $ref: '#/components/schemas/CertificateHashDataChainType'
          minItems: 1
          x-additionalItems: false
      required:
        - status
    GetLocalListVersionRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetLocalListVersion
          description: Action (without Request)
        - $ref: '#/components/schemas/GetLocalListVersionRequestPayload'
      minItems: 4
      maxItems: 4
    GetLocalListVersionRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    GetLocalListVersionResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetLocalListVersion
          description: Action (without Response)
        - $ref: '#/components/schemas/GetLocalListVersionResponsePayload'
      minItems: 4
      maxItems: 4
    GetLocalListVersionResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        versionNumber:
          description: "This contains the current version number of the local authorization list in the Charging Station.\r\n"
          type: integer
      required:
        - versionNumber
    GetLogRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetLog
          description: Action (without Request)
        - $ref: '#/components/schemas/GetLogRequestPayload'
      minItems: 4
      maxItems: 4
    LogEnumType:
      description: "This contains the type of log file that the Charging Station\r\nshould send.\r\n"
      type: string
      additionalProperties: false
      enum:
        - DiagnosticsLog
        - SecurityLog
      x-javaType: LogEnum
    LogParametersType:
      description: "Log\r\nurn:x-enexis:ecdm:uid:2:233373\r\nGeneric class for the configuration of logging entries.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        remoteLocation:
          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"
          type: string
          maxLength: 512
        oldestTimestamp:
          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"
          type: string
          format: date-time
        latestTimestamp:
          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"
          type: string
          format: date-time
      required:
        - remoteLocation
      x-javaType: LogParameters
    GetLogRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        log:
          $ref: '#/components/schemas/LogParametersType'
        logType:
          $ref: '#/components/schemas/LogEnumType'
        requestId:
          description: "The Id of this request\r\n"
          type: integer
        retries:
          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"
          type: integer
        retryInterval:
          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"
          type: integer
      required:
        - logType
        - requestId
        - log
    GetLogResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetLog
          description: Action (without Response)
        - $ref: '#/components/schemas/GetLogResponsePayload'
      minItems: 4
      maxItems: 4
    LogStatusEnumType:
      description: "This field indicates whether the Charging Station was able to accept the request.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - AcceptedCanceled
      x-javaType: LogStatusEnum
    GetLogResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/LogStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
        filename:
          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"
          type: string
          maxLength: 255
      required:
        - status
    GetMonitoringReportRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetMonitoringReport
          description: Action (without Request)
        - $ref: '#/components/schemas/GetMonitoringReportRequestPayload'
      minItems: 4
      maxItems: 4
    MonitoringCriterionEnumType:
      type: string
      additionalProperties: false
      enum:
        - ThresholdMonitoring
        - DeltaMonitoring
        - PeriodicMonitoring
      x-javaType: MonitoringCriterionEnum
    ComponentType:
      description: "A physical or logical component\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        evse:
          description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            id:
              description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
              type: integer
            connectorId:
              description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
              type: integer
          required:
            - id
          x-javaType: EVSE
        name:
          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"
          type: string
          maxLength: 50
        instance:
          description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
          type: string
          maxLength: 50
      required:
        - name
      x-javaType: Component
    ComponentVariableType:
      description: "Class to report components, variables and variable attributes and characteristics.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
      required:
        - component
      x-javaType: ComponentVariable
    VariableType:
      description: "Reference key to a component-variable.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        name:
          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"
          type: string
          maxLength: 50
        instance:
          description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
          type: string
          maxLength: 50
      required:
        - name
      x-javaType: Variable
    GetMonitoringReportRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        componentVariable:
          type: array
          items:
            $ref: '#/components/schemas/ComponentVariableType'
          minItems: 1
          x-additionalItems: false
        requestId:
          description: "The Id of the request.\r\n"
          type: integer
        monitoringCriteria:
          description: "This field contains criteria for components for which a monitoring report is requested\r\n"
          type: array
          items:
            $ref: '#/components/schemas/MonitoringCriterionEnumType'
          minItems: 1
          maxItems: 3
          x-additionalItems: false
      required:
        - requestId
    GetMonitoringReportResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetMonitoringReport
          description: Action (without Response)
        - $ref: '#/components/schemas/GetMonitoringReportResponsePayload'
      minItems: 4
      maxItems: 4
    GetMonitoringReportResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericDeviceModelStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    GetReportRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetReport
          description: Action (without Request)
        - $ref: '#/components/schemas/GetReportRequestPayload'
      minItems: 4
      maxItems: 4
    ComponentCriterionEnumType:
      type: string
      additionalProperties: false
      enum:
        - Active
        - Available
        - Enabled
        - Problem
      x-javaType: ComponentCriterionEnum
    GetReportRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        componentVariable:
          type: array
          items:
            $ref: '#/components/schemas/ComponentVariableType'
          minItems: 1
          x-additionalItems: false
        requestId:
          description: "The Id of the request.\r\n"
          type: integer
        componentCriteria:
          description: "This field contains criteria for components for which a report is requested\r\n"
          type: array
          items:
            $ref: '#/components/schemas/ComponentCriterionEnumType'
          minItems: 1
          maxItems: 4
          x-additionalItems: false
      required:
        - requestId
    GetReportResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetReport
          description: Action (without Response)
        - $ref: '#/components/schemas/GetReportResponsePayload'
      minItems: 4
      maxItems: 4
    GetReportResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericDeviceModelStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    GetTransactionStatusRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetTransactionStatus
          description: Action (without Request)
        - $ref: '#/components/schemas/GetTransactionStatusRequestPayload'
      minItems: 4
      maxItems: 4
    GetTransactionStatusRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        transactionId:
          description: "The Id of the transaction for which the status is requested.\r\n"
          type: string
          maxLength: 36
    GetTransactionStatusResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetTransactionStatus
          description: Action (without Response)
        - $ref: '#/components/schemas/GetTransactionStatusResponsePayload'
      minItems: 4
      maxItems: 4
    GetTransactionStatusResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        ongoingIndicator:
          description: "Whether the transaction is still ongoing.\r\n"
          type: boolean
        messagesInQueue:
          description: "Whether there are still message to be delivered.\r\n"
          type: boolean
      required:
        - messagesInQueue
    GetVariablesRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetVariables
          description: Action (without Request)
        - $ref: '#/components/schemas/GetVariablesRequestPayload'
      minItems: 4
      maxItems: 4
    AttributeEnumType:
      description: "Type of attribute: Actual, Target, MinSet, MaxSet. Default is Actual when omitted.\r\n"
      type: string
      default: Actual
      additionalProperties: false
      enum:
        - Actual
        - Target
        - MinSet
        - MaxSet
      x-javaType: AttributeEnum
    GetVariableDataType:
      description: "Class to hold parameters for GetVariables request.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        attributeType:
          description: "Attribute type for which value is requested. When absent, default Actual is assumed.\r\n"
          type: string
          default: Actual
          additionalProperties: false
          enum:
            - Actual
            - Target
            - MinSet
            - MaxSet
          x-javaType: AttributeEnum
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
      required:
        - component
        - variable
      x-javaType: GetVariableData
    GetVariablesRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        getVariableData:
          type: array
          items:
            $ref: '#/components/schemas/GetVariableDataType'
          minItems: 1
          x-additionalItems: false
      required:
        - getVariableData
    GetVariablesResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: GetVariables
          description: Action (without Response)
        - $ref: '#/components/schemas/GetVariablesResponsePayload'
      minItems: 4
      maxItems: 4
    GetVariableStatusEnumType:
      description: "Result status of getting the variable.\r\n\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - UnknownComponent
        - UnknownVariable
        - NotSupportedAttributeType
      x-javaType: GetVariableStatusEnum
    GetVariableResultType:
      description: "Class to hold results of GetVariables request.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        attributeStatusInfo:
          description: "Element providing more information about the status.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            reasonCode:
              description: "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n"
              type: string
              maxLength: 20
            additionalInfo:
              description: "Additional text to provide detailed information.\r\n"
              type: string
              maxLength: 512
          required:
            - reasonCode
          x-javaType: StatusInfo
        attributeStatus:
          description: "Result status of getting the variable.\r\n\r\n"
          type: string
          additionalProperties: false
          enum:
            - Accepted
            - Rejected
            - UnknownComponent
            - UnknownVariable
            - NotSupportedAttributeType
          x-javaType: GetVariableStatusEnum
        attributeType:
          description: "Attribute type for which value is requested. When absent, default Actual is assumed.\r\n"
          type: string
          default: Actual
          additionalProperties: false
          enum:
            - Actual
            - Target
            - MinSet
            - MaxSet
          x-javaType: AttributeEnum
        attributeValue:
          description: "Value of requested attribute type of component-variable. This field can only be empty when the given status is NOT accepted.\r\n\r\nThe Configuration Variable &lt;&lt;configkey-reporting-value-size,ReportingValueSize&gt;&gt; can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n\r\n"
          type: string
          maxLength: 2500
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
      required:
        - attributeStatus
        - component
        - variable
      x-javaType: GetVariableResult
    GetVariablesResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        getVariableResult:
          type: array
          items:
            $ref: '#/components/schemas/GetVariableResultType'
          minItems: 1
          x-additionalItems: false
      required:
        - getVariableResult
    HeartbeatRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Heartbeat
          description: Action (without Request)
        - $ref: '#/components/schemas/HeartbeatRequestPayload'
      minItems: 4
      maxItems: 4
    HeartbeatRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    HeartbeatResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Heartbeat
          description: Action (without Response)
        - $ref: '#/components/schemas/HeartbeatResponsePayload'
      minItems: 4
      maxItems: 4
    HeartbeatResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        currentTime:
          description: "Contains the current time of the CSMS.\r\n"
          type: string
          format: date-time
      required:
        - currentTime
    InstallCertificateRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: InstallCertificate
          description: Action (without Request)
        - $ref: '#/components/schemas/InstallCertificateRequestPayload'
      minItems: 4
      maxItems: 4
    InstallCertificateUseEnumType:
      description: "Indicates the certificate type that is sent.\r\n"
      type: string
      additionalProperties: false
      enum:
        - V2GRootCertificate
        - MORootCertificate
        - CSMSRootCertificate
        - ManufacturerRootCertificate
      x-javaType: InstallCertificateUseEnum
    InstallCertificateRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        certificateType:
          $ref: '#/components/schemas/InstallCertificateUseEnumType'
        certificate:
          description: "A PEM encoded X.509 certificate.\r\n"
          type: string
          maxLength: 5500
      required:
        - certificateType
        - certificate
    InstallCertificateResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: InstallCertificate
          description: Action (without Response)
        - $ref: '#/components/schemas/InstallCertificateResponsePayload'
      minItems: 4
      maxItems: 4
    InstallCertificateStatusEnumType:
      description: "Charging Station indicates if installation was successful.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - Failed
      x-javaType: InstallCertificateStatusEnum
    InstallCertificateResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/InstallCertificateStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    LogStatusNotificationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: LogStatusNotification
          description: Action (without Request)
        - $ref: '#/components/schemas/LogStatusNotificationRequestPayload'
      minItems: 4
      maxItems: 4
    UploadLogStatusEnumType:
      description: "This contains the status of the log upload.\r\n"
      type: string
      additionalProperties: false
      enum:
        - BadMessage
        - Idle
        - NotSupportedOperation
        - PermissionDenied
        - Uploaded
        - UploadFailure
        - Uploading
        - AcceptedCanceled
      x-javaType: UploadLogStatusEnum
    LogStatusNotificationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/UploadLogStatusEnumType'
        requestId:
          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"
          type: integer
      required:
        - status
    LogStatusNotificationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: LogStatusNotification
          description: Action (without Response)
        - $ref: '#/components/schemas/LogStatusNotificationResponsePayload'
      minItems: 4
      maxItems: 4
    LogStatusNotificationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    MeterValuesRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: MeterValues
          description: Action (without Request)
        - $ref: '#/components/schemas/MeterValuesRequestPayload'
      minItems: 4
      maxItems: 4
    LocationEnumType:
      description: "Sampled_ Value. Location. Location_ Code\r\nurn:x-oca:ocpp:uid:1:569265\r\nIndicates where the measured value has been sampled. Default =  \"Outlet\"\r\n\r\n"
      type: string
      default: Outlet
      additionalProperties: false
      enum:
        - Body
        - Cable
        - EV
        - Inlet
        - Outlet
      x-javaType: LocationEnum
    MeasurandEnumType:
      description: "Sampled_ Value. Measurand. Measurand_ Code\r\nurn:x-oca:ocpp:uid:1:569263\r\nType of measurement. Default = \"Energy.Active.Import.Register\"\r\n"
      type: string
      default: Energy.Active.Import.Register
      additionalProperties: false
      enum:
        - Current.Export
        - Current.Import
        - Current.Offered
        - Energy.Active.Export.Register
        - Energy.Active.Import.Register
        - Energy.Reactive.Export.Register
        - Energy.Reactive.Import.Register
        - Energy.Active.Export.Interval
        - Energy.Active.Import.Interval
        - Energy.Active.Net
        - Energy.Reactive.Export.Interval
        - Energy.Reactive.Import.Interval
        - Energy.Reactive.Net
        - Energy.Apparent.Net
        - Energy.Apparent.Import
        - Energy.Apparent.Export
        - Frequency
        - Power.Active.Export
        - Power.Active.Import
        - Power.Factor
        - Power.Offered
        - Power.Reactive.Export
        - Power.Reactive.Import
        - SoC
        - Voltage
      x-javaType: MeasurandEnum
    PhaseEnumType:
      description: "Sampled_ Value. Phase. Phase_ Code\r\nurn:x-oca:ocpp:uid:1:569264\r\nIndicates how the measured value is to be interpreted. For instance between L1 and neutral (L1-N) Please note that not all values of phase are applicable to all Measurands. When phase is absent, the measured value is interpreted as an overall value.\r\n"
      type: string
      additionalProperties: false
      enum:
        - L1
        - L2
        - L3
        - 'N'
        - L1-N
        - L2-N
        - L3-N
        - L1-L2
        - L2-L3
        - L3-L1
      x-javaType: PhaseEnum
    ReadingContextEnumType:
      description: "Sampled_ Value. Context. Reading_ Context_ Code\r\nurn:x-oca:ocpp:uid:1:569261\r\nType of detail value: start, end or sample. Default = \"Sample.Periodic\"\r\n"
      type: string
      default: Sample.Periodic
      additionalProperties: false
      enum:
        - Interruption.Begin
        - Interruption.End
        - Other
        - Sample.Clock
        - Sample.Periodic
        - Transaction.Begin
        - Transaction.End
        - Trigger
      x-javaType: ReadingContextEnum
    MeterValueType:
      description: "Meter_ Value\r\nurn:x-oca:ocpp:uid:2:233265\r\nCollection of one or more sampled values in MeterValuesRequest and TransactionEvent. All sampled values in a MeterValue are sampled at the same point in time.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        sampledValue:
          type: array
          items:
            description: "Sampled_ Value\r\nurn:x-oca:ocpp:uid:2:233266\r\nSingle sampled value in MeterValues. Each value can be accompanied by optional fields.\r\n\r\nTo save on mobile data usage, default values of all of the optional fields are such that. The value without any additional fields will be interpreted, as a register reading of active import energy in Wh (Watt-hour) units.\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              value:
                description: "Sampled_ Value. Value. Measure\r\nurn:x-oca:ocpp:uid:1:569260\r\nIndicates the measured value.\r\n\r\n"
                type: number
              context:
                description: "Sampled_ Value. Context. Reading_ Context_ Code\r\nurn:x-oca:ocpp:uid:1:569261\r\nType of detail value: start, end or sample. Default = \"Sample.Periodic\"\r\n"
                type: string
                default: Sample.Periodic
                additionalProperties: false
                enum:
                  - Interruption.Begin
                  - Interruption.End
                  - Other
                  - Sample.Clock
                  - Sample.Periodic
                  - Transaction.Begin
                  - Transaction.End
                  - Trigger
                x-javaType: ReadingContextEnum
              measurand:
                description: "Sampled_ Value. Measurand. Measurand_ Code\r\nurn:x-oca:ocpp:uid:1:569263\r\nType of measurement. Default = \"Energy.Active.Import.Register\"\r\n"
                type: string
                default: Energy.Active.Import.Register
                additionalProperties: false
                enum:
                  - Current.Export
                  - Current.Import
                  - Current.Offered
                  - Energy.Active.Export.Register
                  - Energy.Active.Import.Register
                  - Energy.Reactive.Export.Register
                  - Energy.Reactive.Import.Register
                  - Energy.Active.Export.Interval
                  - Energy.Active.Import.Interval
                  - Energy.Active.Net
                  - Energy.Reactive.Export.Interval
                  - Energy.Reactive.Import.Interval
                  - Energy.Reactive.Net
                  - Energy.Apparent.Net
                  - Energy.Apparent.Import
                  - Energy.Apparent.Export
                  - Frequency
                  - Power.Active.Export
                  - Power.Active.Import
                  - Power.Factor
                  - Power.Offered
                  - Power.Reactive.Export
                  - Power.Reactive.Import
                  - SoC
                  - Voltage
                x-javaType: MeasurandEnum
              phase:
                description: "Sampled_ Value. Phase. Phase_ Code\r\nurn:x-oca:ocpp:uid:1:569264\r\nIndicates how the measured value is to be interpreted. For instance between L1 and neutral (L1-N) Please note that not all values of phase are applicable to all Measurands. When phase is absent, the measured value is interpreted as an overall value.\r\n"
                type: string
                additionalProperties: false
                enum:
                  - L1
                  - L2
                  - L3
                  - 'N'
                  - L1-N
                  - L2-N
                  - L3-N
                  - L1-L2
                  - L2-L3
                  - L3-L1
                x-javaType: PhaseEnum
              location:
                description: "Sampled_ Value. Location. Location_ Code\r\nurn:x-oca:ocpp:uid:1:569265\r\nIndicates where the measured value has been sampled. Default =  \"Outlet\"\r\n\r\n"
                type: string
                default: Outlet
                additionalProperties: false
                enum:
                  - Body
                  - Cable
                  - EV
                  - Inlet
                  - Outlet
                x-javaType: LocationEnum
              signedMeterValue:
                description: "Represent a signed version of the meter value.\r\n"
                type: object
                additionalProperties: false
                properties:
                  customData:
                    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.
                    type: object
                    properties:
                      vendorId:
                        type: string
                        maxLength: 255
                    required:
                      - vendorId
                    x-javaType: CustomData
                  signedMeterData:
                    description: "Base64 encoded, contains the signed data which might contain more then just the meter value. It can contain information like timestamps, reference to a customer etc.\r\n"
                    type: string
                    maxLength: 2500
                  signingMethod:
                    description: "Method used to create the digital signature.\r\n"
                    type: string
                    maxLength: 50
                  encodingMethod:
                    description: "Method used to encode the meter values before applying the digital signature algorithm.\r\n"
                    type: string
                    maxLength: 50
                  publicKey:
                    description: "Base64 encoded, sending depends on configuration variable _PublicKeyWithSignedMeterValue_.\r\n"
                    type: string
                    maxLength: 2500
                required:
                  - signedMeterData
                  - signingMethod
                  - encodingMethod
                  - publicKey
                x-javaType: SignedMeterValue
              unitOfMeasure:
                description: "Represents a UnitOfMeasure with a multiplier\r\n"
                type: object
                additionalProperties: false
                properties:
                  customData:
                    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.
                    type: object
                    properties:
                      vendorId:
                        type: string
                        maxLength: 255
                    required:
                      - vendorId
                    x-javaType: CustomData
                  unit:
                    description: "Unit of the value. Default = \"Wh\" if the (default) measurand is an \"Energy\" type.\r\nThis field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices. \r\nIf an applicable unit is available in that list, otherwise a \"custom\" unit might be used.\r\n"
                    type: string
                    default: Wh
                    maxLength: 20
                  multiplier:
                    description: "Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the 3rd power. Default is 0.\r\n"
                    type: integer
                    default: 0
                x-javaType: UnitOfMeasure
            required:
              - value
            x-javaType: SampledValue
          minItems: 1
          x-additionalItems: false
        timestamp:
          description: "Meter_ Value. Timestamp. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569259\r\nTimestamp for measured value(s).\r\n"
          type: string
          format: date-time
      required:
        - timestamp
        - sampledValue
      x-javaType: MeterValue
    SampledValueType:
      description: "Sampled_ Value\r\nurn:x-oca:ocpp:uid:2:233266\r\nSingle sampled value in MeterValues. Each value can be accompanied by optional fields.\r\n\r\nTo save on mobile data usage, default values of all of the optional fields are such that. The value without any additional fields will be interpreted, as a register reading of active import energy in Wh (Watt-hour) units.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        value:
          description: "Sampled_ Value. Value. Measure\r\nurn:x-oca:ocpp:uid:1:569260\r\nIndicates the measured value.\r\n\r\n"
          type: number
        context:
          description: "Sampled_ Value. Context. Reading_ Context_ Code\r\nurn:x-oca:ocpp:uid:1:569261\r\nType of detail value: start, end or sample. Default = \"Sample.Periodic\"\r\n"
          type: string
          default: Sample.Periodic
          additionalProperties: false
          enum:
            - Interruption.Begin
            - Interruption.End
            - Other
            - Sample.Clock
            - Sample.Periodic
            - Transaction.Begin
            - Transaction.End
            - Trigger
          x-javaType: ReadingContextEnum
        measurand:
          description: "Sampled_ Value. Measurand. Measurand_ Code\r\nurn:x-oca:ocpp:uid:1:569263\r\nType of measurement. Default = \"Energy.Active.Import.Register\"\r\n"
          type: string
          default: Energy.Active.Import.Register
          additionalProperties: false
          enum:
            - Current.Export
            - Current.Import
            - Current.Offered
            - Energy.Active.Export.Register
            - Energy.Active.Import.Register
            - Energy.Reactive.Export.Register
            - Energy.Reactive.Import.Register
            - Energy.Active.Export.Interval
            - Energy.Active.Import.Interval
            - Energy.Active.Net
            - Energy.Reactive.Export.Interval
            - Energy.Reactive.Import.Interval
            - Energy.Reactive.Net
            - Energy.Apparent.Net
            - Energy.Apparent.Import
            - Energy.Apparent.Export
            - Frequency
            - Power.Active.Export
            - Power.Active.Import
            - Power.Factor
            - Power.Offered
            - Power.Reactive.Export
            - Power.Reactive.Import
            - SoC
            - Voltage
          x-javaType: MeasurandEnum
        phase:
          description: "Sampled_ Value. Phase. Phase_ Code\r\nurn:x-oca:ocpp:uid:1:569264\r\nIndicates how the measured value is to be interpreted. For instance between L1 and neutral (L1-N) Please note that not all values of phase are applicable to all Measurands. When phase is absent, the measured value is interpreted as an overall value.\r\n"
          type: string
          additionalProperties: false
          enum:
            - L1
            - L2
            - L3
            - 'N'
            - L1-N
            - L2-N
            - L3-N
            - L1-L2
            - L2-L3
            - L3-L1
          x-javaType: PhaseEnum
        location:
          description: "Sampled_ Value. Location. Location_ Code\r\nurn:x-oca:ocpp:uid:1:569265\r\nIndicates where the measured value has been sampled. Default =  \"Outlet\"\r\n\r\n"
          type: string
          default: Outlet
          additionalProperties: false
          enum:
            - Body
            - Cable
            - EV
            - Inlet
            - Outlet
          x-javaType: LocationEnum
        signedMeterValue:
          description: "Represent a signed version of the meter value.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            signedMeterData:
              description: "Base64 encoded, contains the signed data which might contain more then just the meter value. It can contain information like timestamps, reference to a customer etc.\r\n"
              type: string
              maxLength: 2500
            signingMethod:
              description: "Method used to create the digital signature.\r\n"
              type: string
              maxLength: 50
            encodingMethod:
              description: "Method used to encode the meter values before applying the digital signature algorithm.\r\n"
              type: string
              maxLength: 50
            publicKey:
              description: "Base64 encoded, sending depends on configuration variable _PublicKeyWithSignedMeterValue_.\r\n"
              type: string
              maxLength: 2500
          required:
            - signedMeterData
            - signingMethod
            - encodingMethod
            - publicKey
          x-javaType: SignedMeterValue
        unitOfMeasure:
          description: "Represents a UnitOfMeasure with a multiplier\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            unit:
              description: "Unit of the value. Default = \"Wh\" if the (default) measurand is an \"Energy\" type.\r\nThis field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices. \r\nIf an applicable unit is available in that list, otherwise a \"custom\" unit might be used.\r\n"
              type: string
              default: Wh
              maxLength: 20
            multiplier:
              description: "Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the 3rd power. Default is 0.\r\n"
              type: integer
              default: 0
          x-javaType: UnitOfMeasure
      required:
        - value
      x-javaType: SampledValue
    SignedMeterValueType:
      description: "Represent a signed version of the meter value.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        signedMeterData:
          description: "Base64 encoded, contains the signed data which might contain more then just the meter value. It can contain information like timestamps, reference to a customer etc.\r\n"
          type: string
          maxLength: 2500
        signingMethod:
          description: "Method used to create the digital signature.\r\n"
          type: string
          maxLength: 50
        encodingMethod:
          description: "Method used to encode the meter values before applying the digital signature algorithm.\r\n"
          type: string
          maxLength: 50
        publicKey:
          description: "Base64 encoded, sending depends on configuration variable _PublicKeyWithSignedMeterValue_.\r\n"
          type: string
          maxLength: 2500
      required:
        - signedMeterData
        - signingMethod
        - encodingMethod
        - publicKey
      x-javaType: SignedMeterValue
    UnitOfMeasureType:
      description: "Represents a UnitOfMeasure with a multiplier\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        unit:
          description: "Unit of the value. Default = \"Wh\" if the (default) measurand is an \"Energy\" type.\r\nThis field SHALL use a value from the list Standardized Units of Measurements in Part 2 Appendices. \r\nIf an applicable unit is available in that list, otherwise a \"custom\" unit might be used.\r\n"
          type: string
          default: Wh
          maxLength: 20
        multiplier:
          description: "Multiplier, this value represents the exponent to base 10. I.e. multiplier 3 means 10 raised to the 3rd power. Default is 0.\r\n"
          type: integer
          default: 0
      x-javaType: UnitOfMeasure
    MeterValuesRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        evseId:
          description: "Request_ Body. EVSEID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:571101\r\nThis contains a number (&gt;0) designating an EVSE of the Charging Station. ‘0’ (zero) is used to designate the main power meter.\r\n"
          type: integer
        meterValue:
          type: array
          items:
            $ref: '#/components/schemas/MeterValueType'
          minItems: 1
          x-additionalItems: false
      required:
        - evseId
        - meterValue
    MeterValuesResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: MeterValues
          description: Action (without Response)
        - $ref: '#/components/schemas/MeterValuesResponsePayload'
      minItems: 4
      maxItems: 4
    MeterValuesResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    NotifyChargingLimitRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyChargingLimit
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyChargingLimitRequestPayload'
      minItems: 4
      maxItems: 4
    CostKindEnumType:
      description: "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n"
      type: string
      additionalProperties: false
      enum:
        - CarbonDioxideEmission
        - RelativePricePercentage
        - RenewableGenerationPercentage
      x-javaType: CostKindEnum
    ChargingLimitType:
      description: "Charging_ Limit\r\nurn:x-enexis:ecdm:uid:2:234489\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        chargingLimitSource:
          description: "Charging_ Limit. Charging_ Limit_ Source. Charging_ Limit_ Source_ Code\r\nurn:x-enexis:ecdm:uid:1:570845\r\nRepresents the source of the charging limit.\r\n"
          type: string
          additionalProperties: false
          enum:
            - EMS
            - Other
            - SO
            - CSO
          x-javaType: ChargingLimitSourceEnum
        isGridCritical:
          description: "Charging_ Limit. Is_ Grid_ Critical. Indicator\r\nurn:x-enexis:ecdm:uid:1:570847\r\nIndicates whether the charging limit is critical for the grid.\r\n"
          type: boolean
      required:
        - chargingLimitSource
      x-javaType: ChargingLimit
    ChargingScheduleType:
      description: "Charging_ Schedule\r\nurn:x-oca:ocpp:uid:2:233256\r\nCharging schedule structure defines a list of charging periods, as used in: GetCompositeSchedule.conf and ChargingProfile. \r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        id:
          description: "Identifies the ChargingSchedule.\r\n"
          type: integer
        startSchedule:
          description: "Charging_ Schedule. Start_ Schedule. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569237\r\nStarting point of an absolute schedule. If absent the schedule will be relative to start of charging.\r\n"
          type: string
          format: date-time
        duration:
          description: "Charging_ Schedule. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569236\r\nDuration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction if chargingProfilePurpose = TxProfile.\r\n"
          type: integer
        chargingRateUnit:
          description: "Charging_ Schedule. Charging_ Rate_ Unit. Charging_ Rate_ Unit_ Code\r\nurn:x-oca:ocpp:uid:1:569238\r\nThe unit of measure Limit is expressed in.\r\n"
          type: string
          additionalProperties: false
          enum:
            - W
            - A
          x-javaType: ChargingRateUnitEnum
        chargingSchedulePeriod:
          type: array
          items:
            description: "Charging_ Schedule_ Period\r\nurn:x-oca:ocpp:uid:2:233257\r\nCharging schedule period structure defines a time period in a charging schedule.\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              startPeriod:
                description: "Charging_ Schedule_ Period. Start_ Period. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569240\r\nStart of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n"
                type: integer
              limit:
                description: "Charging_ Schedule_ Period. Limit. Measure\r\nurn:x-oca:ocpp:uid:1:569241\r\nCharging rate limit during the schedule period, in the applicable chargingRateUnit, for example in Amperes (A) or Watts (W). Accepts at most one digit fraction (e.g. 8.1).\r\n"
                type: number
              numberPhases:
                description: "Charging_ Schedule_ Period. Number_ Phases. Counter\r\nurn:x-oca:ocpp:uid:1:569242\r\nThe number of phases that can be used for charging. If a number of phases is needed, numberPhases=3 will be assumed unless another number is given.\r\n"
                type: integer
              phaseToUse:
                description: "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n"
                type: integer
            required:
              - startPeriod
              - limit
            x-javaType: ChargingSchedulePeriod
          minItems: 1
          maxItems: 1024
          x-additionalItems: false
        minChargingRate:
          description: "Charging_ Schedule. Min_ Charging_ Rate. Numeric\r\nurn:x-oca:ocpp:uid:1:569239\r\nMinimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. Accepts at most one digit fraction (e.g. 8.1)\r\n"
          type: number
        salesTariff:
          description: "Sales_ Tariff\r\nurn:x-oca:ocpp:uid:2:233272\r\nNOTE: This dataType is based on dataTypes from &lt;&lt;ref-ISOIEC15118-2,ISO 15118-2&gt;&gt;.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            id:
              description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nSalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n"
              type: integer
            salesTariffDescription:
              description: "Sales_ Tariff. Sales. Tariff_ Description\r\nurn:x-oca:ocpp:uid:1:569283\r\nA human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n"
              type: string
              maxLength: 32
            numEPriceLevels:
              description: "Sales_ Tariff. Num_ E_ Price_ Levels. Counter\r\nurn:x-oca:ocpp:uid:1:569284\r\nDefines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n"
              type: integer
            salesTariffEntry:
              type: array
              items:
                description: "Sales_ Tariff_ Entry\r\nurn:x-oca:ocpp:uid:2:233271\r\n"
                type: object
                additionalProperties: false
                properties:
                  customData:
                    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.
                    type: object
                    properties:
                      vendorId:
                        type: string
                        maxLength: 255
                    required:
                      - vendorId
                    x-javaType: CustomData
                  relativeTimeInterval:
                    description: "Relative_ Timer_ Interval\r\nurn:x-oca:ocpp:uid:2:233270\r\n"
                    type: object
                    additionalProperties: false
                    properties:
                      customData:
                        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.
                        type: object
                        properties:
                          vendorId:
                            type: string
                            maxLength: 255
                        required:
                          - vendorId
                        x-javaType: CustomData
                      start:
                        description: "Relative_ Timer_ Interval. Start. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569279\r\nStart of the interval, in seconds from NOW.\r\n"
                        type: integer
                      duration:
                        description: "Relative_ Timer_ Interval. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569280\r\nDuration of the interval, in seconds.\r\n"
                        type: integer
                    required:
                      - start
                    x-javaType: RelativeTimeInterval
                  ePriceLevel:
                    description: "Sales_ Tariff_ Entry. E_ Price_ Level. Unsigned_ Integer\r\nurn:x-oca:ocpp:uid:1:569281\r\nDefines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n"
                    type: integer
                    minimum: 0
                  consumptionCost:
                    type: array
                    items:
                      description: "Consumption_ Cost\r\nurn:x-oca:ocpp:uid:2:233259\r\n"
                      type: object
                      additionalProperties: false
                      properties:
                        customData:
                          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.
                          type: object
                          properties:
                            vendorId:
                              type: string
                              maxLength: 255
                          required:
                            - vendorId
                          x-javaType: CustomData
                        startValue:
                          description: "Consumption_ Cost. Start_ Value. Numeric\r\nurn:x-oca:ocpp:uid:1:569246\r\nThe lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n"
                          type: number
                        cost:
                          type: array
                          items:
                            description: "Cost\r\nurn:x-oca:ocpp:uid:2:233258\r\n"
                            type: object
                            additionalProperties: false
                            properties:
                              customData:
                                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.
                                type: object
                                properties:
                                  vendorId:
                                    type: string
                                    maxLength: 255
                                required:
                                  - vendorId
                                x-javaType: CustomData
                              costKind:
                                description: "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n"
                                type: string
                                additionalProperties: false
                                enum:
                                  - CarbonDioxideEmission
                                  - RelativePricePercentage
                                  - RenewableGenerationPercentage
                                x-javaType: CostKindEnum
                              amount:
                                description: "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n"
                                type: integer
                              amountMultiplier:
                                description: "Cost. Amount_ Multiplier. Integer\r\nurn:x-oca:ocpp:uid:1:569245\r\nValues: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n"
                                type: integer
                            required:
                              - costKind
                              - amount
                            x-javaType: Cost
                          minItems: 1
                          maxItems: 3
                          x-additionalItems: false
                      required:
                        - startValue
                        - cost
                      x-javaType: ConsumptionCost
                    minItems: 1
                    maxItems: 3
                    x-additionalItems: false
                required:
                  - relativeTimeInterval
                x-javaType: SalesTariffEntry
              minItems: 1
              maxItems: 1024
              x-additionalItems: false
          required:
            - id
            - salesTariffEntry
          x-javaType: SalesTariff
      required:
        - id
        - chargingRateUnit
        - chargingSchedulePeriod
      x-javaType: ChargingSchedule
    ConsumptionCostType:
      description: "Consumption_ Cost\r\nurn:x-oca:ocpp:uid:2:233259\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        startValue:
          description: "Consumption_ Cost. Start_ Value. Numeric\r\nurn:x-oca:ocpp:uid:1:569246\r\nThe lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n"
          type: number
        cost:
          type: array
          items:
            description: "Cost\r\nurn:x-oca:ocpp:uid:2:233258\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              costKind:
                description: "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n"
                type: string
                additionalProperties: false
                enum:
                  - CarbonDioxideEmission
                  - RelativePricePercentage
                  - RenewableGenerationPercentage
                x-javaType: CostKindEnum
              amount:
                description: "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n"
                type: integer
              amountMultiplier:
                description: "Cost. Amount_ Multiplier. Integer\r\nurn:x-oca:ocpp:uid:1:569245\r\nValues: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n"
                type: integer
            required:
              - costKind
              - amount
            x-javaType: Cost
          minItems: 1
          maxItems: 3
          x-additionalItems: false
      required:
        - startValue
        - cost
      x-javaType: ConsumptionCost
    CostType:
      description: "Cost\r\nurn:x-oca:ocpp:uid:2:233258\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        costKind:
          description: "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n"
          type: string
          additionalProperties: false
          enum:
            - CarbonDioxideEmission
            - RelativePricePercentage
            - RenewableGenerationPercentage
          x-javaType: CostKindEnum
        amount:
          description: "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n"
          type: integer
        amountMultiplier:
          description: "Cost. Amount_ Multiplier. Integer\r\nurn:x-oca:ocpp:uid:1:569245\r\nValues: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n"
          type: integer
      required:
        - costKind
        - amount
      x-javaType: Cost
    RelativeTimeIntervalType:
      description: "Relative_ Timer_ Interval\r\nurn:x-oca:ocpp:uid:2:233270\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        start:
          description: "Relative_ Timer_ Interval. Start. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569279\r\nStart of the interval, in seconds from NOW.\r\n"
          type: integer
        duration:
          description: "Relative_ Timer_ Interval. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569280\r\nDuration of the interval, in seconds.\r\n"
          type: integer
      required:
        - start
      x-javaType: RelativeTimeInterval
    SalesTariffEntryType:
      description: "Sales_ Tariff_ Entry\r\nurn:x-oca:ocpp:uid:2:233271\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        relativeTimeInterval:
          description: "Relative_ Timer_ Interval\r\nurn:x-oca:ocpp:uid:2:233270\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            start:
              description: "Relative_ Timer_ Interval. Start. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569279\r\nStart of the interval, in seconds from NOW.\r\n"
              type: integer
            duration:
              description: "Relative_ Timer_ Interval. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569280\r\nDuration of the interval, in seconds.\r\n"
              type: integer
          required:
            - start
          x-javaType: RelativeTimeInterval
        ePriceLevel:
          description: "Sales_ Tariff_ Entry. E_ Price_ Level. Unsigned_ Integer\r\nurn:x-oca:ocpp:uid:1:569281\r\nDefines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n"
          type: integer
          minimum: 0
        consumptionCost:
          type: array
          items:
            description: "Consumption_ Cost\r\nurn:x-oca:ocpp:uid:2:233259\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              startValue:
                description: "Consumption_ Cost. Start_ Value. Numeric\r\nurn:x-oca:ocpp:uid:1:569246\r\nThe lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n"
                type: number
              cost:
                type: array
                items:
                  description: "Cost\r\nurn:x-oca:ocpp:uid:2:233258\r\n"
                  type: object
                  additionalProperties: false
                  properties:
                    customData:
                      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.
                      type: object
                      properties:
                        vendorId:
                          type: string
                          maxLength: 255
                      required:
                        - vendorId
                      x-javaType: CustomData
                    costKind:
                      description: "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n"
                      type: string
                      additionalProperties: false
                      enum:
                        - CarbonDioxideEmission
                        - RelativePricePercentage
                        - RenewableGenerationPercentage
                      x-javaType: CostKindEnum
                    amount:
                      description: "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n"
                      type: integer
                    amountMultiplier:
                      description: "Cost. Amount_ Multiplier. Integer\r\nurn:x-oca:ocpp:uid:1:569245\r\nValues: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n"
                      type: integer
                  required:
                    - costKind
                    - amount
                  x-javaType: Cost
                minItems: 1
                maxItems: 3
                x-additionalItems: false
            required:
              - startValue
              - cost
            x-javaType: ConsumptionCost
          minItems: 1
          maxItems: 3
          x-additionalItems: false
      required:
        - relativeTimeInterval
      x-javaType: SalesTariffEntry
    SalesTariffType:
      description: "Sales_ Tariff\r\nurn:x-oca:ocpp:uid:2:233272\r\nNOTE: This dataType is based on dataTypes from &lt;&lt;ref-ISOIEC15118-2,ISO 15118-2&gt;&gt;.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        id:
          description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nSalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n"
          type: integer
        salesTariffDescription:
          description: "Sales_ Tariff. Sales. Tariff_ Description\r\nurn:x-oca:ocpp:uid:1:569283\r\nA human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n"
          type: string
          maxLength: 32
        numEPriceLevels:
          description: "Sales_ Tariff. Num_ E_ Price_ Levels. Counter\r\nurn:x-oca:ocpp:uid:1:569284\r\nDefines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n"
          type: integer
        salesTariffEntry:
          type: array
          items:
            description: "Sales_ Tariff_ Entry\r\nurn:x-oca:ocpp:uid:2:233271\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              relativeTimeInterval:
                description: "Relative_ Timer_ Interval\r\nurn:x-oca:ocpp:uid:2:233270\r\n"
                type: object
                additionalProperties: false
                properties:
                  customData:
                    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.
                    type: object
                    properties:
                      vendorId:
                        type: string
                        maxLength: 255
                    required:
                      - vendorId
                    x-javaType: CustomData
                  start:
                    description: "Relative_ Timer_ Interval. Start. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569279\r\nStart of the interval, in seconds from NOW.\r\n"
                    type: integer
                  duration:
                    description: "Relative_ Timer_ Interval. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569280\r\nDuration of the interval, in seconds.\r\n"
                    type: integer
                required:
                  - start
                x-javaType: RelativeTimeInterval
              ePriceLevel:
                description: "Sales_ Tariff_ Entry. E_ Price_ Level. Unsigned_ Integer\r\nurn:x-oca:ocpp:uid:1:569281\r\nDefines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n"
                type: integer
                minimum: 0
              consumptionCost:
                type: array
                items:
                  description: "Consumption_ Cost\r\nurn:x-oca:ocpp:uid:2:233259\r\n"
                  type: object
                  additionalProperties: false
                  properties:
                    customData:
                      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.
                      type: object
                      properties:
                        vendorId:
                          type: string
                          maxLength: 255
                      required:
                        - vendorId
                      x-javaType: CustomData
                    startValue:
                      description: "Consumption_ Cost. Start_ Value. Numeric\r\nurn:x-oca:ocpp:uid:1:569246\r\nThe lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n"
                      type: number
                    cost:
                      type: array
                      items:
                        description: "Cost\r\nurn:x-oca:ocpp:uid:2:233258\r\n"
                        type: object
                        additionalProperties: false
                        properties:
                          customData:
                            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.
                            type: object
                            properties:
                              vendorId:
                                type: string
                                maxLength: 255
                            required:
                              - vendorId
                            x-javaType: CustomData
                          costKind:
                            description: "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n"
                            type: string
                            additionalProperties: false
                            enum:
                              - CarbonDioxideEmission
                              - RelativePricePercentage
                              - RenewableGenerationPercentage
                            x-javaType: CostKindEnum
                          amount:
                            description: "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n"
                            type: integer
                          amountMultiplier:
                            description: "Cost. Amount_ Multiplier. Integer\r\nurn:x-oca:ocpp:uid:1:569245\r\nValues: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n"
                            type: integer
                        required:
                          - costKind
                          - amount
                        x-javaType: Cost
                      minItems: 1
                      maxItems: 3
                      x-additionalItems: false
                  required:
                    - startValue
                    - cost
                  x-javaType: ConsumptionCost
                minItems: 1
                maxItems: 3
                x-additionalItems: false
            required:
              - relativeTimeInterval
            x-javaType: SalesTariffEntry
          minItems: 1
          maxItems: 1024
          x-additionalItems: false
      required:
        - id
        - salesTariffEntry
      x-javaType: SalesTariff
    NotifyChargingLimitRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        chargingSchedule:
          type: array
          items:
            $ref: '#/components/schemas/ChargingScheduleType'
          minItems: 1
          x-additionalItems: false
        evseId:
          description: "The charging schedule contained in this notification applies to an EVSE. evseId must be &gt; 0.\r\n"
          type: integer
        chargingLimit:
          $ref: '#/components/schemas/ChargingLimitType'
      required:
        - chargingLimit
    NotifyChargingLimitResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyChargingLimit
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyChargingLimitResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyChargingLimitResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    NotifyCustomerInformationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyCustomerInformation
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyCustomerInformationRequestPayload'
      minItems: 4
      maxItems: 4
    NotifyCustomerInformationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        data:
          description: "(Part of) the requested data. No format specified in which the data is returned. Should be human readable.\r\n"
          type: string
          maxLength: 512
        tbc:
          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"
          type: boolean
          default: false
        seqNo:
          description: "Sequence number of this message. First message starts at 0.\r\n"
          type: integer
        generatedAt:
          description: " Timestamp of the moment this message was generated at the Charging Station.\r\n"
          type: string
          format: date-time
        requestId:
          description: "The Id of the request.\r\n\r\n"
          type: integer
      required:
        - data
        - seqNo
        - generatedAt
        - requestId
    NotifyCustomerInformationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyCustomerInformation
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyCustomerInformationResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyCustomerInformationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    NotifyDisplayMessagesRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyDisplayMessages
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyDisplayMessagesRequestPayload'
      minItems: 4
      maxItems: 4
    MessageInfoType:
      description: "Message_ Info\r\nurn:x-enexis:ecdm:uid:2:233264\r\nContains message details, for a message to be displayed on a Charging Station.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        display:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        id:
          description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nMaster resource identifier, unique within an exchange context. It is defined within the OCPP context as a positive Integer value (greater or equal to zero).\r\n"
          type: integer
        priority:
          description: "Message_ Info. Priority. Message_ Priority_ Code\r\nurn:x-enexis:ecdm:uid:1:569253\r\nWith what priority should this message be shown\r\n"
          type: string
          additionalProperties: false
          enum:
            - AlwaysFront
            - InFront
            - NormalCycle
          x-javaType: MessagePriorityEnum
        state:
          description: "Message_ Info. State. Message_ State_ Code\r\nurn:x-enexis:ecdm:uid:1:569254\r\nDuring what state should this message be shown. When omitted this message should be shown in any state of the Charging Station.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Charging
            - Faulted
            - Idle
            - Unavailable
          x-javaType: MessageStateEnum
        startDateTime:
          description: "Message_ Info. Start. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569256\r\nFrom what date-time should this message be shown. If omitted: directly.\r\n"
          type: string
          format: date-time
        endDateTime:
          description: "Message_ Info. End. Date_ Time\r\nurn:x-enexis:ecdm:uid:1:569257\r\nUntil what date-time should this message be shown, after this date/time this message SHALL be removed.\r\n"
          type: string
          format: date-time
        transactionId:
          description: "During which transaction shall this message be shown.\r\nMessage SHALL be removed by the Charging Station after transaction has\r\nended.\r\n"
          type: string
          maxLength: 36
        message:
          description: "Message_ Content\r\nurn:x-enexis:ecdm:uid:2:234490\r\nContains message details, for a message to be displayed on a Charging Station.\r\n\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            format:
              description: "Message_ Content. Format. Message_ Format_ Code\r\nurn:x-enexis:ecdm:uid:1:570848\r\nFormat of the message.\r\n"
              type: string
              additionalProperties: false
              enum:
                - ASCII
                - HTML
                - URI
                - UTF8
              x-javaType: MessageFormatEnum
            language:
              description: "Message_ Content. Language. Language_ Code\r\nurn:x-enexis:ecdm:uid:1:570849\r\nMessage language identifier. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n"
              type: string
              maxLength: 8
            content:
              description: "Message_ Content. Content. Message\r\nurn:x-enexis:ecdm:uid:1:570852\r\nMessage contents.\r\n\r\n"
              type: string
              maxLength: 512
          required:
            - format
            - content
          x-javaType: MessageContent
      required:
        - id
        - priority
        - message
      x-javaType: MessageInfo
    NotifyDisplayMessagesRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        messageInfo:
          type: array
          items:
            $ref: '#/components/schemas/MessageInfoType'
          minItems: 1
          x-additionalItems: false
        requestId:
          description: "The id of the &lt;&lt;getdisplaymessagesrequest,GetDisplayMessagesRequest&gt;&gt; that requested this message.\r\n"
          type: integer
        tbc:
          description: "\"to be continued\" indicator. Indicates whether another part of the report follows in an upcoming NotifyDisplayMessagesRequest message. Default value when omitted is false.\r\n"
          type: boolean
          default: false
      required:
        - requestId
    NotifyDisplayMessagesResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyDisplayMessages
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyDisplayMessagesResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyDisplayMessagesResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    NotifyEVChargingNeedsRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyEVChargingNeeds
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyEVChargingNeedsRequestPayload'
      minItems: 4
      maxItems: 4
    EnergyTransferModeEnumType:
      description: "Charging_ Needs. Requested. Energy_ Transfer_ Mode_ Code\r\nurn:x-oca:ocpp:uid:1:569209\r\nMode of energy transfer requested by the EV.\r\n"
      type: string
      additionalProperties: false
      enum:
        - DC
        - AC_single_phase
        - AC_two_phase
        - AC_three_phase
      x-javaType: EnergyTransferModeEnum
    ACChargingParametersType:
      description: "AC_ Charging_ Parameters\r\nurn:x-oca:ocpp:uid:2:233250\r\nEV AC charging parameters.\r\n\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        energyAmount:
          description: "AC_ Charging_ Parameters. Energy_ Amount. Energy_ Amount\r\nurn:x-oca:ocpp:uid:1:569211\r\nAmount of energy requested (in Wh). This includes energy required for preconditioning.\r\n"
          type: integer
        evMinCurrent:
          description: "AC_ Charging_ Parameters. EV_ Min. Current\r\nurn:x-oca:ocpp:uid:1:569212\r\nMinimum current (amps) supported by the electric vehicle (per phase).\r\n"
          type: integer
        evMaxCurrent:
          description: "AC_ Charging_ Parameters. EV_ Max. Current\r\nurn:x-oca:ocpp:uid:1:569213\r\nMaximum current (amps) supported by the electric vehicle (per phase). Includes cable capacity.\r\n"
          type: integer
        evMaxVoltage:
          description: "AC_ Charging_ Parameters. EV_ Max. Voltage\r\nurn:x-oca:ocpp:uid:1:569214\r\nMaximum voltage supported by the electric vehicle\r\n"
          type: integer
      required:
        - energyAmount
        - evMinCurrent
        - evMaxCurrent
        - evMaxVoltage
      x-javaType: ACChargingParameters
    ChargingNeedsType:
      description: "Charging_ Needs\r\nurn:x-oca:ocpp:uid:2:233249\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        acChargingParameters:
          description: "AC_ Charging_ Parameters\r\nurn:x-oca:ocpp:uid:2:233250\r\nEV AC charging parameters.\r\n\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            energyAmount:
              description: "AC_ Charging_ Parameters. Energy_ Amount. Energy_ Amount\r\nurn:x-oca:ocpp:uid:1:569211\r\nAmount of energy requested (in Wh). This includes energy required for preconditioning.\r\n"
              type: integer
            evMinCurrent:
              description: "AC_ Charging_ Parameters. EV_ Min. Current\r\nurn:x-oca:ocpp:uid:1:569212\r\nMinimum current (amps) supported by the electric vehicle (per phase).\r\n"
              type: integer
            evMaxCurrent:
              description: "AC_ Charging_ Parameters. EV_ Max. Current\r\nurn:x-oca:ocpp:uid:1:569213\r\nMaximum current (amps) supported by the electric vehicle (per phase). Includes cable capacity.\r\n"
              type: integer
            evMaxVoltage:
              description: "AC_ Charging_ Parameters. EV_ Max. Voltage\r\nurn:x-oca:ocpp:uid:1:569214\r\nMaximum voltage supported by the electric vehicle\r\n"
              type: integer
          required:
            - energyAmount
            - evMinCurrent
            - evMaxCurrent
            - evMaxVoltage
          x-javaType: ACChargingParameters
        dcChargingParameters:
          description: "DC_ Charging_ Parameters\r\nurn:x-oca:ocpp:uid:2:233251\r\nEV DC charging parameters\r\n\r\n\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evMaxCurrent:
              description: "DC_ Charging_ Parameters. EV_ Max. Current\r\nurn:x-oca:ocpp:uid:1:569215\r\nMaximum current (amps) supported by the electric vehicle. Includes cable capacity.\r\n"
              type: integer
            evMaxVoltage:
              description: "DC_ Charging_ Parameters. EV_ Max. Voltage\r\nurn:x-oca:ocpp:uid:1:569216\r\nMaximum voltage supported by the electric vehicle\r\n"
              type: integer
            energyAmount:
              description: "DC_ Charging_ Parameters. Energy_ Amount. Energy_ Amount\r\nurn:x-oca:ocpp:uid:1:569217\r\nAmount of energy requested (in Wh). This inludes energy required for preconditioning.\r\n"
              type: integer
            evMaxPower:
              description: "DC_ Charging_ Parameters. EV_ Max. Power\r\nurn:x-oca:ocpp:uid:1:569218\r\nMaximum power (in W) supported by the electric vehicle. Required for DC charging.\r\n"
              type: integer
            stateOfCharge:
              description: "DC_ Charging_ Parameters. State_ Of_ Charge. Numeric\r\nurn:x-oca:ocpp:uid:1:569219\r\nEnergy available in the battery (in percent of the battery capacity)\r\n"
              type: integer
              minimum: 0
              maximum: 100
            evEnergyCapacity:
              description: "DC_ Charging_ Parameters. EV_ Energy_ Capacity. Numeric\r\nurn:x-oca:ocpp:uid:1:569220\r\nCapacity of the electric vehicle battery (in Wh)\r\n"
              type: integer
            fullSoC:
              description: "DC_ Charging_ Parameters. Full_ SOC. Percentage\r\nurn:x-oca:ocpp:uid:1:569221\r\nPercentage of SoC at which the EV considers the battery fully charged. (possible values: 0 - 100)\r\n"
              type: integer
              minimum: 0
              maximum: 100
            bulkSoC:
              description: "DC_ Charging_ Parameters. Bulk_ SOC. Percentage\r\nurn:x-oca:ocpp:uid:1:569222\r\nPercentage of SoC at which the EV considers a fast charging process to end. (possible values: 0 - 100)\r\n"
              type: integer
              minimum: 0
              maximum: 100
          required:
            - evMaxCurrent
            - evMaxVoltage
          x-javaType: DCChargingParameters
        requestedEnergyTransfer:
          description: "Charging_ Needs. Requested. Energy_ Transfer_ Mode_ Code\r\nurn:x-oca:ocpp:uid:1:569209\r\nMode of energy transfer requested by the EV.\r\n"
          type: string
          additionalProperties: false
          enum:
            - DC
            - AC_single_phase
            - AC_two_phase
            - AC_three_phase
          x-javaType: EnergyTransferModeEnum
        departureTime:
          description: "Charging_ Needs. Departure_ Time. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569223\r\nEstimated departure time of the EV.\r\n"
          type: string
          format: date-time
      required:
        - requestedEnergyTransfer
      x-javaType: ChargingNeeds
    DCChargingParametersType:
      description: "DC_ Charging_ Parameters\r\nurn:x-oca:ocpp:uid:2:233251\r\nEV DC charging parameters\r\n\r\n\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        evMaxCurrent:
          description: "DC_ Charging_ Parameters. EV_ Max. Current\r\nurn:x-oca:ocpp:uid:1:569215\r\nMaximum current (amps) supported by the electric vehicle. Includes cable capacity.\r\n"
          type: integer
        evMaxVoltage:
          description: "DC_ Charging_ Parameters. EV_ Max. Voltage\r\nurn:x-oca:ocpp:uid:1:569216\r\nMaximum voltage supported by the electric vehicle\r\n"
          type: integer
        energyAmount:
          description: "DC_ Charging_ Parameters. Energy_ Amount. Energy_ Amount\r\nurn:x-oca:ocpp:uid:1:569217\r\nAmount of energy requested (in Wh). This inludes energy required for preconditioning.\r\n"
          type: integer
        evMaxPower:
          description: "DC_ Charging_ Parameters. EV_ Max. Power\r\nurn:x-oca:ocpp:uid:1:569218\r\nMaximum power (in W) supported by the electric vehicle. Required for DC charging.\r\n"
          type: integer
        stateOfCharge:
          description: "DC_ Charging_ Parameters. State_ Of_ Charge. Numeric\r\nurn:x-oca:ocpp:uid:1:569219\r\nEnergy available in the battery (in percent of the battery capacity)\r\n"
          type: integer
          minimum: 0
          maximum: 100
        evEnergyCapacity:
          description: "DC_ Charging_ Parameters. EV_ Energy_ Capacity. Numeric\r\nurn:x-oca:ocpp:uid:1:569220\r\nCapacity of the electric vehicle battery (in Wh)\r\n"
          type: integer
        fullSoC:
          description: "DC_ Charging_ Parameters. Full_ SOC. Percentage\r\nurn:x-oca:ocpp:uid:1:569221\r\nPercentage of SoC at which the EV considers the battery fully charged. (possible values: 0 - 100)\r\n"
          type: integer
          minimum: 0
          maximum: 100
        bulkSoC:
          description: "DC_ Charging_ Parameters. Bulk_ SOC. Percentage\r\nurn:x-oca:ocpp:uid:1:569222\r\nPercentage of SoC at which the EV considers a fast charging process to end. (possible values: 0 - 100)\r\n"
          type: integer
          minimum: 0
          maximum: 100
      required:
        - evMaxCurrent
        - evMaxVoltage
      x-javaType: DCChargingParameters
    NotifyEVChargingNeedsRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        maxScheduleTuples:
          description: "Contains the maximum schedule tuples the car supports per schedule.\r\n"
          type: integer
        chargingNeeds:
          $ref: '#/components/schemas/ChargingNeedsType'
        evseId:
          description: "Defines the EVSE and connector to which the EV is connected. EvseId may not be 0.\r\n"
          type: integer
      required:
        - evseId
        - chargingNeeds
    NotifyEVChargingNeedsResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyEVChargingNeeds
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyEVChargingNeedsResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyEVChargingNeedsStatusEnumType:
      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"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - Processing
      x-javaType: NotifyEVChargingNeedsStatusEnum
    NotifyEVChargingNeedsResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/NotifyEVChargingNeedsStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    NotifyEVChargingScheduleRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyEVChargingSchedule
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyEVChargingScheduleRequestPayload'
      minItems: 4
      maxItems: 4
    NotifyEVChargingScheduleRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        timeBase:
          description: "Periods contained in the charging profile are relative to this point in time.\r\n"
          type: string
          format: date-time
        chargingSchedule:
          $ref: '#/components/schemas/ChargingScheduleType'
        evseId:
          description: "The charging schedule contained in this notification applies to an EVSE. EvseId must be &gt; 0.\r\n"
          type: integer
      required:
        - timeBase
        - evseId
        - chargingSchedule
    NotifyEVChargingScheduleResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyEVChargingSchedule
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyEVChargingScheduleResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyEVChargingScheduleResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    NotifyEventRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyEvent
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyEventRequestPayload'
      minItems: 4
      maxItems: 4
    EventNotificationEnumType:
      description: "Specifies the event notification type of the message.\r\n\r\n"
      type: string
      additionalProperties: false
      enum:
        - HardWiredNotification
        - HardWiredMonitor
        - PreconfiguredMonitor
        - CustomMonitor
      x-javaType: EventNotificationEnum
    EventTriggerEnumType:
      description: "Type of monitor that triggered this event, e.g. exceeding a threshold value.\r\n\r\n"
      type: string
      additionalProperties: false
      enum:
        - Alerting
        - Delta
        - Periodic
      x-javaType: EventTriggerEnum
    EventDataType:
      description: "Class to report an event notification for a component-variable.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        eventId:
          description: "Identifies the event. This field can be referred to as a cause by other events.\r\n\r\n"
          type: integer
        timestamp:
          description: "Timestamp of the moment the report was generated.\r\n"
          type: string
          format: date-time
        trigger:
          description: "Type of monitor that triggered this event, e.g. exceeding a threshold value.\r\n\r\n"
          type: string
          additionalProperties: false
          enum:
            - Alerting
            - Delta
            - Periodic
          x-javaType: EventTriggerEnum
        cause:
          description: "Refers to the Id of an event that is considered to be the cause for this event.\r\n\r\n"
          type: integer
        actualValue:
          description: "Actual value (_attributeType_ Actual) of the variable.\r\n\r\nThe Configuration Variable &lt;&lt;configkey-reporting-value-size,ReportingValueSize&gt;&gt; can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n\r\n"
          type: string
          maxLength: 2500
        techCode:
          description: "Technical (error) code as reported by component.\r\n"
          type: string
          maxLength: 50
        techInfo:
          description: "Technical detail information as reported by component.\r\n"
          type: string
          maxLength: 500
        cleared:
          description: "_Cleared_ is set to true to report the clearing of a monitored situation, i.e. a 'return to normal'. \r\n\r\n"
          type: boolean
        transactionId:
          description: "If an event notification is linked to a specific transaction, this field can be used to specify its transactionId.\r\n"
          type: string
          maxLength: 36
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variableMonitoringId:
          description: "Identifies the VariableMonitoring which triggered the event.\r\n"
          type: integer
        eventNotificationType:
          description: "Specifies the event notification type of the message.\r\n\r\n"
          type: string
          additionalProperties: false
          enum:
            - HardWiredNotification
            - HardWiredMonitor
            - PreconfiguredMonitor
            - CustomMonitor
          x-javaType: EventNotificationEnum
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
      required:
        - eventId
        - timestamp
        - trigger
        - actualValue
        - eventNotificationType
        - component
        - variable
      x-javaType: EventData
    NotifyEventRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        generatedAt:
          description: "Timestamp of the moment this message was generated at the Charging Station.\r\n"
          type: string
          format: date-time
        tbc:
          description: "“to be continued” indicator. Indicates whether another part of the report follows in an upcoming notifyEventRequest message. Default value when omitted is false. \r\n"
          type: boolean
          default: false
        seqNo:
          description: "Sequence number of this message. First message starts at 0.\r\n"
          type: integer
        eventData:
          type: array
          items:
            $ref: '#/components/schemas/EventDataType'
          minItems: 1
          x-additionalItems: false
      required:
        - generatedAt
        - seqNo
        - eventData
    NotifyEventResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyEvent
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyEventResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyEventResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    NotifyMonitoringReportRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyMonitoringReport
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyMonitoringReportRequestPayload'
      minItems: 4
      maxItems: 4
    MonitorEnumType:
      description: "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n\r\n"
      type: string
      additionalProperties: false
      enum:
        - UpperThreshold
        - LowerThreshold
        - Delta
        - Periodic
        - PeriodicClockAligned
      x-javaType: MonitorEnum
    MonitoringDataType:
      description: "Class to hold parameters of SetVariableMonitoring request.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
        variableMonitoring:
          type: array
          items:
            description: "A monitoring setting for a variable.\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              id:
                description: "Identifies the monitor.\r\n"
                type: integer
              transaction:
                description: "Monitor only active when a transaction is ongoing on a component relevant to this transaction. \r\n"
                type: boolean
              value:
                description: "Value for threshold or delta monitoring.\r\nFor Periodic or PeriodicClockAligned this is the interval in seconds.\r\n"
                type: number
              type:
                description: "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n"
                type: string
                additionalProperties: false
                enum:
                  - UpperThreshold
                  - LowerThreshold
                  - Delta
                  - Periodic
                  - PeriodicClockAligned
                x-javaType: MonitorEnum
              severity:
                description: "The severity that will be assigned to an event that is triggered by this monitor. The 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"
                type: integer
            required:
              - id
              - transaction
              - value
              - type
              - severity
            x-javaType: VariableMonitoring
          minItems: 1
          x-additionalItems: false
      required:
        - component
        - variable
        - variableMonitoring
      x-javaType: MonitoringData
    VariableMonitoringType:
      description: "A monitoring setting for a variable.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        id:
          description: "Identifies the monitor.\r\n"
          type: integer
        transaction:
          description: "Monitor only active when a transaction is ongoing on a component relevant to this transaction. \r\n"
          type: boolean
        value:
          description: "Value for threshold or delta monitoring.\r\nFor Periodic or PeriodicClockAligned this is the interval in seconds.\r\n"
          type: number
        type:
          description: "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n"
          type: string
          additionalProperties: false
          enum:
            - UpperThreshold
            - LowerThreshold
            - Delta
            - Periodic
            - PeriodicClockAligned
          x-javaType: MonitorEnum
        severity:
          description: "The severity that will be assigned to an event that is triggered by this monitor. The 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"
          type: integer
      required:
        - id
        - transaction
        - value
        - type
        - severity
      x-javaType: VariableMonitoring
    NotifyMonitoringReportRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        monitor:
          type: array
          items:
            $ref: '#/components/schemas/MonitoringDataType'
          minItems: 1
          x-additionalItems: false
        requestId:
          description: "The id of the GetMonitoringRequest that requested this report.\r\n\r\n"
          type: integer
        tbc:
          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"
          type: boolean
          default: false
        seqNo:
          description: "Sequence number of this message. First message starts at 0.\r\n"
          type: integer
        generatedAt:
          description: "Timestamp of the moment this message was generated at the Charging Station.\r\n"
          type: string
          format: date-time
      required:
        - requestId
        - seqNo
        - generatedAt
    NotifyMonitoringReportResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyMonitoringReport
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyMonitoringReportResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyMonitoringReportResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    NotifyReportRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyReport
          description: Action (without Request)
        - $ref: '#/components/schemas/NotifyReportRequestPayload'
      minItems: 4
      maxItems: 4
    DataEnumType:
      description: "Data type of this variable.\r\n"
      type: string
      additionalProperties: false
      enum:
        - string
        - decimal
        - integer
        - dateTime
        - boolean
        - OptionList
        - SequenceList
        - MemberList
      x-javaType: DataEnum
    MutabilityEnumType:
      description: "Defines the mutability of this attribute. Default is ReadWrite when omitted.\r\n"
      type: string
      default: ReadWrite
      additionalProperties: false
      enum:
        - ReadOnly
        - WriteOnly
        - ReadWrite
      x-javaType: MutabilityEnum
    ReportDataType:
      description: "Class to report components, variables and variable attributes and characteristics.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
        variableAttribute:
          type: array
          items:
            description: "Attribute data of a variable.\r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              type:
                description: "Attribute: Actual, MinSet, MaxSet, etc.\r\nDefaults to Actual if absent.\r\n"
                type: string
                default: Actual
                additionalProperties: false
                enum:
                  - Actual
                  - Target
                  - MinSet
                  - MaxSet
                x-javaType: AttributeEnum
              value:
                description: "Value of the attribute. May only be omitted when mutability is set to 'WriteOnly'.\r\n\r\nThe Configuration Variable &lt;&lt;configkey-reporting-value-size,ReportingValueSize&gt;&gt; can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n"
                type: string
                maxLength: 2500
              mutability:
                description: "Defines the mutability of this attribute. Default is ReadWrite when omitted.\r\n"
                type: string
                default: ReadWrite
                additionalProperties: false
                enum:
                  - ReadOnly
                  - WriteOnly
                  - ReadWrite
                x-javaType: MutabilityEnum
              persistent:
                description: "If true, value will be persistent across system reboots or power down. Default when omitted is false.\r\n"
                type: boolean
                default: false
              constant:
                description: "If true, value that will never be changed by the Charging Station at runtime. Default when omitted is false.\r\n"
                type: boolean
                default: false
            x-javaType: VariableAttribute
          minItems: 1
          maxItems: 4
          x-additionalItems: false
        variableCharacteristics:
          description: "Fixed read-only parameters of a variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            unit:
              description: "Unit of the variable. When the transmitted value has a unit, this field SHALL be included.\r\n"
              type: string
              maxLength: 16
            dataType:
              description: "Data type of this variable.\r\n"
              type: string
              additionalProperties: false
              enum:
                - string
                - decimal
                - integer
                - dateTime
                - boolean
                - OptionList
                - SequenceList
                - MemberList
              x-javaType: DataEnum
            minLimit:
              description: "Minimum possible value of this variable.\r\n"
              type: number
            maxLimit:
              description: "Maximum possible value of this variable. When the datatype of this Variable is String, OptionList, SequenceList or MemberList, this field defines the maximum length of the (CSV) string.\r\n"
              type: number
            valuesList:
              description: "Allowed values when variable is Option/Member/SequenceList. \r\n\r\n* OptionList: The (Actual) Variable value must be a single value from the reported (CSV) enumeration list.\r\n\r\n* MemberList: The (Actual) Variable value  may be an (unordered) (sub-)set of the reported (CSV) valid values list.\r\n\r\n* SequenceList: The (Actual) Variable value  may be an ordered (priority, etc)  (sub-)set of the reported (CSV) valid values.\r\n\r\nThis is a comma separated list.\r\n\r\nThe Configuration Variable &lt;&lt;configkey-configuration-value-size,ConfigurationValueSize&gt;&gt; can be used to limit SetVariableData.attributeValue and VariableCharacteristics.valueList. The max size of these values will always remain equal. \r\n\r\n"
              type: string
              maxLength: 1000
            supportsMonitoring:
              description: "Flag indicating if this variable supports monitoring. \r\n"
              type: boolean
          required:
            - dataType
            - supportsMonitoring
          x-javaType: VariableCharacteristics
      required:
        - component
        - variable
        - variableAttribute
      x-javaType: ReportData
    VariableAttributeType:
      description: "Attribute data of a variable.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        type:
          description: "Attribute: Actual, MinSet, MaxSet, etc.\r\nDefaults to Actual if absent.\r\n"
          type: string
          default: Actual
          additionalProperties: false
          enum:
            - Actual
            - Target
            - MinSet
            - MaxSet
          x-javaType: AttributeEnum
        value:
          description: "Value of the attribute. May only be omitted when mutability is set to 'WriteOnly'.\r\n\r\nThe Configuration Variable &lt;&lt;configkey-reporting-value-size,ReportingValueSize&gt;&gt; can be used to limit GetVariableResult.attributeValue, VariableAttribute.value and EventData.actualValue. The max size of these values will always remain equal. \r\n"
          type: string
          maxLength: 2500
        mutability:
          description: "Defines the mutability of this attribute. Default is ReadWrite when omitted.\r\n"
          type: string
          default: ReadWrite
          additionalProperties: false
          enum:
            - ReadOnly
            - WriteOnly
            - ReadWrite
          x-javaType: MutabilityEnum
        persistent:
          description: "If true, value will be persistent across system reboots or power down. Default when omitted is false.\r\n"
          type: boolean
          default: false
        constant:
          description: "If true, value that will never be changed by the Charging Station at runtime. Default when omitted is false.\r\n"
          type: boolean
          default: false
      x-javaType: VariableAttribute
    VariableCharacteristicsType:
      description: "Fixed read-only parameters of a variable.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        unit:
          description: "Unit of the variable. When the transmitted value has a unit, this field SHALL be included.\r\n"
          type: string
          maxLength: 16
        dataType:
          description: "Data type of this variable.\r\n"
          type: string
          additionalProperties: false
          enum:
            - string
            - decimal
            - integer
            - dateTime
            - boolean
            - OptionList
            - SequenceList
            - MemberList
          x-javaType: DataEnum
        minLimit:
          description: "Minimum possible value of this variable.\r\n"
          type: number
        maxLimit:
          description: "Maximum possible value of this variable. When the datatype of this Variable is String, OptionList, SequenceList or MemberList, this field defines the maximum length of the (CSV) string.\r\n"
          type: number
        valuesList:
          description: "Allowed values when variable is Option/Member/SequenceList. \r\n\r\n* OptionList: The (Actual) Variable value must be a single value from the reported (CSV) enumeration list.\r\n\r\n* MemberList: The (Actual) Variable value  may be an (unordered) (sub-)set of the reported (CSV) valid values list.\r\n\r\n* SequenceList: The (Actual) Variable value  may be an ordered (priority, etc)  (sub-)set of the reported (CSV) valid values.\r\n\r\nThis is a comma separated list.\r\n\r\nThe Configuration Variable &lt;&lt;configkey-configuration-value-size,ConfigurationValueSize&gt;&gt; can be used to limit SetVariableData.attributeValue and VariableCharacteristics.valueList. The max size of these values will always remain equal. \r\n\r\n"
          type: string
          maxLength: 1000
        supportsMonitoring:
          description: "Flag indicating if this variable supports monitoring. \r\n"
          type: boolean
      required:
        - dataType
        - supportsMonitoring
      x-javaType: VariableCharacteristics
    NotifyReportRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        requestId:
          description: "The id of the GetReportRequest  or GetBaseReportRequest that requested this report\r\n"
          type: integer
        generatedAt:
          description: "Timestamp of the moment this message was generated at the Charging Station.\r\n"
          type: string
          format: date-time
        reportData:
          type: array
          items:
            $ref: '#/components/schemas/ReportDataType'
          minItems: 1
          x-additionalItems: false
        tbc:
          description: "“to be continued” indicator. Indicates whether another part of the report follows in an upcoming notifyReportRequest message. Default value when omitted is false.\r\n\r\n"
          type: boolean
          default: false
        seqNo:
          description: "Sequence number of this message. First message starts at 0.\r\n"
          type: integer
      required:
        - requestId
        - generatedAt
        - seqNo
    NotifyReportResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: NotifyReport
          description: Action (without Response)
        - $ref: '#/components/schemas/NotifyReportResponsePayload'
      minItems: 4
      maxItems: 4
    NotifyReportResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    PublishFirmwareRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: PublishFirmware
          description: Action (without Request)
        - $ref: '#/components/schemas/PublishFirmwareRequestPayload'
      minItems: 4
      maxItems: 4
    PublishFirmwareRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        location:
          description: "This contains a string containing a URI pointing to a\r\nlocation from which to retrieve the firmware.\r\n"
          type: string
          maxLength: 512
        retries:
          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"
          type: integer
        checksum:
          description: "The MD5 checksum over the entire firmware file as a hexadecimal string of length 32. \r\n"
          type: string
          maxLength: 32
        requestId:
          description: "The Id of the request.\r\n"
          type: integer
        retryInterval:
          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"
          type: integer
      required:
        - location
        - checksum
        - requestId
    PublishFirmwareResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: PublishFirmware
          description: Action (without Response)
        - $ref: '#/components/schemas/PublishFirmwareResponsePayload'
      minItems: 4
      maxItems: 4
    PublishFirmwareResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    PublishFirmwareStatusNotificationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: PublishFirmwareStatusNotification
          description: Action (without Request)
        - $ref: '#/components/schemas/PublishFirmwareStatusNotificationRequestPayload'
      minItems: 4
      maxItems: 4
    PublishFirmwareStatusEnumType:
      description: "This contains the progress status of the publishfirmware\r\ninstallation.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Idle
        - DownloadScheduled
        - Downloading
        - Downloaded
        - Published
        - DownloadFailed
        - DownloadPaused
        - InvalidChecksum
        - ChecksumVerified
        - PublishFailed
      x-javaType: PublishFirmwareStatusEnum
    PublishFirmwareStatusNotificationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/PublishFirmwareStatusEnumType'
        location:
          description: "Required if status is Published. Can be multiple URI’s, if the Local Controller supports e.g. HTTP, HTTPS, and FTP.\r\n"
          type: array
          items:
            type: string
            maxLength: 512
          minItems: 1
          x-additionalItems: false
        requestId:
          description: "The request id that was\r\nprovided in the\r\nPublishFirmwareRequest which\r\ntriggered this action.\r\n"
          type: integer
      required:
        - status
    PublishFirmwareStatusNotificationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: PublishFirmwareStatusNotification
          description: Action (without Response)
        - $ref: >-
            #/components/schemas/PublishFirmwareStatusNotificationResponsePayload
      minItems: 4
      maxItems: 4
    PublishFirmwareStatusNotificationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    ReportChargingProfilesRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ReportChargingProfiles
          description: Action (without Request)
        - $ref: '#/components/schemas/ReportChargingProfilesRequestPayload'
      minItems: 4
      maxItems: 4
    ChargingProfileKindEnumType:
      description: "Charging_ Profile. Charging_ Profile_ Kind. Charging_ Profile_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569232\r\nIndicates the kind of schedule.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Absolute
        - Recurring
        - Relative
      x-javaType: ChargingProfileKindEnum
    RecurrencyKindEnumType:
      description: "Charging_ Profile. Recurrency_ Kind. Recurrency_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569233\r\nIndicates the start point of a recurrence.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Daily
        - Weekly
      x-javaType: RecurrencyKindEnum
    ChargingProfileType:
      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"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        id:
          description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nId of ChargingProfile.\r\n"
          type: integer
        stackLevel:
          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"
          type: integer
        chargingProfilePurpose:
          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"
          type: string
          additionalProperties: false
          enum:
            - ChargingStationExternalConstraints
            - ChargingStationMaxProfile
            - TxDefaultProfile
            - TxProfile
          x-javaType: ChargingProfilePurposeEnum
        chargingProfileKind:
          description: "Charging_ Profile. Charging_ Profile_ Kind. Charging_ Profile_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569232\r\nIndicates the kind of schedule.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Absolute
            - Recurring
            - Relative
          x-javaType: ChargingProfileKindEnum
        recurrencyKind:
          description: "Charging_ Profile. Recurrency_ Kind. Recurrency_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569233\r\nIndicates the start point of a recurrence.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Daily
            - Weekly
          x-javaType: RecurrencyKindEnum
        validFrom:
          description: "Charging_ Profile. Valid_ From. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569234\r\nPoint in time at which the profile starts to be valid. If absent, the profile is valid as soon as it is received by the Charging Station.\r\n"
          type: string
          format: date-time
        validTo:
          description: "Charging_ Profile. Valid_ To. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569235\r\nPoint in time at which the profile stops to be valid. If absent, the profile is valid until it is replaced by another profile.\r\n"
          type: string
          format: date-time
        chargingSchedule:
          type: array
          items:
            description: "Charging_ Schedule\r\nurn:x-oca:ocpp:uid:2:233256\r\nCharging schedule structure defines a list of charging periods, as used in: GetCompositeSchedule.conf and ChargingProfile. \r\n"
            type: object
            additionalProperties: false
            properties:
              customData:
                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.
                type: object
                properties:
                  vendorId:
                    type: string
                    maxLength: 255
                required:
                  - vendorId
                x-javaType: CustomData
              id:
                description: "Identifies the ChargingSchedule.\r\n"
                type: integer
              startSchedule:
                description: "Charging_ Schedule. Start_ Schedule. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569237\r\nStarting point of an absolute schedule. If absent the schedule will be relative to start of charging.\r\n"
                type: string
                format: date-time
              duration:
                description: "Charging_ Schedule. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569236\r\nDuration of the charging schedule in seconds. If the duration is left empty, the last period will continue indefinitely or until end of the transaction if chargingProfilePurpose = TxProfile.\r\n"
                type: integer
              chargingRateUnit:
                description: "Charging_ Schedule. Charging_ Rate_ Unit. Charging_ Rate_ Unit_ Code\r\nurn:x-oca:ocpp:uid:1:569238\r\nThe unit of measure Limit is expressed in.\r\n"
                type: string
                additionalProperties: false
                enum:
                  - W
                  - A
                x-javaType: ChargingRateUnitEnum
              chargingSchedulePeriod:
                type: array
                items:
                  description: "Charging_ Schedule_ Period\r\nurn:x-oca:ocpp:uid:2:233257\r\nCharging schedule period structure defines a time period in a charging schedule.\r\n"
                  type: object
                  additionalProperties: false
                  properties:
                    customData:
                      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.
                      type: object
                      properties:
                        vendorId:
                          type: string
                          maxLength: 255
                      required:
                        - vendorId
                      x-javaType: CustomData
                    startPeriod:
                      description: "Charging_ Schedule_ Period. Start_ Period. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569240\r\nStart of the period, in seconds from the start of schedule. The value of StartPeriod also defines the stop time of the previous period.\r\n"
                      type: integer
                    limit:
                      description: "Charging_ Schedule_ Period. Limit. Measure\r\nurn:x-oca:ocpp:uid:1:569241\r\nCharging rate limit during the schedule period, in the applicable chargingRateUnit, for example in Amperes (A) or Watts (W). Accepts at most one digit fraction (e.g. 8.1).\r\n"
                      type: number
                    numberPhases:
                      description: "Charging_ Schedule_ Period. Number_ Phases. Counter\r\nurn:x-oca:ocpp:uid:1:569242\r\nThe number of phases that can be used for charging. If a number of phases is needed, numberPhases=3 will be assumed unless another number is given.\r\n"
                      type: integer
                    phaseToUse:
                      description: "Values: 1..3, Used if numberPhases=1 and if the EVSE is capable of switching the phase connected to the EV, i.e. ACPhaseSwitchingSupported is defined and true. It’s not allowed unless both conditions above are true. If both conditions are true, and phaseToUse is omitted, the Charging Station / EVSE will make the selection on its own.\r\n\r\n"
                      type: integer
                  required:
                    - startPeriod
                    - limit
                  x-javaType: ChargingSchedulePeriod
                minItems: 1
                maxItems: 1024
                x-additionalItems: false
              minChargingRate:
                description: "Charging_ Schedule. Min_ Charging_ Rate. Numeric\r\nurn:x-oca:ocpp:uid:1:569239\r\nMinimum charging rate supported by the EV. The unit of measure is defined by the chargingRateUnit. This parameter is intended to be used by a local smart charging algorithm to optimize the power allocation for in the case a charging process is inefficient at lower charging rates. Accepts at most one digit fraction (e.g. 8.1)\r\n"
                type: number
              salesTariff:
                description: "Sales_ Tariff\r\nurn:x-oca:ocpp:uid:2:233272\r\nNOTE: This dataType is based on dataTypes from &lt;&lt;ref-ISOIEC15118-2,ISO 15118-2&gt;&gt;.\r\n"
                type: object
                additionalProperties: false
                properties:
                  customData:
                    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.
                    type: object
                    properties:
                      vendorId:
                        type: string
                        maxLength: 255
                    required:
                      - vendorId
                    x-javaType: CustomData
                  id:
                    description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nSalesTariff identifier used to identify one sales tariff. An SAID remains a unique identifier for one schedule throughout a charging session.\r\n"
                    type: integer
                  salesTariffDescription:
                    description: "Sales_ Tariff. Sales. Tariff_ Description\r\nurn:x-oca:ocpp:uid:1:569283\r\nA human readable title/short description of the sales tariff e.g. for HMI display purposes.\r\n"
                    type: string
                    maxLength: 32
                  numEPriceLevels:
                    description: "Sales_ Tariff. Num_ E_ Price_ Levels. Counter\r\nurn:x-oca:ocpp:uid:1:569284\r\nDefines the overall number of distinct price levels used across all provided SalesTariff elements.\r\n"
                    type: integer
                  salesTariffEntry:
                    type: array
                    items:
                      description: "Sales_ Tariff_ Entry\r\nurn:x-oca:ocpp:uid:2:233271\r\n"
                      type: object
                      additionalProperties: false
                      properties:
                        customData:
                          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.
                          type: object
                          properties:
                            vendorId:
                              type: string
                              maxLength: 255
                          required:
                            - vendorId
                          x-javaType: CustomData
                        relativeTimeInterval:
                          description: "Relative_ Timer_ Interval\r\nurn:x-oca:ocpp:uid:2:233270\r\n"
                          type: object
                          additionalProperties: false
                          properties:
                            customData:
                              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.
                              type: object
                              properties:
                                vendorId:
                                  type: string
                                  maxLength: 255
                              required:
                                - vendorId
                              x-javaType: CustomData
                            start:
                              description: "Relative_ Timer_ Interval. Start. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569279\r\nStart of the interval, in seconds from NOW.\r\n"
                              type: integer
                            duration:
                              description: "Relative_ Timer_ Interval. Duration. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569280\r\nDuration of the interval, in seconds.\r\n"
                              type: integer
                          required:
                            - start
                          x-javaType: RelativeTimeInterval
                        ePriceLevel:
                          description: "Sales_ Tariff_ Entry. E_ Price_ Level. Unsigned_ Integer\r\nurn:x-oca:ocpp:uid:1:569281\r\nDefines the price level of this SalesTariffEntry (referring to NumEPriceLevels). Small values for the EPriceLevel represent a cheaper TariffEntry. Large values for the EPriceLevel represent a more expensive TariffEntry.\r\n"
                          type: integer
                          minimum: 0
                        consumptionCost:
                          type: array
                          items:
                            description: "Consumption_ Cost\r\nurn:x-oca:ocpp:uid:2:233259\r\n"
                            type: object
                            additionalProperties: false
                            properties:
                              customData:
                                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.
                                type: object
                                properties:
                                  vendorId:
                                    type: string
                                    maxLength: 255
                                required:
                                  - vendorId
                                x-javaType: CustomData
                              startValue:
                                description: "Consumption_ Cost. Start_ Value. Numeric\r\nurn:x-oca:ocpp:uid:1:569246\r\nThe lowest level of consumption that defines the starting point of this consumption block. The block interval extends to the start of the next interval.\r\n"
                                type: number
                              cost:
                                type: array
                                items:
                                  description: "Cost\r\nurn:x-oca:ocpp:uid:2:233258\r\n"
                                  type: object
                                  additionalProperties: false
                                  properties:
                                    customData:
                                      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.
                                      type: object
                                      properties:
                                        vendorId:
                                          type: string
                                          maxLength: 255
                                      required:
                                        - vendorId
                                      x-javaType: CustomData
                                    costKind:
                                      description: "Cost. Cost_ Kind. Cost_ Kind_ Code\r\nurn:x-oca:ocpp:uid:1:569243\r\nThe kind of cost referred to in the message element amount\r\n"
                                      type: string
                                      additionalProperties: false
                                      enum:
                                        - CarbonDioxideEmission
                                        - RelativePricePercentage
                                        - RenewableGenerationPercentage
                                      x-javaType: CostKindEnum
                                    amount:
                                      description: "Cost. Amount. Amount\r\nurn:x-oca:ocpp:uid:1:569244\r\nThe estimated or actual cost per kWh\r\n"
                                      type: integer
                                    amountMultiplier:
                                      description: "Cost. Amount_ Multiplier. Integer\r\nurn:x-oca:ocpp:uid:1:569245\r\nValues: -3..3, The amountMultiplier defines the exponent to base 10 (dec). The final value is determined by: amount * 10 ^ amountMultiplier\r\n"
                                      type: integer
                                  required:
                                    - costKind
                                    - amount
                                  x-javaType: Cost
                                minItems: 1
                                maxItems: 3
                                x-additionalItems: false
                            required:
                              - startValue
                              - cost
                            x-javaType: ConsumptionCost
                          minItems: 1
                          maxItems: 3
                          x-additionalItems: false
                      required:
                        - relativeTimeInterval
                      x-javaType: SalesTariffEntry
                    minItems: 1
                    maxItems: 1024
                    x-additionalItems: false
                required:
                  - id
                  - salesTariffEntry
                x-javaType: SalesTariff
            required:
              - id
              - chargingRateUnit
              - chargingSchedulePeriod
            x-javaType: ChargingSchedule
          minItems: 1
          maxItems: 3
          x-additionalItems: false
        transactionId:
          description: "SHALL only be included if ChargingProfilePurpose is set to TxProfile. The transactionId is used to match the profile to a specific transaction.\r\n"
          type: string
          maxLength: 36
      required:
        - id
        - stackLevel
        - chargingProfilePurpose
        - chargingProfileKind
        - chargingSchedule
      x-javaType: ChargingProfile
    ReportChargingProfilesRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        requestId:
          description: "Id used to match the &lt;&lt;getchargingprofilesrequest, GetChargingProfilesRequest&gt;&gt; message with the resulting ReportChargingProfilesRequest messages. When the CSMS provided a requestId in the &lt;&lt;getchargingprofilesrequest, GetChargingProfilesRequest&gt;&gt;, this field SHALL contain the same value.\r\n"
          type: integer
        chargingLimitSource:
          $ref: '#/components/schemas/ChargingLimitSourceEnumType'
        chargingProfile:
          type: array
          items:
            $ref: '#/components/schemas/ChargingProfileType'
          minItems: 1
          x-additionalItems: false
        tbc:
          description: "To Be Continued. Default value when omitted: false. false indicates that there are no further messages as part of this report.\r\n"
          type: boolean
          default: false
        evseId:
          description: "The evse to which the charging profile applies. If evseId = 0, the message contains an overall limit for the Charging Station.\r\n"
          type: integer
      required:
        - requestId
        - chargingLimitSource
        - evseId
        - chargingProfile
    ReportChargingProfilesResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ReportChargingProfiles
          description: Action (without Response)
        - $ref: '#/components/schemas/ReportChargingProfilesResponsePayload'
      minItems: 4
      maxItems: 4
    ReportChargingProfilesResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    RequestStartTransactionRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: StartTransactionRequest
          description: Action (without Request)
        - $ref: '#/components/schemas/RequestStartTransactionRequestPayload'
      minItems: 4
      maxItems: 4
    RequestStartTransactionRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        evseId:
          description: "Number of the EVSE on which to start the transaction. EvseId SHALL be &gt; 0\r\n"
          type: integer
        groupIdToken:
          $ref: '#/components/schemas/IdTokenType'
        idToken:
          $ref: '#/components/schemas/IdTokenType'
        remoteStartId:
          description: "Id given by the server to this start request. The Charging Station might return this in the &lt;&lt;transactioneventrequest, TransactionEventRequest&gt;&gt;, letting the server know which transaction was started for this request. Use to start a transaction.\r\n"
          type: integer
        chargingProfile:
          $ref: '#/components/schemas/ChargingProfileType'
      required:
        - remoteStartId
        - idToken
    RequestStartTransactionResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: StartTransaction
          description: Action (without Response)
        - $ref: '#/components/schemas/RequestStartTransactionResponsePayload'
      minItems: 4
      maxItems: 4
    RequestStartStopStatusEnumType:
      description: "Status indicating whether Charging Station accepts the request to stop a transaction.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
      x-javaType: RequestStartStopStatusEnum
    RequestStartTransactionResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/RequestStartStopStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
        transactionId:
          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"
          type: string
          maxLength: 36
      required:
        - status
    RequestStopTransactionRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: StopTransactionRequest
          description: Action (without Request)
        - $ref: '#/components/schemas/RequestStopTransactionRequestPayload'
      minItems: 4
      maxItems: 4
    RequestStopTransactionRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        transactionId:
          description: "The identifier of the transaction which the Charging Station is requested to stop.\r\n"
          type: string
          maxLength: 36
      required:
        - transactionId
    RequestStopTransactionResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: StopTransaction
          description: Action (without Response)
        - $ref: '#/components/schemas/RequestStopTransactionResponsePayload'
      minItems: 4
      maxItems: 4
    RequestStopTransactionResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/RequestStartStopStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    ReservationStatusUpdateRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ReservationStatusUpdate
          description: Action (without Request)
        - $ref: '#/components/schemas/ReservationStatusUpdateRequestPayload'
      minItems: 4
      maxItems: 4
    ReservationUpdateStatusEnumType:
      description: "The updated reservation status.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Expired
        - Removed
      x-javaType: ReservationUpdateStatusEnum
    ReservationStatusUpdateRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        reservationId:
          description: "The ID of the reservation.\r\n"
          type: integer
        reservationUpdateStatus:
          $ref: '#/components/schemas/ReservationUpdateStatusEnumType'
      required:
        - reservationId
        - reservationUpdateStatus
    ReservationStatusUpdateResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ReservationStatusUpdate
          description: Action (without Response)
        - $ref: '#/components/schemas/ReservationStatusUpdateResponsePayload'
      minItems: 4
      maxItems: 4
    ReservationStatusUpdateResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    ReserveNowRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ReserveNow
          description: Action (without Request)
        - $ref: '#/components/schemas/ReserveNowRequestPayload'
      minItems: 4
      maxItems: 4
    ConnectorEnumType:
      description: "This field specifies the connector type.\r\n"
      type: string
      additionalProperties: false
      enum:
        - cCCS1
        - cCCS2
        - cG105
        - cTesla
        - cType1
        - cType2
        - s309-1P-16A
        - s309-1P-32A
        - s309-3P-16A
        - s309-3P-32A
        - sBS1361
        - sCEE-7-7
        - sType2
        - sType3
        - Other1PhMax16A
        - Other1PhOver16A
        - Other3Ph
        - Pan
        - wInductive
        - wResonant
        - Undetermined
        - Unknown
      x-javaType: ConnectorEnum
    ReserveNowRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        id:
          description: "Id of reservation.\r\n"
          type: integer
        expiryDateTime:
          description: "Date and time at which the reservation expires.\r\n"
          type: string
          format: date-time
        connectorType:
          $ref: '#/components/schemas/ConnectorEnumType'
        idToken:
          $ref: '#/components/schemas/IdTokenType'
        evseId:
          description: "This contains ID of the evse to be reserved.\r\n"
          type: integer
        groupIdToken:
          $ref: '#/components/schemas/IdTokenType'
      required:
        - id
        - expiryDateTime
        - idToken
    ReserveNowResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: ReserveNow
          description: Action (without Response)
        - $ref: '#/components/schemas/ReserveNowResponsePayload'
      minItems: 4
      maxItems: 4
    ReserveNowStatusEnumType:
      description: "This indicates the success or failure of the reservation.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Faulted
        - Occupied
        - Rejected
        - Unavailable
      x-javaType: ReserveNowStatusEnum
    ReserveNowResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/ReserveNowStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    ResetRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Reset
          description: Action (without Request)
        - $ref: '#/components/schemas/ResetRequestPayload'
      minItems: 4
      maxItems: 4
    ResetEnumType:
      description: "This contains the type of reset that the Charging Station or EVSE should perform.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Immediate
        - OnIdle
      x-javaType: ResetEnum
    ResetRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        type:
          $ref: '#/components/schemas/ResetEnumType'
        evseId:
          description: "This contains the ID of a specific EVSE that needs to be reset, instead of the entire Charging Station.\r\n"
          type: integer
      required:
        - type
    ResetResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: Reset
          description: Action (without Response)
        - $ref: '#/components/schemas/ResetResponsePayload'
      minItems: 4
      maxItems: 4
    ResetStatusEnumType:
      description: "This indicates whether the Charging Station is able to perform the reset.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - Scheduled
      x-javaType: ResetStatusEnum
    ResetResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/ResetStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    SecurityEventNotificationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SecurityEventNotification
          description: Action (without Request)
        - $ref: '#/components/schemas/SecurityEventNotificationRequestPayload'
      minItems: 4
      maxItems: 4
    SecurityEventNotificationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        type:
          description: "Type of the security event. This value should be taken from the Security events list.\r\n"
          type: string
          maxLength: 50
        timestamp:
          description: "Date and time at which the event occurred.\r\n"
          type: string
          format: date-time
        techInfo:
          description: "Additional information about the occurred security event.\r\n"
          type: string
          maxLength: 255
      required:
        - type
        - timestamp
    SecurityEventNotificationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SecurityEventNotification
          description: Action (without Response)
        - $ref: '#/components/schemas/SecurityEventNotificationResponsePayload'
      minItems: 4
      maxItems: 4
    SecurityEventNotificationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    SendLocalListRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SendLocalList
          description: Action (without Request)
        - $ref: '#/components/schemas/SendLocalListRequestPayload'
      minItems: 4
      maxItems: 4
    UpdateEnumType:
      description: "This contains the type of update (full or differential) of this request.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Differential
        - Full
      x-javaType: UpdateEnum
    AuthorizationData:
      description: "Contains the identifier to use for authorization.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        idToken:
          description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            additionalInfo:
              type: array
              items:
                description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
                type: object
                additionalProperties: false
                properties:
                  customData:
                    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.
                    type: object
                    properties:
                      vendorId:
                        type: string
                        maxLength: 255
                    required:
                      - vendorId
                    x-javaType: CustomData
                  additionalIdToken:
                    description: "This field specifies the additional IdToken.\r\n"
                    type: string
                    maxLength: 36
                  type:
                    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"
                    type: string
                    maxLength: 50
                required:
                  - additionalIdToken
                  - type
                x-javaType: AdditionalInfo
              minItems: 1
              x-additionalItems: false
            idToken:
              description: "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n"
              type: string
              maxLength: 36
            type:
              description: "Enumeration of possible idToken types.\r\n"
              type: string
              additionalProperties: false
              enum:
                - Central
                - eMAID
                - ISO14443
                - ISO15693
                - KeyCode
                - Local
                - MacAddress
                - NoAuthorization
              x-javaType: IdTokenEnum
          required:
            - idToken
            - type
          x-javaType: IdToken
        idTokenInfo:
          description: "ID_ Token\r\nurn:x-oca:ocpp:uid:2:233247\r\nContains status information about an identifier.\r\nIt is advised to not stop charging for a token that expires during charging, as ExpiryDate is only used for caching purposes. If ExpiryDate is not given, the status has no end date.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            status:
              description: "ID_ Token. Status. Authorization_ Status\r\nurn:x-oca:ocpp:uid:1:569372\r\nCurrent status of the ID Token.\r\n"
              type: string
              additionalProperties: false
              enum:
                - Accepted
                - Blocked
                - ConcurrentTx
                - Expired
                - Invalid
                - NoCredit
                - NotAllowedTypeEVSE
                - NotAtThisLocation
                - NotAtThisTime
                - Unknown
              x-javaType: AuthorizationStatusEnum
            cacheExpiryDateTime:
              description: "ID_ Token. Expiry. Date_ Time\r\nurn:x-oca:ocpp:uid:1:569373\r\nDate and Time after which the token must be considered invalid.\r\n"
              type: string
              format: date-time
            chargingPriority:
              description: "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in &lt;&lt;transactioneventresponse,TransactionEventResponse&gt;&gt; overrules this one. \r\n"
              type: integer
            language1:
              description: "ID_ Token. Language1. Language_ Code\r\nurn:x-oca:ocpp:uid:1:569374\r\nPreferred user interface language of identifier user. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n\r\n"
              type: string
              maxLength: 8
            evseId:
              description: "Only used when the IdToken is only valid for one or more specific EVSEs, not for the entire Charging Station.\r\n\r\n"
              type: array
              items:
                type: integer
              minItems: 1
              x-additionalItems: false
            groupIdToken:
              description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                additionalInfo:
                  type: array
                  items:
                    description: "Contains a case insensitive identifier to use for the authorization and the type of authorization to support multiple forms of identifiers.\r\n"
                    type: object
                    additionalProperties: false
                    properties:
                      customData:
                        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.
                        type: object
                        properties:
                          vendorId:
                            type: string
                            maxLength: 255
                        required:
                          - vendorId
                        x-javaType: CustomData
                      additionalIdToken:
                        description: "This field specifies the additional IdToken.\r\n"
                        type: string
                        maxLength: 36
                      type:
                        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"
                        type: string
                        maxLength: 50
                    required:
                      - additionalIdToken
                      - type
                    x-javaType: AdditionalInfo
                  minItems: 1
                  x-additionalItems: false
                idToken:
                  description: "IdToken is case insensitive. Might hold the hidden id of an RFID tag, but can for example also contain a UUID.\r\n"
                  type: string
                  maxLength: 36
                type:
                  description: "Enumeration of possible idToken types.\r\n"
                  type: string
                  additionalProperties: false
                  enum:
                    - Central
                    - eMAID
                    - ISO14443
                    - ISO15693
                    - KeyCode
                    - Local
                    - MacAddress
                    - NoAuthorization
                  x-javaType: IdTokenEnum
              required:
                - idToken
                - type
              x-javaType: IdToken
            language2:
              description: "ID_ Token. Language2. Language_ Code\r\nurn:x-oca:ocpp:uid:1:569375\r\nSecond preferred user interface language of identifier user. Don’t use when language1 is omitted, has to be different from language1. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n"
              type: string
              maxLength: 8
            personalMessage:
              description: "Message_ Content\r\nurn:x-enexis:ecdm:uid:2:234490\r\nContains message details, for a message to be displayed on a Charging Station.\r\n\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                format:
                  description: "Message_ Content. Format. Message_ Format_ Code\r\nurn:x-enexis:ecdm:uid:1:570848\r\nFormat of the message.\r\n"
                  type: string
                  additionalProperties: false
                  enum:
                    - ASCII
                    - HTML
                    - URI
                    - UTF8
                  x-javaType: MessageFormatEnum
                language:
                  description: "Message_ Content. Language. Language_ Code\r\nurn:x-enexis:ecdm:uid:1:570849\r\nMessage language identifier. Contains a language code as defined in &lt;&lt;ref-RFC5646,[RFC5646]&gt;&gt;.\r\n"
                  type: string
                  maxLength: 8
                content:
                  description: "Message_ Content. Content. Message\r\nurn:x-enexis:ecdm:uid:1:570852\r\nMessage contents.\r\n\r\n"
                  type: string
                  maxLength: 512
              required:
                - format
                - content
              x-javaType: MessageContent
          required:
            - status
          x-javaType: IdTokenInfo
      required:
        - idToken
      x-javaType: AuthorizationData
    SendLocalListRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        localAuthorizationList:
          type: array
          items:
            $ref: '#/components/schemas/AuthorizationData'
          minItems: 1
          x-additionalItems: false
        versionNumber:
          description: "In case of a full update this is the version number of the full list. In case of a differential update it is the version number of the list after the update has been applied.\r\n"
          type: integer
        updateType:
          $ref: '#/components/schemas/UpdateEnumType'
      required:
        - versionNumber
        - updateType
    SendLocalListResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SendLocalList
          description: Action (without Response)
        - $ref: '#/components/schemas/SendLocalListResponsePayload'
      minItems: 4
      maxItems: 4
    SendLocalListStatusEnumType:
      description: "This indicates whether the Charging Station has successfully received and applied the update of the Local Authorization List.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Failed
        - VersionMismatch
      x-javaType: SendLocalListStatusEnum
    SendLocalListResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/SendLocalListStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    SetChargingProfileRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetChargingProfile
          description: Action (without Request)
        - $ref: '#/components/schemas/SetChargingProfileRequestPayload'
      minItems: 4
      maxItems: 4
    SetChargingProfileRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        evseId:
          description: "For TxDefaultProfile an evseId=0 applies the profile to each individual evse. For ChargingStationMaxProfile and ChargingStationExternalConstraints an evseId=0 contains an overal limit for the whole Charging Station.\r\n"
          type: integer
        chargingProfile:
          $ref: '#/components/schemas/ChargingProfileType'
      required:
        - evseId
        - chargingProfile
    SetChargingProfileResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetChargingProfile
          description: Action (without Response)
        - $ref: '#/components/schemas/SetChargingProfileResponsePayload'
      minItems: 4
      maxItems: 4
    ChargingProfileStatusEnumType:
      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"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
      x-javaType: ChargingProfileStatusEnum
    SetChargingProfileResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/ChargingProfileStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    SetDisplayMessageRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetDisplayMessage
          description: Action (without Request)
        - $ref: '#/components/schemas/SetDisplayMessageRequestPayload'
      minItems: 4
      maxItems: 4
    SetDisplayMessageRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        message:
          $ref: '#/components/schemas/MessageInfoType'
      required:
        - message
    SetDisplayMessageResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetDisplayMessage
          description: Action (without Response)
        - $ref: '#/components/schemas/SetDisplayMessageResponsePayload'
      minItems: 4
      maxItems: 4
    DisplayMessageStatusEnumType:
      description: "This indicates whether the Charging Station is able to display the message.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - NotSupportedMessageFormat
        - Rejected
        - NotSupportedPriority
        - NotSupportedState
        - UnknownTransaction
      x-javaType: DisplayMessageStatusEnum
    SetDisplayMessageResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/DisplayMessageStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    SetMonitoringBaseRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetMonitoringBase
          description: Action (without Request)
        - $ref: '#/components/schemas/SetMonitoringBaseRequestPayload'
      minItems: 4
      maxItems: 4
    MonitoringBaseEnumType:
      description: "Specify which monitoring base will be set\r\n"
      type: string
      additionalProperties: false
      enum:
        - All
        - FactoryDefault
        - HardWiredOnly
      x-javaType: MonitoringBaseEnum
    SetMonitoringBaseRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        monitoringBase:
          $ref: '#/components/schemas/MonitoringBaseEnumType'
      required:
        - monitoringBase
    SetMonitoringBaseResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetMonitoringBase
          description: Action (without Response)
        - $ref: '#/components/schemas/SetMonitoringBaseResponsePayload'
      minItems: 4
      maxItems: 4
    SetMonitoringBaseResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericDeviceModelStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    SetMonitoringLevelRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetMonitoringLevel
          description: Action (without Request)
        - $ref: '#/components/schemas/SetMonitoringLevelRequestPayload'
      minItems: 4
      maxItems: 4
    SetMonitoringLevelRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        severity:
          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"
          type: integer
      required:
        - severity
    SetMonitoringLevelResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetMonitoringLevel
          description: Action (without Response)
        - $ref: '#/components/schemas/SetMonitoringLevelResponsePayload'
      minItems: 4
      maxItems: 4
    SetMonitoringLevelResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    SetNetworkProfileRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetNetworkProfile
          description: Action (without Request)
        - $ref: '#/components/schemas/SetNetworkProfileRequestPayload'
      minItems: 4
      maxItems: 4
    APNAuthenticationEnumType:
      description: "APN. APN_ Authentication. APN_ Authentication_ Code\r\nurn:x-oca:ocpp:uid:1:568828\r\nAuthentication method.\r\n"
      type: string
      additionalProperties: false
      enum:
        - CHAP
        - NONE
        - PAP
        - AUTO
      x-javaType: APNAuthenticationEnum
    OCPPInterfaceEnumType:
      description: "Applicable Network Interface.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Wired0
        - Wired1
        - Wired2
        - Wired3
        - Wireless0
        - Wireless1
        - Wireless2
        - Wireless3
      x-javaType: OCPPInterfaceEnum
    OCPPTransportEnumType:
      description: "Communication_ Function. OCPP_ Transport. OCPP_ Transport_ Code\r\nurn:x-oca:ocpp:uid:1:569356\r\nDefines the transport protocol (e.g. SOAP or JSON). Note: SOAP is not supported in OCPP 2.0, but is supported by other versions of OCPP.\r\n"
      type: string
      additionalProperties: false
      enum:
        - JSON
        - SOAP
      x-javaType: OCPPTransportEnum
    OCPPVersionEnumType:
      description: "Communication_ Function. OCPP_ Version. OCPP_ Version_ Code\r\nurn:x-oca:ocpp:uid:1:569355\r\nDefines the OCPP version used for this communication function.\r\n"
      type: string
      additionalProperties: false
      enum:
        - OCPP12
        - OCPP15
        - OCPP16
        - OCPP20
      x-javaType: OCPPVersionEnum
    VPNEnumType:
      description: "VPN. Type. VPN_ Code\r\nurn:x-oca:ocpp:uid:1:569277\r\nType of VPN\r\n"
      type: string
      additionalProperties: false
      enum:
        - IKEv2
        - IPSec
        - L2TP
        - PPTP
      x-javaType: VPNEnum
    APNType:
      description: "APN\r\nurn:x-oca:ocpp:uid:2:233134\r\nCollection of configuration data needed to make a data-connection over a cellular network.\r\n\r\nNOTE: When asking a GSM modem to dial in, it is possible to specify which mobile operator should be used. This can be done with the mobile country code (MCC) in combination with a mobile network code (MNC). Example: If your preferred network is Vodafone Netherlands, the MCC=204 and the MNC=04 which means the key PreferredNetwork = 20404 Some modems allows to specify a preferred network, which means, if this network is not available, a different network is used. If you specify UseOnlyPreferredNetwork and this network is not available, the modem will not dial in.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        apn:
          description: "APN. APN. URI\r\nurn:x-oca:ocpp:uid:1:568814\r\nThe Access Point Name as an URL.\r\n"
          type: string
          maxLength: 512
        apnUserName:
          description: "APN. APN. User_ Name\r\nurn:x-oca:ocpp:uid:1:568818\r\nAPN username.\r\n"
          type: string
          maxLength: 20
        apnPassword:
          description: "APN. APN. Password\r\nurn:x-oca:ocpp:uid:1:568819\r\nAPN Password.\r\n"
          type: string
          maxLength: 20
        simPin:
          description: "APN. SIMPIN. PIN_ Code\r\nurn:x-oca:ocpp:uid:1:568821\r\nSIM card pin code.\r\n"
          type: integer
        preferredNetwork:
          description: "APN. Preferred_ Network. Mobile_ Network_ ID\r\nurn:x-oca:ocpp:uid:1:568822\r\nPreferred network, written as MCC and MNC concatenated. See note.\r\n"
          type: string
          maxLength: 6
        useOnlyPreferredNetwork:
          description: "APN. Use_ Only_ Preferred_ Network. Indicator\r\nurn:x-oca:ocpp:uid:1:568824\r\nDefault: false. Use only the preferred Network, do\r\nnot dial in when not available. See Note.\r\n"
          type: boolean
          default: false
        apnAuthentication:
          description: "APN. APN_ Authentication. APN_ Authentication_ Code\r\nurn:x-oca:ocpp:uid:1:568828\r\nAuthentication method.\r\n"
          type: string
          additionalProperties: false
          enum:
            - CHAP
            - NONE
            - PAP
            - AUTO
          x-javaType: APNAuthenticationEnum
      required:
        - apn
        - apnAuthentication
      x-javaType: APN
    NetworkConnectionProfileType:
      description: "Communication_ Function\r\nurn:x-oca:ocpp:uid:2:233304\r\nThe NetworkConnectionProfile defines the functional and technical parameters of a communication link.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        apn:
          description: "APN\r\nurn:x-oca:ocpp:uid:2:233134\r\nCollection of configuration data needed to make a data-connection over a cellular network.\r\n\r\nNOTE: When asking a GSM modem to dial in, it is possible to specify which mobile operator should be used. This can be done with the mobile country code (MCC) in combination with a mobile network code (MNC). Example: If your preferred network is Vodafone Netherlands, the MCC=204 and the MNC=04 which means the key PreferredNetwork = 20404 Some modems allows to specify a preferred network, which means, if this network is not available, a different network is used. If you specify UseOnlyPreferredNetwork and this network is not available, the modem will not dial in.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            apn:
              description: "APN. APN. URI\r\nurn:x-oca:ocpp:uid:1:568814\r\nThe Access Point Name as an URL.\r\n"
              type: string
              maxLength: 512
            apnUserName:
              description: "APN. APN. User_ Name\r\nurn:x-oca:ocpp:uid:1:568818\r\nAPN username.\r\n"
              type: string
              maxLength: 20
            apnPassword:
              description: "APN. APN. Password\r\nurn:x-oca:ocpp:uid:1:568819\r\nAPN Password.\r\n"
              type: string
              maxLength: 20
            simPin:
              description: "APN. SIMPIN. PIN_ Code\r\nurn:x-oca:ocpp:uid:1:568821\r\nSIM card pin code.\r\n"
              type: integer
            preferredNetwork:
              description: "APN. Preferred_ Network. Mobile_ Network_ ID\r\nurn:x-oca:ocpp:uid:1:568822\r\nPreferred network, written as MCC and MNC concatenated. See note.\r\n"
              type: string
              maxLength: 6
            useOnlyPreferredNetwork:
              description: "APN. Use_ Only_ Preferred_ Network. Indicator\r\nurn:x-oca:ocpp:uid:1:568824\r\nDefault: false. Use only the preferred Network, do\r\nnot dial in when not available. See Note.\r\n"
              type: boolean
              default: false
            apnAuthentication:
              description: "APN. APN_ Authentication. APN_ Authentication_ Code\r\nurn:x-oca:ocpp:uid:1:568828\r\nAuthentication method.\r\n"
              type: string
              additionalProperties: false
              enum:
                - CHAP
                - NONE
                - PAP
                - AUTO
              x-javaType: APNAuthenticationEnum
          required:
            - apn
            - apnAuthentication
          x-javaType: APN
        ocppVersion:
          description: "Communication_ Function. OCPP_ Version. OCPP_ Version_ Code\r\nurn:x-oca:ocpp:uid:1:569355\r\nDefines the OCPP version used for this communication function.\r\n"
          type: string
          additionalProperties: false
          enum:
            - OCPP12
            - OCPP15
            - OCPP16
            - OCPP20
          x-javaType: OCPPVersionEnum
        ocppTransport:
          description: "Communication_ Function. OCPP_ Transport. OCPP_ Transport_ Code\r\nurn:x-oca:ocpp:uid:1:569356\r\nDefines the transport protocol (e.g. SOAP or JSON). Note: SOAP is not supported in OCPP 2.0, but is supported by other versions of OCPP.\r\n"
          type: string
          additionalProperties: false
          enum:
            - JSON
            - SOAP
          x-javaType: OCPPTransportEnum
        ocppCsmsUrl:
          description: "Communication_ Function. OCPP_ Central_ System_ URL. URI\r\nurn:x-oca:ocpp:uid:1:569357\r\nURL of the CSMS(s) that this Charging Station  communicates with.\r\n"
          type: string
          maxLength: 512
        messageTimeout:
          description: "Duration in seconds before a message send by the Charging Station via this network connection times-out.\r\nThe best setting depends on the underlying network and response times of the CSMS.\r\nIf you are looking for a some guideline: use 30 seconds as a starting point.\r\n"
          type: integer
        securityProfile:
          description: "This field specifies the security profile used when connecting to the CSMS with this NetworkConnectionProfile.\r\n"
          type: integer
        ocppInterface:
          description: "Applicable Network Interface.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Wired0
            - Wired1
            - Wired2
            - Wired3
            - Wireless0
            - Wireless1
            - Wireless2
            - Wireless3
          x-javaType: OCPPInterfaceEnum
        vpn:
          description: "VPN\r\nurn:x-oca:ocpp:uid:2:233268\r\nVPN Configuration settings\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            server:
              description: "VPN. Server. URI\r\nurn:x-oca:ocpp:uid:1:569272\r\nVPN Server Address\r\n"
              type: string
              maxLength: 512
            user:
              description: "VPN. User. User_ Name\r\nurn:x-oca:ocpp:uid:1:569273\r\nVPN User\r\n"
              type: string
              maxLength: 20
            group:
              description: "VPN. Group. Group_ Name\r\nurn:x-oca:ocpp:uid:1:569274\r\nVPN group.\r\n"
              type: string
              maxLength: 20
            password:
              description: "VPN. Password. Password\r\nurn:x-oca:ocpp:uid:1:569275\r\nVPN Password.\r\n"
              type: string
              maxLength: 20
            key:
              description: "VPN. Key. VPN_ Key\r\nurn:x-oca:ocpp:uid:1:569276\r\nVPN shared secret.\r\n"
              type: string
              maxLength: 255
            type:
              description: "VPN. Type. VPN_ Code\r\nurn:x-oca:ocpp:uid:1:569277\r\nType of VPN\r\n"
              type: string
              additionalProperties: false
              enum:
                - IKEv2
                - IPSec
                - L2TP
                - PPTP
              x-javaType: VPNEnum
          required:
            - server
            - user
            - password
            - key
            - type
          x-javaType: VPN
      required:
        - ocppVersion
        - ocppTransport
        - ocppCsmsUrl
        - messageTimeout
        - securityProfile
        - ocppInterface
      x-javaType: NetworkConnectionProfile
    VPNType:
      description: "VPN\r\nurn:x-oca:ocpp:uid:2:233268\r\nVPN Configuration settings\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        server:
          description: "VPN. Server. URI\r\nurn:x-oca:ocpp:uid:1:569272\r\nVPN Server Address\r\n"
          type: string
          maxLength: 512
        user:
          description: "VPN. User. User_ Name\r\nurn:x-oca:ocpp:uid:1:569273\r\nVPN User\r\n"
          type: string
          maxLength: 20
        group:
          description: "VPN. Group. Group_ Name\r\nurn:x-oca:ocpp:uid:1:569274\r\nVPN group.\r\n"
          type: string
          maxLength: 20
        password:
          description: "VPN. Password. Password\r\nurn:x-oca:ocpp:uid:1:569275\r\nVPN Password.\r\n"
          type: string
          maxLength: 20
        key:
          description: "VPN. Key. VPN_ Key\r\nurn:x-oca:ocpp:uid:1:569276\r\nVPN shared secret.\r\n"
          type: string
          maxLength: 255
        type:
          description: "VPN. Type. VPN_ Code\r\nurn:x-oca:ocpp:uid:1:569277\r\nType of VPN\r\n"
          type: string
          additionalProperties: false
          enum:
            - IKEv2
            - IPSec
            - L2TP
            - PPTP
          x-javaType: VPNEnum
      required:
        - server
        - user
        - password
        - key
        - type
      x-javaType: VPN
    SetNetworkProfileRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        configurationSlot:
          description: "Slot in which the configuration should be stored.\r\n"
          type: integer
        connectionData:
          $ref: '#/components/schemas/NetworkConnectionProfileType'
      required:
        - configurationSlot
        - connectionData
    SetNetworkProfileResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetNetworkProfile
          description: Action (without Response)
        - $ref: '#/components/schemas/SetNetworkProfileResponsePayload'
      minItems: 4
      maxItems: 4
    SetNetworkProfileStatusEnumType:
      description: "Result of operation.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - Failed
      x-javaType: SetNetworkProfileStatusEnum
    SetNetworkProfileResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/SetNetworkProfileStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    SetVariableMonitoringRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetVariableMonitoring
          description: Action (without Request)
        - $ref: '#/components/schemas/SetVariableMonitoringRequestPayload'
      minItems: 4
      maxItems: 4
    SetMonitoringDataType:
      description: "Class to hold parameters of SetVariableMonitoring request.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        id:
          description: "An id SHALL only be given to replace an existing monitor. The Charging Station handles the generation of id's for new monitors.\r\n\r\n"
          type: integer
        transaction:
          description: "Monitor only active when a transaction is ongoing on a component relevant to this transaction. Default = false.\r\n\r\n"
          type: boolean
          default: false
        value:
          description: "Value for threshold or delta monitoring.\r\nFor Periodic or PeriodicClockAligned this is the interval in seconds.\r\n\r\n"
          type: number
        type:
          description: "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n\r\n"
          type: string
          additionalProperties: false
          enum:
            - UpperThreshold
            - LowerThreshold
            - Delta
            - Periodic
            - PeriodicClockAligned
          x-javaType: MonitorEnum
        severity:
          description: "The severity that will be assigned to an event that is triggered by this monitor. The 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"
          type: integer
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
      required:
        - value
        - type
        - severity
        - component
        - variable
      x-javaType: SetMonitoringData
    SetVariableMonitoringRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        setMonitoringData:
          type: array
          items:
            $ref: '#/components/schemas/SetMonitoringDataType'
          minItems: 1
          x-additionalItems: false
      required:
        - setMonitoringData
    SetVariableMonitoringResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetVariableMonitoring
          description: Action (without Response)
        - $ref: '#/components/schemas/SetVariableMonitoringResponsePayload'
      minItems: 4
      maxItems: 4
    SetMonitoringStatusEnumType:
      description: "Status is OK if a value could be returned. Otherwise this will indicate the reason why a value could not be returned.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - UnknownComponent
        - UnknownVariable
        - UnsupportedMonitorType
        - Rejected
        - Duplicate
      x-javaType: SetMonitoringStatusEnum
    SetMonitoringResultType:
      description: "Class to hold result of SetVariableMonitoring request.\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        id:
          description: "Id given to the VariableMonitor by the Charging Station. The Id is only returned when status is accepted. Installed VariableMonitors should have unique id's but the id's of removed Installed monitors should have unique id's but the id's of removed monitors MAY be reused.\r\n"
          type: integer
        statusInfo:
          description: "Element providing more information about the status.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            reasonCode:
              description: "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n"
              type: string
              maxLength: 20
            additionalInfo:
              description: "Additional text to provide detailed information.\r\n"
              type: string
              maxLength: 512
          required:
            - reasonCode
          x-javaType: StatusInfo
        status:
          description: "Status is OK if a value could be returned. Otherwise this will indicate the reason why a value could not be returned.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Accepted
            - UnknownComponent
            - UnknownVariable
            - UnsupportedMonitorType
            - Rejected
            - Duplicate
          x-javaType: SetMonitoringStatusEnum
        type:
          description: "The type of this monitor, e.g. a threshold, delta or periodic monitor. \r\n\r\n"
          type: string
          additionalProperties: false
          enum:
            - UpperThreshold
            - LowerThreshold
            - Delta
            - Periodic
            - PeriodicClockAligned
          x-javaType: MonitorEnum
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
        severity:
          description: "The severity that will be assigned to an event that is triggered by this monitor. The 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"
          type: integer
      required:
        - status
        - type
        - severity
        - component
        - variable
      x-javaType: SetMonitoringResult
    SetVariableMonitoringResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        setMonitoringResult:
          type: array
          items:
            $ref: '#/components/schemas/SetMonitoringResultType'
          minItems: 1
          x-additionalItems: false
      required:
        - setMonitoringResult
    SetVariablesRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetVariables
          description: Action (without Request)
        - $ref: '#/components/schemas/SetVariablesRequestPayload'
      minItems: 4
      maxItems: 4
    SetVariableDataType:
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        attributeType:
          description: "Type of attribute: Actual, Target, MinSet, MaxSet. Default is Actual when omitted.\r\n"
          type: string
          default: Actual
          additionalProperties: false
          enum:
            - Actual
            - Target
            - MinSet
            - MaxSet
          x-javaType: AttributeEnum
        attributeValue:
          description: "Value to be assigned to attribute of variable.\r\n\r\nThe Configuration Variable &lt;&lt;configkey-configuration-value-size,ConfigurationValueSize&gt;&gt; can be used to limit SetVariableData.attributeValue and VariableCharacteristics.valueList. The max size of these values will always remain equal. \r\n"
          type: string
          maxLength: 1000
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
      required:
        - attributeValue
        - component
        - variable
      x-javaType: SetVariableData
    SetVariablesRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        setVariableData:
          type: array
          items:
            $ref: '#/components/schemas/SetVariableDataType'
          minItems: 1
          x-additionalItems: false
      required:
        - setVariableData
    SetVariablesResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SetVariables
          description: Action (without Response)
        - $ref: '#/components/schemas/SetVariablesResponsePayload'
      minItems: 4
      maxItems: 4
    SetVariableStatusEnumType:
      description: "Result status of setting the variable.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - UnknownComponent
        - UnknownVariable
        - NotSupportedAttributeType
        - RebootRequired
      x-javaType: SetVariableStatusEnum
    SetVariableResultType:
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        attributeType:
          description: "Type of attribute: Actual, Target, MinSet, MaxSet. Default is Actual when omitted.\r\n"
          type: string
          default: Actual
          additionalProperties: false
          enum:
            - Actual
            - Target
            - MinSet
            - MaxSet
          x-javaType: AttributeEnum
        attributeStatus:
          description: "Result status of setting the variable.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Accepted
            - Rejected
            - UnknownComponent
            - UnknownVariable
            - NotSupportedAttributeType
            - RebootRequired
          x-javaType: SetVariableStatusEnum
        attributeStatusInfo:
          description: "Element providing more information about the status.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            reasonCode:
              description: "A predefined code for the reason why the status is returned in this response. The string is case-insensitive.\r\n"
              type: string
              maxLength: 20
            additionalInfo:
              description: "Additional text to provide detailed information.\r\n"
              type: string
              maxLength: 512
          required:
            - reasonCode
          x-javaType: StatusInfo
        component:
          description: "A physical or logical component\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            evse:
              description: "EVSE\r\nurn:x-oca:ocpp:uid:2:233123\r\nElectric Vehicle Supply Equipment\r\n"
              type: object
              additionalProperties: false
              properties:
                customData:
                  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.
                  type: object
                  properties:
                    vendorId:
                      type: string
                      maxLength: 255
                  required:
                    - vendorId
                  x-javaType: CustomData
                id:
                  description: "Identified_ Object. MRID. Numeric_ Identifier\r\nurn:x-enexis:ecdm:uid:1:569198\r\nEVSE Identifier. This contains a number (&gt; 0) designating an EVSE of the Charging Station.\r\n"
                  type: integer
                connectorId:
                  description: "An id to designate a specific connector (on an EVSE) by connector index number.\r\n"
                  type: integer
              required:
                - id
              x-javaType: EVSE
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the component exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Component
        variable:
          description: "Reference key to a component-variable.\r\n"
          type: object
          additionalProperties: false
          properties:
            customData:
              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.
              type: object
              properties:
                vendorId:
                  type: string
                  maxLength: 255
              required:
                - vendorId
              x-javaType: CustomData
            name:
              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"
              type: string
              maxLength: 50
            instance:
              description: "Name of instance in case the variable exists as multiple instances. Case Insensitive. strongly advised to use Camel Case.\r\n"
              type: string
              maxLength: 50
          required:
            - name
          x-javaType: Variable
      required:
        - attributeStatus
        - component
        - variable
      x-javaType: SetVariableResult
    SetVariablesResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        setVariableResult:
          type: array
          items:
            $ref: '#/components/schemas/SetVariableResultType'
          minItems: 1
          x-additionalItems: false
      required:
        - setVariableResult
    SignCertificateRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SignCertificate
          description: Action (without Request)
        - $ref: '#/components/schemas/SignCertificateRequestPayload'
      minItems: 4
      maxItems: 4
    SignCertificateRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        csr:
          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 &lt;&lt;signcertificaterequest,SignCertificateRequest&gt;&gt; message.\r\n"
          type: string
          maxLength: 5500
        certificateType:
          $ref: '#/components/schemas/CertificateSigningUseEnumType'
      required:
        - csr
    SignCertificateResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: SignCertificate
          description: Action (without Response)
        - $ref: '#/components/schemas/SignCertificateResponsePayload'
      minItems: 4
      maxItems: 4
    SignCertificateResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/GenericStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    StatusNotificationRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: StatusNotification
          description: Action (without Request)
        - $ref: '#/components/schemas/StatusNotificationRequestPayload'
      minItems: 4
      maxItems: 4
    ConnectorStatusEnumType:
      description: "This contains the current status of the Connector.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Available
        - Occupied
        - Reserved
        - Unavailable
        - Faulted
      x-javaType: ConnectorStatusEnum
    StatusNotificationRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        timestamp:
          description: "The time for which the status is reported. If absent time of receipt of the message will be assumed.\r\n"
          type: string
          format: date-time
        connectorStatus:
          $ref: '#/components/schemas/ConnectorStatusEnumType'
        evseId:
          description: "The id of the EVSE to which the connector belongs for which the the status is reported.\r\n"
          type: integer
        connectorId:
          description: "The id of the connector within the EVSE for which the status is reported.\r\n"
          type: integer
      required:
        - timestamp
        - connectorStatus
        - evseId
        - connectorId
    StatusNotificationResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: StatusNotification
          description: Action (without Response)
        - $ref: '#/components/schemas/StatusNotificationResponsePayload'
      minItems: 4
      maxItems: 4
    StatusNotificationResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
    TransactionEventRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: TransactionEvent
          description: Action (without Request)
        - $ref: '#/components/schemas/TransactionEventRequestPayload'
      minItems: 4
      maxItems: 4
    ChargingStateEnumType:
      description: "Transaction. State. Transaction_ State_ Code\r\nurn:x-oca:ocpp:uid:1:569419\r\nCurrent charging state, is required when state\r\nhas changed.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Charging
        - EVConnected
        - SuspendedEV
        - SuspendedEVSE
        - Idle
      x-javaType: ChargingStateEnum
    ReasonEnumType:
      description: "Transaction. Stopped_ Reason. EOT_ Reason_ Code\r\nurn:x-oca:ocpp:uid:1:569413\r\nThis contains the reason why the transaction was stopped. MAY only be omitted when Reason is \"Local\".\r\n"
      type: string
      additionalProperties: false
      enum:
        - DeAuthorized
        - EmergencyStop
        - EnergyLimitReached
        - EVDisconnected
        - GroundFault
        - ImmediateReset
        - Local
        - LocalOutOfCredit
        - MasterPass
        - Other
        - OvercurrentFault
        - PowerLoss
        - PowerQuality
        - Reboot
        - Remote
        - SOCLimitReached
        - StoppedByEV
        - TimeLimitReached
        - Timeout
      x-javaType: ReasonEnum
    TransactionEventEnumType:
      description: "This contains the type of this event.\r\nThe first TransactionEvent of a transaction SHALL contain: \"Started\" The last TransactionEvent of a transaction SHALL contain: \"Ended\" All others SHALL contain: \"Updated\"\r\n"
      type: string
      additionalProperties: false
      enum:
        - Ended
        - Started
        - Updated
      x-javaType: TransactionEventEnum
    TriggerReasonEnumType:
      description: "Reason the Charging Station sends this message to the CSMS\r\n"
      type: string
      additionalProperties: false
      enum:
        - Authorized
        - CablePluggedIn
        - ChargingRateChanged
        - ChargingStateChanged
        - Deauthorized
        - EnergyLimitReached
        - EVCommunicationLost
        - EVConnectTimeout
        - MeterValueClock
        - MeterValuePeriodic
        - TimeLimitReached
        - Trigger
        - UnlockCommand
        - StopAuthorized
        - EVDeparted
        - EVDetected
        - RemoteStop
        - RemoteStart
        - AbnormalCondition
        - SignedDataReceived
        - ResetCommand
      x-javaType: TriggerReasonEnum
    TransactionType:
      description: "Transaction\r\nurn:x-oca:ocpp:uid:2:233318\r\n"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        transactionId:
          description: "This contains the Id of the transaction.\r\n"
          type: string
          maxLength: 36
        chargingState:
          description: "Transaction. State. Transaction_ State_ Code\r\nurn:x-oca:ocpp:uid:1:569419\r\nCurrent charging state, is required when state\r\nhas changed.\r\n"
          type: string
          additionalProperties: false
          enum:
            - Charging
            - EVConnected
            - SuspendedEV
            - SuspendedEVSE
            - Idle
          x-javaType: ChargingStateEnum
        timeSpentCharging:
          description: "Transaction. Time_ Spent_ Charging. Elapsed_ Time\r\nurn:x-oca:ocpp:uid:1:569415\r\nContains the total time that energy flowed from EVSE to EV during the transaction (in seconds). Note that timeSpentCharging is smaller or equal to the duration of the transaction.\r\n"
          type: integer
        stoppedReason:
          description: "Transaction. Stopped_ Reason. EOT_ Reason_ Code\r\nurn:x-oca:ocpp:uid:1:569413\r\nThis contains the reason why the transaction was stopped. MAY only be omitted when Reason is \"Local\".\r\n"
          type: string
          additionalProperties: false
          enum:
            - DeAuthorized
            - EmergencyStop
            - EnergyLimitReached
            - EVDisconnected
            - GroundFault
            - ImmediateReset
            - Local
            - LocalOutOfCredit
            - MasterPass
            - Other
            - OvercurrentFault
            - PowerLoss
            - PowerQuality
            - Reboot
            - Remote
            - SOCLimitReached
            - StoppedByEV
            - TimeLimitReached
            - Timeout
          x-javaType: ReasonEnum
        remoteStartId:
          description: "The ID given to remote start request (&lt;&lt;requeststarttransactionrequest, RequestStartTransactionRequest&gt;&gt;. This enables to CSMS to match the started transaction to the given start request.\r\n"
          type: integer
      required:
        - transactionId
      x-javaType: Transaction
    TransactionEventRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        eventType:
          $ref: '#/components/schemas/TransactionEventEnumType'
        meterValue:
          type: array
          items:
            $ref: '#/components/schemas/MeterValueType'
          minItems: 1
          x-additionalItems: false
        timestamp:
          description: "The date and time at which this transaction event occurred.\r\n"
          type: string
          format: date-time
        triggerReason:
          $ref: '#/components/schemas/TriggerReasonEnumType'
        seqNo:
          description: "Incremental sequence number, helps with determining if all messages of a transaction have been received.\r\n"
          type: integer
        offline:
          description: "Indication that this transaction event happened when the Charging Station was offline. Default = false, meaning: the event occurred when the Charging Station was online.\r\n"
          type: boolean
          default: false
        numberOfPhasesUsed:
          description: "If the Charging Station is able to report the number of phases used, then it SHALL provide it. When omitted the CSMS may be able to determine the number of phases used via device management.\r\n"
          type: integer
        cableMaxCurrent:
          description: "The maximum current of the connected cable in Ampere (A).\r\n"
          type: integer
        reservationId:
          description: "This contains the Id of the reservation that terminates as a result of this transaction.\r\n"
          type: integer
        transactionInfo:
          $ref: '#/components/schemas/TransactionType'
        evse:
          $ref: '#/components/schemas/EVSEType'
        idToken:
          $ref: '#/components/schemas/IdTokenType'
      required:
        - eventType
        - timestamp
        - triggerReason
        - seqNo
        - transactionInfo
    TransactionEventResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: TransactionEvent
          description: Action (without Response)
        - $ref: '#/components/schemas/TransactionEventResponsePayload'
      minItems: 4
      maxItems: 4
    TransactionEventResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        totalCost:
          description: "SHALL only be sent when charging has ended. Final total cost of this transaction, including taxes. In the currency configured with the Configuration Variable: &lt;&lt;configkey-currency,`Currency`&gt;&gt;. When omitted, the transaction was NOT free. To indicate a free transaction, the CSMS SHALL send 0.00.\r\n\r\n"
          type: number
        chargingPriority:
          description: "Priority from a business point of view. Default priority is 0, The range is from -9 to 9. Higher values indicate a higher priority. The chargingPriority in &lt;&lt;transactioneventresponse,TransactionEventResponse&gt;&gt; is temporarily, so it may not be set in the &lt;&lt;cmn_idtokeninfotype,IdTokenInfoType&gt;&gt; afterwards. Also the chargingPriority in &lt;&lt;transactioneventresponse,TransactionEventResponse&gt;&gt; overrules the one in &lt;&lt;cmn_idtokeninfotype,IdTokenInfoType&gt;&gt;.  \r\n"
          type: integer
        idTokenInfo:
          $ref: '#/components/schemas/IdTokenInfoType'
        updatedPersonalMessage:
          $ref: '#/components/schemas/MessageContentType'
    TriggerMessageRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: TriggerMessage
          description: Action (without Request)
        - $ref: '#/components/schemas/TriggerMessageRequestPayload'
      minItems: 4
      maxItems: 4
    MessageTriggerEnumType:
      description: "Type of message to be triggered.\r\n"
      type: string
      additionalProperties: false
      enum:
        - BootNotification
        - LogStatusNotification
        - FirmwareStatusNotification
        - Heartbeat
        - MeterValues
        - SignChargingStationCertificate
        - SignV2GCertificate
        - StatusNotification
        - TransactionEvent
        - SignCombinedCertificate
        - PublishFirmwareStatusNotification
      x-javaType: MessageTriggerEnum
    TriggerMessageRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        evse:
          $ref: '#/components/schemas/EVSEType'
        requestedMessage:
          $ref: '#/components/schemas/MessageTriggerEnumType'
      required:
        - requestedMessage
    TriggerMessageResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: TriggerMessage
          description: Action (without Response)
        - $ref: '#/components/schemas/TriggerMessageResponsePayload'
      minItems: 4
      maxItems: 4
    TriggerMessageStatusEnumType:
      description: "Indicates whether the Charging Station will send the requested notification or not.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - NotImplemented
      x-javaType: TriggerMessageStatusEnum
    TriggerMessageResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/TriggerMessageStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    UnlockConnectorRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: UnlockConnector
          description: Action (without Request)
        - $ref: '#/components/schemas/UnlockConnectorRequestPayload'
      minItems: 4
      maxItems: 4
    UnlockConnectorRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        evseId:
          description: "This contains the identifier of the EVSE for which a connector needs to be unlocked.\r\n"
          type: integer
        connectorId:
          description: "This contains the identifier of the connector that needs to be unlocked.\r\n"
          type: integer
      required:
        - evseId
        - connectorId
    UnlockConnectorResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: UnlockConnector
          description: Action (without Response)
        - $ref: '#/components/schemas/UnlockConnectorResponsePayload'
      minItems: 4
      maxItems: 4
    UnlockStatusEnumType:
      description: "This indicates whether the Charging Station has unlocked the connector.\r\n"
      type: string
      additionalProperties: false
      enum:
        - Unlocked
        - UnlockFailed
        - OngoingAuthorizedTransaction
        - UnknownConnector
      x-javaType: UnlockStatusEnum
    UnlockConnectorResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/UnlockStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
    UnpublishFirmwareRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: UnpublishFirmware
          description: Action (without Request)
        - $ref: '#/components/schemas/UnpublishFirmwareRequestPayload'
      minItems: 4
      maxItems: 4
    UnpublishFirmwareRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        checksum:
          description: "The MD5 checksum over the entire firmware file as a hexadecimal string of length 32. \r\n"
          type: string
          maxLength: 32
      required:
        - checksum
    UnpublishFirmwareResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: UnpublishFirmware
          description: Action (without Response)
        - $ref: '#/components/schemas/UnpublishFirmwareResponsePayload'
      minItems: 4
      maxItems: 4
    UnpublishFirmwareStatusEnumType:
      description: "Indicates whether the Local Controller succeeded in unpublishing the firmware.\r\n"
      type: string
      additionalProperties: false
      enum:
        - DownloadOngoing
        - NoFirmware
        - Unpublished
      x-javaType: UnpublishFirmwareStatusEnum
    UnpublishFirmwareResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/UnpublishFirmwareStatusEnumType'
      required:
        - status
    UpdateFirmwareRequest:
      type: array
      items:
        - type: integer
          const: 2
          description: Message Type ID (2 for "REQUEST")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: UpdateFirmware
          description: Action (without Request)
        - $ref: '#/components/schemas/UpdateFirmwareRequestPayload'
      minItems: 4
      maxItems: 4
    FirmwareType:
      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"
      type: object
      additionalProperties: false
      properties:
        customData:
          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.
          type: object
          properties:
            vendorId:
              type: string
              maxLength: 255
          required:
            - vendorId
          x-javaType: CustomData
        location:
          description: "Firmware. Location. URI\r\nurn:x-enexis:ecdm:uid:1:569460\r\nURI defining the origin of the firmware.\r\n"
          type: string
          maxLength: 512
        retrieveDateTime:
          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"
          type: string
          format: date-time
        installDateTime:
          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"
          type: string
          format: date-time
        signingCertificate:
          description: "Certificate with which the firmware was signed.\r\nPEM encoded X.509 certificate.\r\n"
          type: string
          maxLength: 5500
        signature:
          description: "Firmware. Signature. Signature\r\nurn:x-enexis:ecdm:uid:1:569464\r\nBase64 encoded firmware signature.\r\n"
          type: string
          maxLength: 800
      required:
        - location
        - retrieveDateTime
      x-javaType: Firmware
    UpdateFirmwareRequestPayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        retries:
          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"
          type: integer
        retryInterval:
          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"
          type: integer
        requestId:
          description: "The Id of this request\r\n"
          type: integer
        firmware:
          $ref: '#/components/schemas/FirmwareType'
      required:
        - requestId
        - firmware
    UpdateFirmwareResponse:
      type: array
      items:
        - type: integer
          const: 3
          description: Message Type ID (3 for "RESPONSE")
        - type: string
          example: '19223201'
          description: Unique ID for this call
        - type: string
          const: UpdateFirmware
          description: Action (without Response)
        - $ref: '#/components/schemas/UpdateFirmwareResponsePayload'
      minItems: 4
      maxItems: 4
    UpdateFirmwareStatusEnumType:
      description: "This field indicates whether the Charging Station was able to accept the request.\r\n\r\n"
      type: string
      additionalProperties: false
      enum:
        - Accepted
        - Rejected
        - AcceptedCanceled
        - InvalidCertificate
        - RevokedCertificate
      x-javaType: UpdateFirmwareStatusEnum
    UpdateFirmwareResponsePayload:
      type: object
      properties:
        customData:
          $ref: '#/components/schemas/CustomDataType'
        status:
          $ref: '#/components/schemas/UpdateFirmwareStatusEnumType'
        statusInfo:
          $ref: '#/components/schemas/StatusInfoType'
      required:
        - status
