﻿{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "$id": "urn:OCPP:Cp:2:2018:4:SetDisplayMessageRequest",
  "comment": "OCPP 2.0 - v1p0",
  "definitions": {
    "MessageFormatEnumType": {
      "type": "string",
      "additionalProperties": true,
      "enum": [
        "ASCII",
        "HTML",
        "URI",
        "UTF8"
      ]
    },
    "MessagePriorityEnumType": {
      "type": "string",
      "additionalProperties": true,
      "enum": [
        "AlwaysFront",
        "InFront",
        "NormalCycle"
      ]
    },
    "MessageStateEnumType": {
      "type": "string",
      "additionalProperties": true,
      "enum": [
        "Charging",
        "Faulted",
        "Idle",
        "Unavailable"
      ]
    },
    "ComponentType": {
      "javaType": "Component",
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "evse": {
          "$ref": "#/definitions/EVSEType"
        },
        "name": {
          "type": "string",
          "maxLength": 50
        },
        "instance": {
          "type": "string",
          "maxLength": 50
        }
      },
      "required": [
        "name"
      ]
    },
    "EVSEType": {
      "javaType": "EVSE",
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "id": {
          "type": "integer"
        },
        "connectorId": {
          "type": "integer"
        }
      },
      "required": [
        "id"
      ]
    },
    "MessageContentType": {
      "javaType": "MessageContent",
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "format": {
          "$ref": "#/definitions/MessageFormatEnumType"
        },
        "language": {
          "type": "string",
          "maxLength": 8
        },
        "content": {
          "type": "string",
          "maxLength": 512
        }
      },
      "required": [
        "format",
        "content"
      ]
    },
    "MessageInfoType": {
      "javaType": "MessageInfo",
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "display": {
          "$ref": "#/definitions/ComponentType"
        },
        "id": {
          "type": "integer"
        },
        "priority": {
          "$ref": "#/definitions/MessagePriorityEnumType"
        },
        "state": {
          "$ref": "#/definitions/MessageStateEnumType"
        },
        "startDateTime": {
          "type": "string",
          "format": "date-time"
        },
        "endDateTime": {
          "type": "string",
          "format": "date-time"
        },
        "transactionId": {
          "type": "string",
          "maxLength": 36
        },
        "message": {
          "$ref": "#/definitions/MessageContentType"
        }
      },
      "required": [
        "id",
        "priority",
        "message"
      ]
    }
  },
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "message": {
      "$ref": "#/definitions/MessageInfoType"
    }
  },
  "required": [
    "message"
  ]
}