{ "$schema" : "http://json-schema.org/draft-04/schema#", "id" : "http://schemas.elite-markets.net/eddn/outfitting/1#", "type" : "object", "additionalProperties" : false, "required" : [ "$schemaRef", "header", "message" ], "properties" : { "$schemaRef" : { "type": "string" }, "header" : { "type" : "object", "additionalProperties" : true, "required": [ "uploaderID", "softwareName", "softwareVersion" ], "properties" : { "uploaderID" : { "type": "string" }, "softwareName" : { "type": "string" }, "softwareVersion" : { "type": "string" }, "gatewayTimestamp" : { "type": "string", "format": "date-time", "description": "Timestamp upon receipt at the gateway. If present, this property will be overwritten by the gateway; submitters are not intended to populate this property." } } }, "message": { "type": "object", "additionalProperties": false, "required": [ "systemName", "stationName", "timestamp", "modules" ], "properties": { "systemName": { "type" : "string", "minLength" : 1 }, "stationName": { "type" : "string", "minLength" : 1 }, "timestamp": { "type" : "string", "format" : "date-time" }, "modules": { "type" : "array", "description" : "List of available modules in English as displayed in-game. Modules that depend on the Cmdr's purchases (e.g. paintjobs) or rank (e.g. decals and PowerPlay faction-specific modules) should be omitted.", "uniqueItems" : true, "items" : { "oneOf": [ { "type" : "object", "properties" : { "category" : { "enum": [ "hardpoint" ] }, "name" : { "type": "string", "minLength": 1 }, "mount" : { "$ref": "#/definitions/mount" }, "guidance" : { "$ref": "#/definitions/guidance" }, "class" : { "$ref": "#/definitions/class" }, "rating" : { "$ref": "#/definitions/rating" } }, "required" : [ "category", "name", "mount", "class", "rating" ], "additionalProperties" : false }, { "type" : "object", "properties" : { "category" : { "enum": [ "utility" ] }, "name" : { "type": "string", "minLength": 1 }, "class" : { "$ref": "#/definitions/class" }, "rating" : { "$ref": "#/definitions/rating" } }, "required" : [ "category", "name", "class", "rating" ], "additionalProperties" : false }, { "type" : "object", "properties" : { "category" : { "enum": [ "standard" ] }, "name" : { "type": "string", "minLength": 1 }, "ship" : { "type": "string", "minLength" : 1, "description" : "For ship-specific modules (e.g. armour) must be one of the ship names defined in http://schemas.elite-markets.net/eddn/shipyard/1" }, "class" : { "$ref": "#/definitions/class" }, "rating" : { "$ref": "#/definitions/rating" } }, "required" : [ "category", "name", "class", "rating" ], "additionalProperties" : false }, { "type" : "object", "properties" : { "category" : { "enum": [ "internal" ] }, "name" : { "type": "string", "minLength": 1 }, "class" : { "$ref": "#/definitions/class" }, "rating" : { "$ref": "#/definitions/rating" } }, "required" : [ "category", "name", "class", "rating" ], "additionalProperties" : false } ] } } } } }, "definitions": { "class": { "enum": [ "0", "1", "2", "3", "4", "5", "6", "7", "8" ] }, "rating": { "enum": [ "I", "A", "B", "C", "D", "E", "F", "G" ] }, "mount": { "enum": [ "Fixed", "Gimballed", "Turreted" ], "description": "Weapon mounting mode" }, "guidance": { "enum": [ "Dumbfire", "Seeker" ], "description": "Missile and Torpedo weapon guidance mode" } } }