{
    "$id": "NotifyEVChargingNeedsRequest",
    "comment": "OCPP 2.0.1 FINAL",
    "definitions": {
        "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.",
            "javaType": "CustomData",
            "type": "object",
            "properties": {
                "vendorId": {
                    "type": "string",
                    "maxLength": 255
                }
            },
            "required": ["vendorId"]
        },
        "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",
            "javaType": "EnergyTransferModeEnum",
            "type": "string",
            "additionalProperties": false,
            "enum": ["DC", "AC_single_phase", "AC_two_phase", "AC_three_phase"],
            "tsEnumNames": ["DC", "AC_single_phase", "AC_two_phase", "AC_three_phase"]
        },
        "ACChargingParametersType": {
            "description": "AC_ Charging_ Parameters\r\nurn:x-oca:ocpp:uid:2:233250\r\nEV AC charging parameters.\r\n\r\n",
            "javaType": "ACChargingParameters",
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "customData": {
                    "$ref": "#/definitions/CustomDataType"
                },
                "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"]
        },
        "ChargingNeedsType": {
            "description": "Charging_ Needs\r\nurn:x-oca:ocpp:uid:2:233249\r\n",
            "javaType": "ChargingNeeds",
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "customData": {
                    "$ref": "#/definitions/CustomDataType"
                },
                "acChargingParameters": {
                    "$ref": "#/definitions/ACChargingParametersType"
                },
                "dcChargingParameters": {
                    "$ref": "#/definitions/DCChargingParametersType"
                },
                "requestedEnergyTransfer": {
                    "$ref": "#/definitions/EnergyTransferModeEnumType"
                },
                "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"]
        },
        "DCChargingParametersType": {
            "description": "DC_ Charging_ Parameters\r\nurn:x-oca:ocpp:uid:2:233251\r\nEV DC charging parameters\r\n\r\n\r\n",
            "javaType": "DCChargingParameters",
            "type": "object",
            "additionalProperties": false,
            "properties": {
                "customData": {
                    "$ref": "#/definitions/CustomDataType"
                },
                "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"]
        }
    },
    "type": "object",
    "additionalProperties": false,
    "properties": {
        "customData": {
            "$ref": "#/definitions/CustomDataType"
        },
        "maxScheduleTuples": {
            "description": "Contains the maximum schedule tuples the car supports per schedule.\r\n",
            "type": "integer"
        },
        "chargingNeeds": {
            "$ref": "#/definitions/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"]
}
