{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "additionalProperties": false,
    "properties": {
        "idTag": {
            "maxLength": 20,
            "type": "string"
        },
        "meterStop": {
            "type": "integer"
        },
        "reason": {
            "enum": [
                "EmergencyStop",
                "EVDisconnected",
                "HardReset",
                "Local",
                "Other",
                "PowerLoss",
                "Reboot",
                "Remote",
                "SoftReset",
                "UnlockCommand",
                "DeAuthorized"
            ],
            "type": "string"
        },
        "timestamp": {
            "_format": "date-time",
            "type": "string"
        },
        "transactionData": {
            "items": {
                "properties": {
                    "sampledValue": {
                        "items": {
                            "properties": {
                                "context": {
                                    "enum": [
                                        "Interruption.Begin",
                                        "Interruption.End",
                                        "Sample.Clock",
                                        "Sample.Periodic",
                                        "Transaction.Begin",
                                        "Transaction.End",
                                        "Trigger",
                                        "Other"
                                    ],
                                    "type": "string"
                                },
                                "format": {
                                    "enum": [
                                        "Raw",
                                        "SignedData"
                                    ],
                                    "type": "string"
                                },
                                "location": {
                                    "enum": [
                                        "Cable",
                                        "EV",
                                        "Inlet",
                                        "Outlet",
                                        "Body"
                                    ],
                                    "type": "string"
                                },
                                "measurand": {
                                    "enum": [
                                        "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.Reactive.Export.Interval",
                                        "Energy.Reactive.Import.Interval",
                                        "Power.Active.Export",
                                        "Power.Active.Import",
                                        "Power.Offered",
                                        "Power.Reactive.Export",
                                        "Power.Reactive.Import",
                                        "Power.Factor",
                                        "Current.Import",
                                        "Current.Export",
                                        "Current.Offered",
                                        "Voltage",
                                        "Frequency",
                                        "Temperature",
                                        "SoC",
                                        "RPM"
                                    ],
                                    "type": "string"
                                },
                                "phase": {
                                    "enum": [
                                        "L1",
                                        "L2",
                                        "L3",
                                        "N",
                                        "L1-N",
                                        "L2-N",
                                        "L3-N",
                                        "L1-L2",
                                        "L2-L3",
                                        "L3-L1"
                                    ],
                                    "type": "string"
                                },
                                "unit": {
                                    "enum": [
                                        "Wh",
                                        "kWh",
                                        "varh",
                                        "kvarh",
                                        "W",
                                        "kW",
                                        "VA",
                                        "kVA",
                                        "var",
                                        "kvar",
                                        "A",
                                        "V",
                                        "K",
                                        "Celcius",
                                        "Fahrenheit",
                                        "Percent"
                                    ],
                                    "type": "string"
                                },
                                "value": {
                                    "type": "string"
                                }
                            },
                            "required": [
                                "value"
                            ],
                            "type": "object"
                        },
                        "type": "array"
                    },
                    "timestamp": {
                        "_format": "date-time",
                        "type": "string"
                    }
                },
                "required": [
                    "timestamp",
                    "sampledValue"
                ],
                "type": "object"
            },
            "type": "array"
        },
        "transactionId": {
            "type": "integer"
        }
    },
    "required": [
        "transactionId",
        "timestamp",
        "reason",
        "meterStop"
    ],
    "title": "StopTransactionRequest",
    "type": "object"
}