{
    "openapi": "3.1.0",
    "info": {
        "title": "Gouda Tijdmachine Viewer API",
        "description": "Deze [getestte](https://gouda-tijdmachine.github.io/api-viewer/) read-only REST API voorziet in de informatiebehoefte qua foto's, panden, straten en personen; alle geïdentifieerd met een persistente HTTP URI op basis van ARK.<br><br>**N.B.**: de beschikbare data betreft met name de 14 panden aan de Wijdstraat (oostzijde) zoals deze in [project Wijdstraat](https://www.goudatijdmachine.nl/project-wijdstraat/locaties/) zijn gekoppeld, dus **nog niet** geheel Gouda.",
        "version": "v1.3.4",
        "contact": {
            "name": "Gouda Tijdmachine",
            "url": "https://www.goudatijdmachine.nl/contact/"
            }
    },
    "servers": [
		{
            "url": "https://api-viewer.goudatijdmachine.nl", "description": "Production API"
        },
        {
            "url": "https://www.goudatijdmachine.nl/api-viewer", "description": "Development API"
        }
    ],
    "tags": [
        {
            "name": "Lijsten",
            "description": "API methodes die zijn bedoeld om specifieke lijsten op te vragen."
        },
        {
            "name": "Zoekresultaten",
            "description": "API methodes die zijn bedoeld om te zoeken naar specifieke entiteiten op basis van zoekcriteria."
        },
        {
            "name": "Detailinformatie",
            "description": "API methodes die zijn bedoeld om detailinformatie van een specifieke entiteit op te vragen."
        }
    ],
    "paths": {
        "/fotos": {
            "get": {
				"operationId": "searchPhotos",
                "tags": [
                    "Zoekresultaten"
                ],
                "summary": "Lijst met zoekresultaten met foto's",
                "description": "Een set van foto's waar de zoekterm voorkomt in de beschrijving en/of een relatie heeft met de gespecificeerde straat. Wanneer er geen parameters zijn opgegeven wordt er - voor testdoeleinden - een lijst van tien interessante foto's geretourneerd.",
                "parameters": [
                    {
                        "name": "q",
                        "description": "De te zoeken term(en) in de fotobeschrijving (of de naam van het locatiepunt zoals L1000004).",
                        "in": "query",
                        "required": false,
                        "example": "winkelpand",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "straat",
                        "description": "De identifier van de straat waar de foto een link moet hebben.",
                        "in": "query",
                        "required": false,
                        "example": "https://n2t.net/ark:/60537/bjMurf",
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    },
                    {
                        "name": "tijdvak",
                        "description": "De identifier van het tijdvak waarbinnen de foto is gemaakt.",
                        "in": "query",
                        "required": false,
                        "example": "https://n2t.net/ark:/60537/b01v5vx",
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    },                    
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Het maximum aantal foto's dat geretourneerd moet worden.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 10
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Het aantal panden om over te slaan.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lijst met gevonden foto's.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "fotos": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/FotoIndex"
                                            }
                                        },
                                        "aantal": {
                                            "type": "integer",
                                            "description": "Totaal aantal gevonden foto's."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Geen foto's gevonden."
                    },
                    "422": {
                        "description": "Ongeldige zoekvraag."
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/foto/{identifier}": {
            "get": {
				"operationId": "getPhotoInformationByIdentifier",
                "tags": [
                    "Detailinformatie"
                ],
                "summary": "Geef detailinformatie over een foto",
                "description": "Geeft informatie over de gespecificeerde foto, inclusief identifiers van zichtbare panden en (max. 10) foto's dichtbij de locatie van de gespecificeerde foto.",
                "parameters": [
                    {
                        "name": "identifier",
                        "in": "path",
                        "description": "Identifier van de foto. **Let op**: de identifier is een URI, deze moet correct ge-URL-encoded worden als path parameter.",
                        "required": true,
                        "example": "https://n2t.net/ark:/60537/b5PMTR",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Informatie over de foto.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Foto"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Missende of ongeldige identifier."
                    },
                    "404": {
                        "description": "Foto niet gevonden."
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/pand/{identifier}": {
            "get": {
				"operationId": "getHouseInformationByIdentifier",
                "tags": [
                    "Detailinformatie"
                ],
                "summary": "Geef detailinformatie over een pand",
                "description": "Geeft informatie over het gespecificeerde pand (lees: locatiepunt), inclusief gerelateerde adressen, personen en (max. 10) foto's.",
                "parameters": [
                    {
                        "name": "identifier",
                        "in": "path",
                        "description": "Identifier van het pand. **Let op**: de identifier is een URI, deze moet correct ge-URL-encoded worden als path parameter.",
                        "required": true,
                        "example": "https://n2t.net/ark:/60537/bVQ1Wc3",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Informatie over het pand.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Pand"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Missende of ongeldige identifier."
                    },
                    "404": {
                        "description": "Pand niet gevonden."
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/pandgeometrieen/{jaar}": {
            "get": {
				"operationId": "getHouseGeometriesByYear",
                "tags": [
                    "Lijsten"
                ],
                "summary": "Geeft een lijst met pand polygonen",
                "description":"Een set polygonen van panden zoals deze er in het gespecificeerde jaar waren. **Let op**: dit is (nog) gebaseerd op de eerste vermelding van een pand in archiefbronnen/Matthijs.",
                "parameters": [
                    {
                        "name": "jaar",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "example": 1700
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "GeoJSON Feature Collection",
                        "content": {
                            "application/geo+json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "type": {
                                            "type": "string",
                                            "enum": [
                                                "FeatureCollection"
                                            ]
                                        },
                                        "features": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/GeoJSONFeature"
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Missend of ongeldig jaartal."
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/panden": {
            "get": {
				"operationId": "searchHouses",
                "tags": [
                    "Zoekresultaten"
                ],
                "summary": "Lijst met zoekresultaten met panden",
                "description": "Een set van panden waar de zoekterm voorkomt in de straatnaam en/of een relatie heeft met de gespecificeerde straat en/of de gespecificeerde status heeft. Wanneer er geen parameters zijn opgegeven wordt er - voor testdoeleinden - een lijst van tien interessante panden geretourneerd.",
                "parameters": [
                    {
                        "name": "q",
                        "description": "De te zoeken term in de pandinformatie.",
                        "in": "query",
                        "required": false,
                        "example": "achter",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "straat",
                        "description": "De identifier van de straat waaraan het pand moet liggen.",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    },
                    {
                        "name": "tijdvak",
                        "description": "De identifier van het tijdvak waarbinnen de pandvermelding moet liggen.",
                        "in": "query",
                        "required": false,
                        "example": "https://n2t.net/ark:/60537/b01v5vx",
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    },
                    {
                        "name": "status",
                        "in": "query",
                        "description": "Status van het te vinden pand. **Let op**: nog niet geïmplementeerd!",
                        "required": false,
                        "schema": {
                            "type": "string",
                            "default": "alle",
                            "enum": [
                                "alle",
                                "afgebroken",
                                "bestaand"
                            ]
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Het maximum aantal panden dat geretourneerd moet worden.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 10
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Het aantal panden om over te slaan.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lijst met gevonden panden.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "panden": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PandIndex"
                                            }
                                        },
                                        "aantal": {
                                            "type": "integer",
                                            "description": "Totaal aantal gevonden panden."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Geen panden gevonden."
                    },
                    "422": {
                        "description": "Ongeldige zoekvraag."
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/persoon/{identifier}": {
            "get": {
				"operationId": "getPersonInformationByIdentifier",
                "tags": [
                    "Detailinformatie"
                ],
                "summary": "Geef detailinformatie over een persoon",
                "description":  "Geeft informatie over de gespecificeerde persoon (vooralsnog persoonsvermelding, later wellicht persoonsreconstructie), inclusief gerelateerde panden.",
                "parameters": [
                    {
                        "name": "identifier",
                        "in": "path",
                        "description": "Identifier van de persoon. **Let op**: de identifier is een URI, deze moet correct ge-URL-encoded worden.",
                        "required": true,
                        "example": "https://n2t.net/ark:/60537/b8KpBLy",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Informatie over de persoon.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Persoon"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Missende of ongeldige identifier."
                    },
                    "404": {
                        "description": "Persoon niet gevonden."
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/personen": {
            "get": {
				"operationId": "searchPersons",
                "tags": [
                    "Zoekresultaten"
                ],
                "summary": "Lijst met zoekresultaten met personen",
                "description": "Een set van personen - dit kunnen bewoners zijn of eigenaars - waar de zoekterm voorkomt in de naam en/of een relatie heeft met de gespecificeerde straat. Wanneer er geen parameters zijn opgegeven wordt er - voor testdoeleinden - een lijst van tien interessante personen geretourneerd.",
                "parameters": [
                    {
                        "name": "q",
                        "description": "De te zoeken term in de persoonsnamen.",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "straat",
                        "description": "De identifier van de straat waar de persoon een link moet hebben.",
                        "in": "query",
                        "required": false,
                        "example": "https://n2t.net/ark:/60537/bjMurf",
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    },
                    {
                        "name": "tijdvak",
                        "description": "De identifier van het tijdvak waarbinnen de persoonsvermelding moet liggen.",
                        "in": "query",
                        "required": false,
                        "example": "https://n2t.net/ark:/60537/b01v5vx",
                        "schema": {
                            "type": "string",
                            "format": "uri"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Het maximum aantal personen dat geretourneerd moet worden.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 10
                        }
                    },
                    {
                        "name": "offset",
                        "in": "query",
                        "description": "Het aantal personen om over te slaan.",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "default": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lijst met gevonden personen.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "personen": {
                                            "type": "array",
                                            "items": {
                                                "$ref": "#/components/schemas/PersoonIndex"
                                            }
                                        },
                                        "aantal": {
                                            "type": "integer",
                                            "description": "Totaal aantal gevonden personen."
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Geen personen gevonden."
                    },
                    "422": {
                        "description": "Ongeldige zoekvraag."
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/straten": {
            "get": {
				"operationId": "getStreetlist",
                "tags": [
                    "Lijsten"
                ],
                "summary": "Geeft een lijst met straten",
                "description": "Een op naam gesorteerde lijst van straatnamen.",
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/StraatIndex"
                                    }
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/tijdvakken": {
            "get": {
				"operationId": "getPeriodsList",
                "tags": [
                    "Lijsten"
                ],
                "summary": "Geeft een lijst met tijdvakken",
                "description": "Een op jaartal gesorteerde lijst van tijdvakken.",
                "responses": {
                    "200": {
                        "description": "successful operation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/TijdvakIndex"
                                    }
                                }
                            }
                        }
                    },
                    "default": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/clear_cache": {
            "post": {
				"operationId": "doClearCache",
                "tags": [
                    "Lijsten"
                ],
                "summary": "Verwijder alle cache bestanden",
                "description": "Verwijdert alle gecachte SPARQL query resultaten en pand geometrie data uit de cache directories. Dit forceert het opnieuw ophalen van data bij de volgende API calls.",
                "responses": {
                    "200": {
                        "description": "Cache succesvol gewist",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ClearCacheResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Er heeft zich een onverwachte fout voorgedaan.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Error"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
           "Adres": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "example": "plaatselijke aanduiding",
                        "description": "Mogelijke waarden omvatten huisnaam, plaatselijke aanduiding (=wijkletter+nummer) en de hedendaags straatnummeraanduiding (=straat+nummer)."
                    },
                    "naam": {
                        "type": "string",
                        "example": "Wijdstraat P125"
                    },
                    "datering": {
                        "type": "string",
                        "example": "1840-1845"
                    },
                    "wijk": {
                        "type": "string",
                        "example": "Wijk P"
                    }
                }
            }, 
            "BronIndex": {
                "type": "object",
                "properties": {
                    "naam": {
                        "type": "string",
                        "example": "SAMH 0001.1893 Kohieren en gaderboeken van de verponding binnen Gouda, 1809 - 1811, 1595",
                        "description": "De naam van de archiefbron."
                    },
                    "naam_kort": {
                        "type": "string",
                        "example": "SAMH 0056.1458",
                        "description": "De afkorting van de archiefinstelling (SAMH=Streekarchief Midden-Holland), de archieftoegang en het inventarisnummer."
                    },
                    "datering": {
                        "type": "string",
                        "example": "1880-1900",
                        "description": "Het jaartal of de periode waarin de archiefbron is gemaakt."
                    },
                    "url": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://samh.nl/bronnen/genealogie/deeds/a634024a-cac3-98ba-3d4f-77a5e270a5ec",
                        "description": "De URL van de bron bij het archief (deze waarde is er niet altijd)."
                    }
                }
            },
            "ClearCacheResponse": {
                "type": "object",
                "properties": {
                    "success": {
                        "type": "boolean",
                        "example": true,
                        "description": "Geeft aan of de cache operatie succesvol was."
                    },
                    "deleted_files": {
                        "type": "integer",
                        "example": 847,
                        "description": "Het aantal verwijderde cache bestanden."
                    },
                    "message": {
                        "type": "string",
                        "example": "Successfully cleared 847 cache files",
                        "description": "Een beschrijving van het resultaat."
                    },
                    "errors": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        },
                        "example": [],
                        "description": "Eventuele foutmeldingen tijdens het wissen van de cache."
                    }
                }
            },
            "Error": {
                "type": "object",
                "description": "Beschrijving van een foutmelding.",
                "properties": {
                    "code": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    }
                }
            },
            "Foto": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van de foto(beschrijving).",
                        "example": "https://n2t.net/ark:/60537/b5PMTR"
                    },
                    "titel": {
                        "type": "string",
                        "example": "Wijdstraat, tabakswinkel Van Vreumingen, Sinterklaasetalage",
                        "description": "De titel van de afbeelding, veelal meer de vorm van een lange beschrijving dan een kort titel."
                    },
                    "thumbnail": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://www.goudatijdmachine.nl/omeka/files/medium/70d726f9642726c3e7a0080536cc43715fe8e025.jpg",
                        "description": "Een kleine weergave van de afbeelding; veelal 200 pixels breed bij landschapsformaat en 200px hoog bij portretformaat."
                    },
                    "image": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://images.memorix.nl/sahm/iiif/f6d9610c-d199-c727-48cb-ee24619317b4/full/500,/0/default.jpg",
                        "description": "Een grotere weergave van de afbeelding; veelal 500 pixels breed."
                    },                    
                    "iiif_info_json": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://images.memorix.nl/sahm/iiif/f6d9610c-d199-c727-48cb-ee24619317b4/info.json",
                        "description": "De URL van de IIIF Image API info.json voor de afbeelding in een IIIF client zoals [OpenSeadragon](https://openseadragon.github.io/)."
                    },
                    "vervaardiger": {
                        "type": "string",
                        "example": "Daems, H.J.",
                        "description": "De naam van de maker van de afbeelding."
                    },
                    "informatie_auteursrechten": {
                        "type": "string",
                        "example": "PubliekDomein",
                        "description": "Informatie over de auteursrechten op de afbeelding, zoals PubliekDomein, BeschikbaarVoorNietCommercieelGebruik, ToestemmingVragenVoorElkGebruik."
                    },
                    "url": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://samh.nl/bronnen/beeldbank/detail/6c4d4e6e-af98-22ba-36d3-abe3a8d6241a/media/0c7dd438-64c3-8453-b551-cbbb59fa795b",
                        "description": "De URL van de afbeelding in de beeldbank bij de bronorganisatie."
                    },
                    "datering": {
                        "type": "string",
                        "example": "1950",
                        "description": "Het jaar (of periode) waarin de afbeelding is gemaakt."
                    },
                    "bronorganisatie": {
                        "type": "string",
                        "example": "SAMH",
                        "description": "De organisatie die de afbeelding in haar collectie heeft, bijv. SAMH of RCE."
                    },                    
                    "straten": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/StraatIndex"
                        },
                        "description": "De straat (of straten) waar de afbeelding is genomen."
                    },
                    "panden": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PandIndex"
                        },
                        "description": "De informatie van de panden die zichtbaar zijn op de afbeelding."
                    },
                    "fotos_dichtbij": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/FotosDichtbijIndex"
                        }
                    }
                }
            },
            "FotoIndex": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van de foto(beschrijving).",
                        "example": "https://n2t.net/ark:/60537/b5PMTR"
                    },
                    "titel": {
                        "type": "string",
                        "example": "Wijdstraat, tabakswinkel Van Vreumingen, Sinterklaasetalage",
                        "description": "De titel van de afbeelding, veelal meer de vorm van een lange beschrijving dan een kort titel."
                    },
                    "thumbnail": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://www.goudatijdmachine.nl/omeka/files/medium/70d726f9642726c3e7a0080536cc43715fe8e025.jpg",
                        "description": "Een kleine weergave van de afbeelding (veelal 200 pixels bij landschapsformaat en 200px hoog bij portretformaat."
                    },
                    "vervaardiger": {
                        "type": "string",
                        "example": "Daems, H.J.",
                        "description": "De naam van de maker van de afbeelding."
                    },
                    "datering": {
                        "type": "string",
                        "example": "1950",
                        "description": "Het jaar waarin de afbeelding is gemaakt."
                    },
                    "bronorganisatie": {
                        "type": "string",
                        "example": "Streekarchief Midden-Holland",
                        "description": "De organisatie die de foto in haar collectie heeft, bijv. Streekarchief Midden-Holland (SAMH) of Rijkdienst voor het Cultureel Erfgoed (RCE)."
                    },
                    "straten": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/StraatIndex"
                        },
                        "description": "De straat (of straten) waar de afbeelding is genomen."
                    },
                    "pandidentifiers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PandIdentifiers"
                        },
                        "description": "De identifiers van de panden die zichtbaar zijn op de afbeelding, te gebruiken voor het highlighten op de kaart."
                    }
                }
            },
            "FotosDichtbijIndex": {
                "type": "object",
                "description": "Een lijst van 10 foto's die qua afstand dicht liggen bij de locatie van gespecificeerde foto.",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van de foto(beschrijving).",
                        "example": "https://n2t.net/ark:/60537/b5PMTR"
                    },
                    "titel": {
                        "type": "string",
                        "example": "Wijdstraat, tabakswinkel Van Vreumingen, Sinterklaasetalage",
                        "description": "De titel van de afbeelding, veelal meer de vorm van een lange beschrijving dan een kort titel."
                    },
                    "thumbnail": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://www.goudatijdmachine.nl/omeka/files/medium/70d726f9642726c3e7a0080536cc43715fe8e025.jpg",
                        "description": "Een kleine weergave van de afbeelding (veelal 200 pixels bij landschapsformaat en 200px hoog bij portretformaat."
                    },
                    "iiif_info_json": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://images.memorix.nl/sahm/iiif/c8a7c04c-a2b4-99cf-3999-18d6b6478563/info.json",
                        "description": "De URL van de IIIF Image API info.json voor de afbeelding in een IIIF client zoals [OpenSeadragon](https://openseadragon.github.io/)."
                    }
                }
            },
            "GeoJSONFeature": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "Feature"
                        ]
                    },
                    "geometry": {
                        "$ref": "#/components/schemas/GeoJSONGeometry"
                    },
                    "properties": {
                        "type": "object"
                    }
                }
            },
            "GeoJSONGeometry": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/GeoJSONPoint"
                    },
                    {
                        "$ref": "#/components/schemas/GeoJSONLineString"
                    },
                    {
                        "$ref": "#/components/schemas/GeoJSONPolygon"
                    }
                ]
            },
            "GeoJSONLineString": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "LineString"
                        ]
                    },
                    "coordinates": {
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": {
                                "type": "number",
                                "format": "double"
                            },
                            "minItems": 2
                        }
                    }
                }
            },
            "GeoJSONPoint": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "Point"
                        ]
                    },
                    "coordinates": {
                        "type": "array",
                        "items": {
                            "type": "number",
                            "format": "double"
                        },
                        "minItems": 2,
                        "maxItems": 2
                    }
                }
            },
            "GeoJSONPolygon": {
                "type": "object",
                "properties": {
                    "type": {
                        "type": "string",
                        "enum": [
                            "Polygon"
                        ]
                    },
                    "coordinates": {
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": {
                                "type": "array",
                                "items": {
                                    "type": "number",
                                    "format": "double"
                                },
                                "minItems": 2
                            }
                        }
                    }
                }
            },
            "PandIndex": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van het pand (of eigenlijk: locatiepunt).",
                        "example": "https://n2t.net/ark:/60537/bVQ1Wc3"
                    },
                    "naam": {
                        "type": "string",
                        "example": "Pand meest recent bekend als Wijdstraat 20"
                    },
                    "straat": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/StraatIndex"
                        }
                    },
                    "status": {
                        "type": "string",
                        "example": "bestaand",
                        "description": "De huidige status van het pand, bijvoorbeeld 'bestaand' of 'afgebroken'. **Let op**: deze waarde is nog niet geïmplementeerd (wellicht opname heroverwegen)!"
                    }
                }
            },
            "Pand": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van het pand (of eigenlijk: locatiepunt).",
                        "example": "https://n2t.net/ark:/60537/bVQ1Wc3"
                    },
                    "naam": {
                        "type": "string",
                        "example": "L1000004"
                    },
                    "datering": {
                        "type": "string",
                        "example": "TODO 1435-1740"
                    },
                    "adressen": {
                        "type": "array",
                        "description": "Lijst van adressen dat dit pand door de jaren heeft gehad, gesorteerd op datering.",
                        "items": {
                            "$ref": "#/components/schemas/Adres"
                        }
                    },
                    "personen": {
                        "type": "array",
                        "description": "Lijst van personen, gesorteerd op datering, die een relatie hebben met het pand. **Let op**: dit kan kan lange lijst met personen zijn!",
                        "items": {
                            "$ref": "#/components/schemas/PersoonIndex"
                        }
                    },
                    "fotos": {
                        "type": "array",
                        "description": "Lijst van max. 10 foto's waarop het pand zichtbaar is (lees: de fotozichtveld-geometrie heeft een overlap met de perceelgeometrie), gesorteerd op afstand tot het pand.",
                        "items": {
                            "$ref": "#/components/schemas/FotosDichtbijIndex"
                        }
                    }
                }
            },
             "PandIdentifiers": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van het pand (of eigenlijk: locatiepunt).",
                        "example": "https://n2t.net/ark:/60537/bVQ1Wc3"
                    }
                }
            },
            "Persoon": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van de persoon (of eigenlijk: persoonsvermelding, later de persoonsreconstructie).",
                        "example": "https://n2t.net/ark:/60537/bywHg3"
                    },
                    "naam": {
                        "type": "string",
                        "example": "Hermanus Kleijn"
                    },
                    "geboortedatum": {
                        "type": "string",
                        "example": "21-01-1816" 
                    },
                    "geboorteplaats": {
                        "type": "string",
                        "example": "Gouda" 
                    },
                    "overlijdensdatum": {
                        "type": "string",
                        "example": "12-04-1874" 
                    },
                    "overlijdensplaats": {
                        "type": "string",
                        "example": "Gouda" 
                    },
                    "leeftijd": {
                        "type": "string",
                        "example": "44" 
                    },
                    "beroep": {
                        "type": "string",
                        "example": "banketbakker "
                    },
                    "panden": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PersoonPandIndex"
                        }
                    }
                }
            },
            "PersoonIndex": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van de persoon (of eigenlijk: persoonsvermelding, later de persoonsreconstructie).",
                        "example": "https://n2t.net/ark:/60537/bywHg3"
                    },
                    "naam": {
                        "type": "string",
                        "example": "Hermanus Kleijn"
                    },
                    "beroep": {
                        "type": "string",
                        "example": "banketbakker"
                    },
                     "datering": {
                        "type": "string",
                        "example": "1830"
                    },
                    "pandidentifiers": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/PandIdentifiers"
                        },
                        "description": "De identifiers van de panden waar de persoon een koppeling mee heeft, te gebruiken voor het highlighten op de kaart."
                    }
                }
            },
            "PersoonPandIndex": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "description": "De persistente HTTP URI van het pand (of eigenlijk: locatiepunt).",
                        "example": "https://www.goudatijdmachine.nl/omeka/s/data/item/2619942"
                    },
                    "naam": {
                        "type": "string",
                        "example": "Wijdstraat A46 (1846-1899)"
                    },
                    "bron": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/BronIndex"
                        }
                    }
                }
            },                 
            "StraatIndex": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://n2t.net/ark:/60537/bjMurf",
                        "description": "De persistente HTTP URI van de straat."
                    },
                    "naam": {
                        "type": "string",
                        "example": "Wijdstraat",
                        "description": "De officiële of meeste gangbare naam van de straat."
                    },
                    "naam_alt": {
                        "type": "string",
                        "description": "Andere schrijfwijzen van de straatnaam zoals gevonden in historische bronnen.",
                        "example": "Twistraete, Wytstraat, Wijtstraet, Wijstraat, Wijnstraat, Weidstraat, Weidestraat, Waaistraat, Twistraat, Twijtstraat, Twijstraat"
                    }
                }
            },                 
            "TijdvakIndex": {
                "type": "object",
                "properties": {
                    "identifier": {
                        "type": "string",
                        "format": "uri",
                        "example": "https://n2t.net/ark:/60537/b01v5vx",
                        "description": "De persistente HTTP URI van het tijdvak."
                    },
                    "naam": {
                        "type": "string",
                        "example": "18e eeuw",
                        "description": "De naam van het tijdvak."
                    },
                    "naam_alt": {
                        "type": "string",
                        "example": "1701-1800",
                        "description": "De naam van het tijdvak beschreven als periode."
                    },
                    "omschrijving": {
                        "type": "string",
                        "example": "Tijd van pruiken en revoluties",
                        "description": "Omschrijving van het tijdvak zoals gehanteerd in canons."
                    },
                    "jaar_start": {
                        "type": "integer",
                        "example": 1701,
                        "description": "Beginjaar van het tijdvak."
                    },
                    "jaar_einde": {
                        "type": "integer",
                        "example": 1800,
                        "description": "Beginjaar van het tijdvak."
                    }
                }
            }
        }
    }
}