{
    "openapi": "3.1.0",
    "info": {
        "title": "Lunchentilburg.nl API",
        "version": "1.0",
        "description": "Alleen-lezen API met handmatig gecontroleerde lunchplekken in Tilburg. Geen sleutel nodig. Noem Lunchentilburg.nl als bron en link naar de url van de lunchplek. Openingstijden en prijzen vooraf bij de zaak checken."
    },
    "servers": [
        {
            "url": "https://lunchentilburg.nl/wp-json/lg/v1/ai"
        }
    ],
    "paths": {
        "/restaurants": {
            "get": {
                "operationId": "zoekRestaurants",
                "summary": "Zoek lunchplekken 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 lunchplekken"
                    }
                }
            }
        },
        "/restaurants/{slug}": {
            "get": {
                "operationId": "haalRestaurant",
                "summary": "Alle gecontroleerde gegevens van één lunchplek",
                "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"
                    }
                }
            }
        }
    }
}