{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "type": "object",
    "properties": {
        "global": {
            "type": "object",
            "properties": {
                "kernsysteme": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "inkarnationsName": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "inkarnationsName"
                        ]
                    }
                },
                "makrodefinitionen": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "wert": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "name",
                            "wert"
                        ]
                    }
                },
                "zugangDav": {
                    "type": "object",
                    "properties": {
                        "adresse": {
                            "type": "string",
                            "default": "localhost"
                        },
                        "passWord": {
                            "type": "string",
                            "default": "passwort"
                        },
                        "port": {
                            "type": "string",
                            "default": "3000"
                        },
                        "userName": {
                            "type": "string",
                            "default": "Tester"
                        }
                    },
                    "required": [
                        "adresse",
                        "passWord",
                        "port",
                        "userName"
                    ]
                },
                "usv": {
                    "type": "object",
                    "properties": {
                        "pid": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "pid"
                    ]
                },
                "rechner": {
                    "type": "array",
                    "items": {
                        "type": "object",
                        "properties": {
                            "name": {
                                "type": "string"
                            },
                            "tcpAdresse": {
                                "type": "string"
                            },
                            "port": {
                                "type": "string",
                                "default": "3000"
                            }
                        },
                        "required": [
                            "name",
                            "tcpAdresse",
                            "port"
                        ]
                    }
                }
            },
            "required": [
                "zugangDav"
            ]
        },
        "inkarnationen": {
            "type": "array",
            "items": {
                "type": "object",
                "properties": {
                    "inkarnationsName": {
                        "type": "string"
                    },
                    "inkarnationsTyp": {
                        "type": "string",
                        "enum": [
                            "dav",
                            "wrapped",
                            "extern"
                        ],
                        "default": "dav"
                    },
                    "initialize": {
                        "type": "boolean",
                        "default": false
                    },
                    "mitInkarnationsName": {
                        "type": "boolean",
                        "default": true
                    },
                    "applikation": {
                        "type": "string"
                    },
                    "aufrufParameter": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "startArt": {
                        "type": "object",
                        "properties": {
                            "option": {
                                "type": "string",
                                "enum": [
                                    "automatisch",
                                    "manuell",
                                    "intervallrelativ",
                                    "intervallabsolut"
                                ]
                            },
                            "neuStart": {
                                "type": "boolean"
                            },
                            "intervall": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "option"
                        ]
                    },
                    "startBedingung": {
                        "type": "object",
                        "properties": {
                            "vorgaenger": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "warteart": {
                                "type": "string",
                                "enum": [
                                    "beginn",
                                    "ende"
                                ]
                            },
                            "rechner": {
                                "type": "string"
                            },
                            "wartezeit": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "vorgaenger"
                        ]
                    },
                    "startFehlerVerhalten": {
                        "type": "object",
                        "properties": {
                            "option": {
                                "type": "string",
                                "enum": [
                                    "beenden",
                                    "abbruch",
                                    "ignorieren"
                                ]
                            },
                            "wiederholungen": {
                                "type": "string"
                            }
                        }
                    },
                    "stoppBedingung": {
                        "type": "object",
                        "properties": {
                            "nachfolger": {
                                "type": "array",
                                "items": {
                                    "type": "string"
                                }
                            },
                            "rechner": {
                                "type": "string"
                            },
                            "wartezeit": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "nachfolger"
                        ]
                    },
                    "stoppFehlerVerhalten": {
                        "type": "object",
                        "properties": {
                            "option": {
                                "type": "string",
                                "enum": [
                                    "stopp",
                                    "abbruch",
                                    "ignorieren"
                                ]
                            },
                            "wiederholungen": {
                                "type": "string"
                            }
                        },
                        "required": [
                            "option"
                        ]
                    }
                },
                "required": [
                    "inkarnationsName",
                    "inkarnationsTyp",
                    "applikation",
                    "startArt"
                ]
            }
        },
        "metaDaten": {
            "type": "object",
            "properties": {
                "aenderungsGrund": {
                    "type": "string"
                },
                "erstelltAm": {
                    "type": "string"
                },
                "erstelltDurch": {
                    "type": "string"
                },
                "versionsNummer": {
                    "type": "string"
                },
                "name": {
                    "type": "string"
                }
            }
        }
    },
    "required": [
        "global",
        "inkarnationen"
    ]
}