{ "$schema": "http://json-schema.org/draft-04/schema#", "$id": "http://ffdn.org/ispschema/draft-01/schema#", "title": "ISP", "description": "Object describing a local ISP", "type": "object", "required": ["name", "email", "memberCount", "subscriberCount", "coveredAreas", "version"], "properties": { "name": { "description": "The ISP's name", "type": "string" }, "shortname": { "description": "Shorter name", "type": "string", "maxLength": 15 }, "description": { "description": "Short text describing the project", "type": "string" }, "logoURL": { "description": "HTTP(S) URL of the ISP's logo", "type": "string", "format": "uri" }, "website": { "description": "URL to the official website", "type": "string", "format": "uri" }, "otherWebsites": { "description": "Additional websites hosted by the ISP (wiki, etherpad, ..)", "type": "object", "patternProperties": { "^.+$": { "type": "string", "format": "uri" } } }, "publicDocuments": { "description": "Administrative or otherwise public documents concerning the organisation", "type": "object", "properties": { "statutes": { "type": "string", "format": "uri" }, "internalRules": { "type": "string", "format": "uri" } }, "additionalProperties": false }, "email": { "description": "Contact email address", "type": "string", "format": "email" }, "mainMailingList": { "description": "Main public mailing-list", "type": "string", "format": "email" }, "creationDate": { "description": "Date of creation for legal structure, in ISO8601 format", "type": "string" }, "ffdnMemberSince": { "description": "Date at wich the ISP joined the Federation, in ISO8601 format", "type": "string" }, "progressStatus": { "description": "Progression status of the ISP", "type": "integer", "minimum": 1, "maximum": 7 }, "memberCount": { "description": "Number of members", "type": "integer", "minimum": 0 }, "subscriberCount": { "description": "Number of subscribers by service", "type": "object", "patternProperties": { "^(xdsl|vpn|wifi|fiber)$": { "type": "integer", "minimum": 0 } }, "properties": { "xdsl": { "type": "integer", "minimum": 0 }, "vpn": { "type": "integer", "minimum": 0 }, "wifi": { "type": "integer", "minimum": 0 }, "fiber": { "type": "integer", "minimum": 0 } }, "additionalProperties": false }, "chatrooms": { "description": "URIs to the various chat-rooms", "type": "array", "items": { "type": "string", "format": "uri" }, "uniqueItems": true }, "registeredOffice": { "description": "address of the registered office (siège social)", "$ref": "http://json-schema.org/address" }, "coordinates": { "description": "Coordinates of the registered office", "$ref": "http://json-schema.org/geo" }, "coveredAreas": { "description": "Array of covered area in GeoJSON format", "type": "array", "items": { "$ref": "#/definitions/coveredArea" } }, "asn": { "description": "The AS Number assigned by RIR", "type": "integer", "minimum": 0 }, "nlnogParticipant": { "description": "Participating to the NL-NOG RING? cf. https://ring.nlnog.net/", "type": "boolean" }, "internetcube": { "description": "Participating to the Internetcube project (collective purchases, install parties)", "type": "boolean" }, "arcepCode": { "description": "The identifier assigned by the ARCEP", "type": "string" }, "ipv6Support": { "description": "Level of IPV6 support. 0: none, 1: partial, 2: quite good, 3: full", "type": "object", "properties": { "infra": { "description": "Servers can be reached in IPV6? (website, mail servers, DNS servers, ...)", "type": "integer", "minimum": 0, "maximum": 3 }, "subcribers": { "description": "Subscribers are provided with IPV6 connectivity", "type": "integer", "minimum": 0, "maximum": 3 } } }, "services": { "description": "Misc services provided to members or even publicly", "type": "array", "items": { "type": "string" } }, "version": { "description": "Version of the specification implemented", "type": "number", "enum": [0.2] } }, "definitions": { "coveredArea": { "type": "object", "required": ["name", "technologies"], "properties": { "name": { "type": "string" }, "technologies": { "type": "array", "items": { "enum": [ "ftth", "fttb", "dsl", "wifi", "vpn" ] } }, "area": { "$ref": "http://json-schema.org/geojson/geojson.json#" } } } } }