{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Meresco Harvester getRepositories Schema",
    "type": "object",
    "properties": {
        "request": {
            "type": "object",
            "properties": {
                "verb": {
                    "type": "string",
                    "minLength": 1
                },
                "domainId": {
                    "type": "string",
                    "minLength": 1
                }
            },
            "required": [
                "verb",
                "domainId"
            ]
        },
        "response": {
            "type": "object",
            "properties": {
                "getRepositories": {
                    "type": "array",
                    "_uniqueItems": true,
                    "items": {
                        "type": "object",
                        "properties": {
                            "use": {
                                "type": "boolean"
                            },
                            "set": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "complete": {
                                "type": "boolean"
                            },
                            "identifier": {
                                "type": "string",
                                "minLength": 1
                            },
                            "mappingId": {
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "continuous": {
                                "type": [
                                    "integer",
                                    "null"
                                ]
                            },
                            "targetId": {
                                "type": "string",
                                "pattern": "^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$"
                            },
                            "baseurl": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "shopclosed": {
                                "type": "array",
                                "items": {
                                    "type": "string",
                                    "minItems": 0
                                }
                            },
                            "maximumIgnore": {
                                "type": "integer",
                                "minimum": 0
                            },
                            "collection": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "userAgent": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "action": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            },
                            "repositoryGroupId": {
                                "type": "string",
                                "minLength": 1
                            },
                            "metadataPrefix": {
                                "type": [
                                    "string",
                                    "null"
                                ]
                            }
                        },
                        "required": [
                            "use",
                            "set",
                            "complete",
                            "identifier",
                            "mappingId",
                            "continuous",
                            "targetId",
                            "baseurl",
                            "shopclosed",
                            "maximumIgnore",
                            "collection",
                            "action",
                            "repositoryGroupId",
                            "metadataPrefix"
                        ]
                    }
                }
            },
            "required": [
                "getRepositories"
            ]
        }
    },
    "required": [
        "request",
        "response"
    ]
}