{ "title": "CreateContract", "type": "object", "properties": { "@type": { "type": "string", "enum": ["Contract"], "default": "Contract" }, "name" { "type":"string" }, "customer": { "type": "object", "properties": { "@type": { "type": "string", "enum": ["Customer"], "default": "Customer" }, "@id": { "type": "string" } }, "required": ["@id"] }, "startDate": { "type": "string", "minLength": 20, "maxLength": 20 }, "endDate": { "type": "string", "minLength": 20, "maxLength": 20 }, "effectiveDate": { "type": "string", "minLength": 20, "maxLength": 20 }, "active": { "type": "boolean", "default": false }, "coverage": { "type": "object", "properties": { "@type": { "type": "string" }, "applicationCoverage": { "type": "object", "properties" : { "@type": { "type": "string", "enum": ["Application"], "default": "Application" }, "@id": { "type": "string" } }, "required": ["@id"] }, "monthlyCounsellingHours": { "type": "integer", "min": 0 }, "monthlyIandPHours": { "type": "integer", "min": 0 }, "monthlyDynamicModerationHours": { "type": "integer", "min": 0 }, "minAge": { "type":"number", "min": 1 }, "maxAge": { "type":"number", "min": 1, "max": 99 }, "faceToFace": { "type": "boolean" }, "subLocation" : { "type":"array", "items": { "type": "object" , "properties": { "@type": { "type": "string" }, "name": { "type": "string" } } } } }, "required": [ "@type", "customer", "applicationCoverage", "monthlyCounsellingHours", "monthlyIandPHours", "monthlyDynamicModerationHours", "minAge", "maxAge", "faceToFace" "subLocation", ] }, "contactName": { "type": "string", "minLength": 1 } }, "required": [ "@type", "coverage", "name", "startDate", "endDate", "effectiveDate", "active", "contactName" ] }