{
    "title": "SetChargingProfileRequest",
    "type": "object",
    "properties": {
        "connectorId": {
            "type": "integer"
        },
        "csChargingProfiles": {
            "type": "object",
            "properties": {
                "chargingProfileId": {
                    "type": "integer"
                },
                "transactionId": {
                    "type": "integer"
                },
                "stackLevel": {
                    "type": "integer"
                },
                "chargingProfilePurpose": {
                    "$ref": "#/definitions/SetChargingProfileRequestChargingProfilePurpose"
                },
                "chargingProfileKind": {
                    "$ref": "#/definitions/SetChargingProfileRequestChargingProfileKind"
                },
                "recurrencyKind": {
                    "$ref": "#/definitions/SetChargingProfileRequestRecurrencyKind"
                },
                "validFrom": {
                    "type": "string",
                    "format": "date-time"
                },
                "validTo": {
                    "type": "string",
                    "format": "date-time"
                },
                "chargingSchedule": {
                    "type": "object",
                    "properties": {
                        "duration": {
                            "type": "integer"
                        },
                        "startSchedule": {
                            "type": "string",
                            "format": "date-time"
                        },
                        "chargingRateUnit": {
                            "$ref": "#/definitions/SetChargingProfileRequestChargingRateUnit"
                        },
                        "chargingSchedulePeriod": {
                            "type": "array",
                            "items": {
                                "type": "object",
                                "properties": {
                                    "startPeriod": {
                                        "type": "integer"
                                    },
                                    "limit": {
                                        "type": "number",
                                        "multipleOf": 0.1
                                    },
                                    "numberPhases": {
                                        "type": "integer"
                                    }
                                },
                                "additionalProperties": false,
                                "required": ["startPeriod", "limit"]
                            }
                        },
                        "minChargingRate": {
                            "type": "number",
                            "multipleOf": 0.1
                        }
                    },
                    "additionalProperties": false,
                    "required": ["chargingRateUnit", "chargingSchedulePeriod"]
                }
            },
            "additionalProperties": false,
            "required": [
                "chargingProfileId",
                "stackLevel",
                "chargingProfilePurpose",
                "chargingProfileKind",
                "chargingSchedule"
            ]
        }
    },
    "additionalProperties": false,
    "required": ["connectorId", "csChargingProfiles"],
    "$id": "SetChargingProfileRequest",
    "definitions": {
        "SetChargingProfileRequestChargingProfilePurpose": {
            "type": "string",
            "additionalProperties": false,
            "enum": ["ChargePointMaxProfile", "TxDefaultProfile", "TxProfile"],
            "tsEnumNames": ["ChargePointMaxProfile", "TxDefaultProfile", "TxProfile"]
        },
        "SetChargingProfileRequestChargingProfileKind": {
            "type": "string",
            "additionalProperties": false,
            "enum": ["Absolute", "Recurring", "Relative"],
            "tsEnumNames": ["Absolute", "Recurring", "Relative"]
        },
        "SetChargingProfileRequestRecurrencyKind": {
            "type": "string",
            "additionalProperties": false,
            "enum": ["Daily", "Weekly"],
            "tsEnumNames": ["Daily", "Weekly"]
        },
        "SetChargingProfileRequestChargingRateUnit": {
            "type": "string",
            "additionalProperties": false,
            "enum": ["A", "W"],
            "tsEnumNames": ["A", "W"]
        }
    }
}
