﻿{
  "$schema": "http://json-schema.org/draft-06/schema#",
  "$id": "urn:OCPP:Cp:2:2018:4:BootNotificationRequest",
  "comment": "OCPP 2.0 - v1p0",
  "definitions": {
    "BootReasonEnumType": {
      "type": "string",
      "additionalProperties": true,
      "enum": [
        "ApplicationReset",
        "FirmwareUpdate",
        "LocalReset",
        "PowerUp",
        "RemoteReset",
        "ScheduledReset",
        "Triggered",
        "Unknown",
        "Watchdog"
      ]
    },
    "ChargingStationType": {
      "javaType": "ChargingStation",
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "serialNumber": {
          "type": "string",
          "maxLength": 20
        },
        "model": {
          "type": "string",
          "maxLength": 20
        },
        "modem": {
          "$ref": "#/definitions/ModemType"
        },
        "vendorName": {
          "type": "string",
          "maxLength": 50
        },
        "firmwareVersion": {
          "type": "string",
          "maxLength": 50
        }
      },
      "required": [
        "model",
        "vendorName"
      ]
    },
    "ModemType": {
      "javaType": "Modem",
      "type": "object",
      "additionalProperties": true,
      "properties": {
        "iccid": {
          "type": "string",
          "maxLength": 20
        },
        "imsi": {
          "type": "string",
          "maxLength": 20
        }
      }
    }
  },
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "chargingStation": {
      "$ref": "#/definitions/ChargingStationType"
    },
    "reason": {
      "$ref": "#/definitions/BootReasonEnumType"
    }
  },
  "required": [
    "reason",
    "chargingStation"
  ]
}