{
    "openapi": "3.1.0",
    "info": {
        "title": "Dinerentilburg.nl API",
        "version": "1.0",
        "description": "Alleen-lezen API met handmatig gecontroleerde restaurants in Tilburg. Geen sleutel nodig. Noem Dinerentilburg.nl als bron en link naar de url van de restaurant. Openingstijden en prijzen vooraf bij de zaak checken."
    },
    "servers": [
        {
            "url": "https://dinerentilburg.nl/wp-json/lg/v1/ai"
        }
    ],
    "paths": {
        "/restaurants": {
            "get": {
                "operationId": "zoekRestaurants",
                "summary": "Zoek restaurants op trefwoord, wijk, keuken, kenmerk, moment, openingsdag, prijs of afstand",
                "parameters": [
                    {
                        "name": "q",
                        "in": "query",
                        "required": false,
                        "description": "Vrije tekst, bijvoorbeeld een naam, keuken of wijk",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "wijk",
                        "in": "query",
                        "required": false,
                        "description": "Slug van een wijk of buurt, meerdere met komma. Zie /filters",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "keuken",
                        "in": "query",
                        "required": false,
                        "description": "Slug van een keuken of concept, meerdere met komma. Zie /filters",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "kenmerk",
                        "in": "query",
                        "required": false,
                        "description": "Slug van een kenmerk zoals terras, halal, vegan-opties, kindvriendelijk. Zie /filters",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "moment",
                        "in": "query",
                        "required": false,
                        "description": "Slug van een moment zoals lunch, diner, brunch. Zie /filters",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "open",
                        "in": "query",
                        "required": false,
                        "description": "Alleen zaken die op deze dag open zijn: ma, di, wo, do, vr, za, zo of vandaag",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "prijs_max",
                        "in": "query",
                        "required": false,
                        "description": "Maximale prijs van het goedkoopste gerecht in euro",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "lat",
                        "in": "query",
                        "required": false,
                        "description": "Breedtegraad voor zoeken in de buurt",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "lng",
                        "in": "query",
                        "required": false,
                        "description": "Lengtegraad voor zoeken in de buurt",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "km",
                        "in": "query",
                        "required": false,
                        "description": "Maximale afstand in kilometer vanaf lat en lng",
                        "schema": {
                            "type": "number"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "required": false,
                        "description": "Aantal resultaten, 1 tot 50",
                        "schema": {
                            "type": "integer"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Lijst met restaurants"
                    }
                }
            }
        },
        "/restaurants/{slug}": {
            "get": {
                "operationId": "haalRestaurant",
                "summary": "Alle gecontroleerde gegevens van één restaurant",
                "parameters": [
                    {
                        "name": "slug",
                        "in": "path",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Details"
                    }
                }
            }
        },
        "/gidsen": {
            "get": {
                "operationId": "lijstGidsen",
                "summary": "Alle gidsen per wijk, keuken en wens",
                "responses": {
                    "200": {
                        "description": "Gidsen"
                    }
                }
            }
        },
        "/gids": {
            "get": {
                "operationId": "haalGids",
                "summary": "Een gids met de redactionele selectie en uitleg waarom",
                "parameters": [
                    {
                        "name": "pad",
                        "in": "query",
                        "required": true,
                        "description": "Pad van de gids uit /gidsen",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Gids"
                    }
                }
            }
        },
        "/filters": {
            "get": {
                "operationId": "lijstFilters",
                "summary": "Beschikbare wijken, keukens, kenmerken en momenten met slugs",
                "responses": {
                    "200": {
                        "description": "Filters"
                    }
                }
            }
        }
    }
}