bissl - menus in Austria
Dishes, prices, diets, allergens and this week's lunch menus of places to eat in Austria.
Sollte ich dies verwenden
Qualität und Sicherheit
Befunde (1)
- LOWin search_lunch_menus
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"bissl": {
"url": "https://api.bissl.at/mcp"
}
}
}Remote-Endpunkte
https://api.bissl.at/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (4)
🟢get_venue(lang, slug)
A place by its slug: address, phone, website, opening hours and its whole menu - food, drinks and this week's lunch - with every price.
Eingabe-Schema
{
"type": "object",
"properties": {
"lang": {
"anyOf": [
{
"$ref": "#/$defs/ApiLang"
},
{
"type": "null"
}
],
"description": "The language of dish names, descriptions and section titles: de, the menus' own, or\nen, as bissl translated them."
},
"slug": {
"description": "The place's `slug`, from a search's or a list's answer.",
"type": "string"
}
},
"required": [
"slug"
],
"$defs": {
"ApiLang": {
"description": "The language dish names, descriptions and section titles come in: the menus' own\nGerman, or English as bissl translated them.",
"enum": [
"de",
"en"
],
"type": "string"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"attribution": {
"type": "string"
},
"checked_on": {
"description": "The day its menus were last read from its website.",
"format": "date",
"type": [
"string",
"null"
]
},
"menus": {
"description": "Its regular food and drinks, and its lunch of this week; none when bissl has no\nmenu of it.",
"items": {
"$ref": "#/$defs/Menu"
},
"type": "array"
},
"opening_hours": {
"description": "Its opening hours in OpenStreetMap's syntax: \"Mo-Fr 11:00-22:00; Sa 12:00-22:00\".",
"type": [
"string",
"null"
]
},
"phone": {
"type": [
"string",
"null"
]
},
"place": {
"$ref": "#/$defs/Place"
},
"website": {
"description": "Its own website.",
"type": [
"string",
"null"
]
}
},
"required": [
"place",
"menus",
"attribution"
],
"$defs": {
"ApiDiet": {
"description": "A diet as a menu marks a dish, or the dish's name says it.",
"oneOf": [
{
"enum": [
"vegan"
],
"type": "string"
},
{
"const": "vegetarian",
"description": "Vegetarian, vegan dishes included.",
"type": "string"
}
]
},
"Dish": {
"description": "A dish or drink on a menu, the same in every answer.",
"properties": {
"allergens": {
"description": "The allergen letters its menu lists, by the Austrian codes (A gluten, B\ncrustaceans, C egg, D fish, E peanuts, F soy, G milk, H nuts, L celery, M mustard,\nN sesame, O sulphites, P lupin, R molluscs); null when the menu lists none for it,\nwhich is no promise it has none.",
"type": [
"string",
"null"
]
},
"checked_on": {
"description": "The day its menu was last read from the venue's website.",
"format": "date",
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"diet": {
"anyOf": [
{
"$ref": "#/$defs/ApiDiet"
},
{
"type": "null"
}
],
"description": "Vegan or vegetarian as the menu marks it or its name says; null when neither."
},
"id": {
"description": "bissl's id of the dish on its menu.",
"format": "int64",
"type": "integer"
},
"name": {
"type": "string"
},
"prices": {
"description": "One per size or variant; none when the menu gives no price.",
"items": {
"$ref": "#/$defs/Price"
},
"type": "array"
},
"served_on": {
"description": "The day a lunch dish is served on; null for what the place always serves.",
"format": "date",
"type": [
"string",
"null"
]
},
"url": {
"description": "The venue's bissl page with this dish marked.",
"type": "string"
}
},
"required": [
"id",
"name",
"description",
"prices",
"url"
],
"type": "object"
},
"Menu": {
"properties": {
"kind": {
"$ref": "#/$defs/MenuKind"
},
"sections": {
"items": {
"$ref": "#/$defs/MenuSection"
},
"type": "array"
},
"served": {
"description": "When a lunch is served, as its page says: \"Mo–Fr · 11:30–14:30\". Lunch only.",
"type": [
"string",
"null"
]
},
"title": {
"description": "\"Speisen\", \"Getränke\", \"Mittagsmenü\" - or in English.",
"type": "string"
},
"valid_from": {
"description": "The first and last day a lunch menu is for, when it says.",
"format": "date",
"type": [
"string",
"null"
]
},
"valid_to": {
"format": "date",
"type": [
"string",
"null"
]
}
},
"required": [
"kind",
"title",
"sections"
],
"type": "object"
},
"MenuKind": {
"enum": [
"food",
"drinks",
"lunch"
],
"type": "string"
},
"MenuSection": {
"description": "A part of a menu, as the venue page's tab: \"Vorspeisen\", a lunch day's \"Mo 5.10.\".",
"properties": {
"dishes": {
"items": {
"$ref": "#/$defs/Dish"
},
"type": "array"
},
"title": {
"description": "Null for a menu of one section.",
"type": [
"string",
"null"
]
}
},
"required": [
"dishes"
],
"type": "object"
},
"Place": {
"description": "A place to eat or drink, the same in every answer.",
"properties": {
"address": {
"description": "Street, house number, postcode and town; null when bissl has none.",
"type": [
"string",
"null"
]
},
"area": {
"description": "Its district or town, to say where it is: \"7. Neubau\", \"Mödling\"; null outside every\ntown bissl knows. No filter takes it.",
"type": [
"string",
"null"
]
},
"cuisines": {
"description": "Its cuisines as OpenStreetMap names them: austrian, italian, pizza, vietnamese...",
"items": {
"type": "string"
},
"type": "array"
},
"distance_m": {
"description": "Metres from the point asked about (`lat`, `lon`), when one was given.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"kind": {
"description": "Its kind as OpenStreetMap tags it: restaurant, fast_food, cafe, bar, pub,\nbiergarten, ice_cream, food_court, bakery or pastry.",
"type": "string"
},
"lat": {
"format": "double",
"type": "number"
},
"lon": {
"format": "double",
"type": "number"
},
"name": {
"type": "string"
},
"open_now": {
"description": "Open right now by its opening hours (Vienna's time); null when bissl can't read them.",
"type": [
"boolean",
"null"
]
},
"price_level": {
"description": "\"€\" to \"€€€€\" from its menu's prices; null while bissl doesn't know.",
"type": [
"string",
"null"
]
},
"slug": {
"description": "bissl's name for the place: what `/v1/venues/{slug}` and `get_venue` take.",
"type": "string"
},
"url": {
"description": "Its page on bissl, with every menu: link to it.",
"type": "string"
}
},
"required": [
"slug",
"name",
"kind",
"cuisines",
"lat",
"lon",
"url"
],
"type": "object"
},
"Price": {
"description": "A price of a dish: one per size or variant.",
"properties": {
"note": {
"description": "What it is for, when the menu says: a size or a variant (\"0,5 l\", \"klein\").",
"type": "string"
},
"price": {
"description": "As the venue page writes it: \"12,90 €\".",
"type": [
"string",
"null"
]
},
"price_cents": {
"description": "In euro cents; null when the menu names a size without a price.",
"format": "int64",
"type": [
"integer",
"null"
]
}
},
"required": [
"note"
],
"type": "object"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_dishes(bbox, cuisine, diet, dish_kind, free_of, ...)
Find a dish or drink on the menus of places in Austria: which places serve it, at what price, with diet and allergens. Give the dish in plain words ("schnitzel", "vegan curry", "glutenfreie pizza"), and where: a point (lat, lon) to search near, a map area (bbox), or neither for everywhere.
Eingabe-Schema
{
"type": "object",
"properties": {
"bbox": {
"description": "Keep to a map area: \"west,south,east,north\" in degrees - a town, a district, the\nstreets around a place. Everywhere when left out.",
"type": [
"string",
"null"
]
},
"cuisine": {
"description": "Only at places of this cuisine, as OpenStreetMap names it: \"italian\", \"vietnamese\".",
"type": [
"string",
"null"
]
},
"diet": {
"anyOf": [
{
"$ref": "#/$defs/ApiDiet"
},
{
"type": "null"
}
],
"description": "Only dishes of this diet: vegan, or vegetarian (vegan dishes included)."
},
"dish_kind": {
"anyOf": [
{
"$ref": "#/$defs/DishKind"
},
{
"type": "null"
}
],
"description": "Food or drinks only."
},
"free_of": {
"description": "Only dishes whose menu lists their allergens and none of these letters: \"A\" gluten,\n\"G\" milk, \"AG\" both.",
"type": [
"string",
"null"
]
},
"lang": {
"anyOf": [
{
"$ref": "#/$defs/ApiLang"
},
{
"type": "null"
}
],
"description": "The language of dish names, descriptions and section titles: de, the menus' own, or\nen, as bissl translated them."
},
"lat": {
"description": "The latitude of a point - the user's, or one they name - to measure distances from\nand sort nearest first; with `lon`.",
"format": "double",
"type": [
"number",
"null"
]
},
"limit": {
"description": "Places to answer with: 1 to 30, 10 when left out.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"lon": {
"description": "The longitude of that point; with `lat`.",
"format": "double",
"type": [
"number",
"null"
]
},
"max_price": {
"description": "Only dishes costing at most this much, in whole euros.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"min_price": {
"description": "Only dishes costing at least this much, in whole euros.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Places to skip, for the next ones: 0 when left out.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"open_now": {
"description": "Only places open right now.",
"type": [
"boolean",
"null"
]
},
"q": {
"description": "Words a dish must match, as people say them, German or English: \"schnitzel\", \"vegan\ncurry\", \"glutenfreie pizza\". A diet, allergens or a cuisine among them are taken as\nfilters; misspelt German words are put right when that finds something.",
"type": [
"string",
"null"
]
},
"sort": {
"anyOf": [
{
"$ref": "#/$defs/DishSort"
},
{
"type": "null"
}
],
"description": "The order of the places."
}
},
"$defs": {
"ApiDiet": {
"description": "A diet as a menu marks a dish, or the dish's name says it.",
"oneOf": [
{
"enum": [
"vegan"
],
"type": "string"
},
{
"const": "vegetarian",
"description": "Vegetarian, vegan dishes included.",
"type": "string"
}
]
},
"ApiLang": {
"description": "The language dish names, descriptions and section titles come in: the menus' own\nGerman, or English as bissl translated them.",
"enum": [
"de",
"en"
],
"type": "string"
},
"DishKind": {
"enum": [
"food",
"drinks"
],
"type": "string"
},
"DishSort": {
"oneOf": [
{
"const": "recommended",
"description": "The best matches at the most useful places: with prices, open now, near the middle.",
"type": "string"
},
{
"const": "match",
"description": "Best match first, then cheapest.",
"type": "string"
},
{
"const": "price",
"description": "Cheapest first.",
"type": "string"
},
{
"const": "distance",
"description": "Best match first, then nearest to `lat`, `lon` - the order whenever they are given,\nunless `price`.",
"type": "string"
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"attribution": {
"type": "string"
},
"corrected": {
"description": "The words put right when they found nothing as typed: \"schnitzel\" for \"schnitzl\".",
"type": [
"string",
"null"
]
},
"cuisine": {
"type": [
"string",
"null"
]
},
"diet": {
"anyOf": [
{
"$ref": "#/$defs/ApiDiet"
},
{
"type": "null"
}
],
"description": "The filters in effect, asked for or taken from the words."
},
"free_of": {
"type": [
"string",
"null"
]
},
"note": {
"description": "Why there is nothing, or less than asked for, when there is a reason to say.",
"type": [
"string",
"null"
]
},
"places": {
"description": "Each with its best matches, at most 5.",
"items": {
"$ref": "#/$defs/PlaceDishes"
},
"type": "array"
},
"recommended": {
"description": "Nothing was asked for, so these are dishes popular at this time of day.",
"type": "boolean"
},
"searched": {
"description": "The words searched for, once a diet, allergens or a cuisine among them were taken as\nfilters (\"vegan curry\" searches \"curry\" with diet vegan); null for none.",
"type": [
"string",
"null"
]
},
"total_dishes": {
"format": "int64",
"type": "integer"
},
"total_places": {
"description": "Places and dishes found, of which `places` holds `limit` from `offset` on. A search\nreads at most 500 places - the nearest `lat`, `lon`, else the middle of `bbox`, else\nthe most complete listings - and counts the dish where those have it; when fewer than\n30 do, it reads the 500 nearest (or most complete) that have it instead. So these\nare at most 500, `sort=price` is the cheapest of them, and paging ends there.",
"format": "int64",
"type": "integer"
}
},
"required": [
"recommended",
"total_places",
"total_dishes",
"places",
"attribution"
],
"$defs": {
"ApiDiet": {
"description": "A diet as a menu marks a dish, or the dish's name says it.",
"oneOf": [
{
"enum": [
"vegan"
],
"type": "string"
},
{
"const": "vegetarian",
"description": "Vegetarian, vegan dishes included.",
"type": "string"
}
]
},
"Dish": {
"description": "A dish or drink on a menu, the same in every answer.",
"properties": {
"allergens": {
"description": "The allergen letters its menu lists, by the Austrian codes (A gluten, B\ncrustaceans, C egg, D fish, E peanuts, F soy, G milk, H nuts, L celery, M mustard,\nN sesame, O sulphites, P lupin, R molluscs); null when the menu lists none for it,\nwhich is no promise it has none.",
"type": [
"string",
"null"
]
},
"checked_on": {
"description": "The day its menu was last read from the venue's website.",
"format": "date",
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"diet": {
"anyOf": [
{
"$ref": "#/$defs/ApiDiet"
},
{
"type": "null"
}
],
"description": "Vegan or vegetarian as the menu marks it or its name says; null when neither."
},
"id": {
"description": "bissl's id of the dish on its menu.",
"format": "int64",
"type": "integer"
},
"name": {
"type": "string"
},
"prices": {
"description": "One per size or variant; none when the menu gives no price.",
"items": {
"$ref": "#/$defs/Price"
},
"type": "array"
},
"served_on": {
"description": "The day a lunch dish is served on; null for what the place always serves.",
"format": "date",
"type": [
"string",
"null"
]
},
"url": {
"description": "The venue's bissl page with this dish marked.",
"type": "string"
}
},
"required": [
"id",
"name",
"description",
"prices",
"url"
],
"type": "object"
},
"Place": {
"description": "A place to eat or drink, the same in every answer.",
"properties": {
"address": {
"description": "Street, house number, postcode and town; null when bissl has none.",
"type": [
"string",
"null"
]
},
"area": {
"description": "Its district or town, to say where it is: \"7. Neubau\", \"Mödling\"; null outside every\ntown bissl knows. No filter takes it.",
"type": [
"string",
"null"
]
},
"cuisines": {
"description": "Its cuisines as OpenStreetMap names them: austrian, italian, pizza, vietnamese...",
"items": {
"type": "string"
},
"type": "array"
},
"distance_m": {
"description": "Metres from the point asked about (`lat`, `lon`), when one was given.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"kind": {
"description": "Its kind as OpenStreetMap tags it: restaurant, fast_food, cafe, bar, pub,\nbiergarten, ice_cream, food_court, bakery or pastry.",
"type": "string"
},
"lat": {
"format": "double",
"type": "number"
},
"lon": {
"format": "double",
"type": "number"
},
"name": {
"type": "string"
},
"open_now": {
"description": "Open right now by its opening hours (Vienna's time); null when bissl can't read them.",
"type": [
"boolean",
"null"
]
},
"price_level": {
"description": "\"€\" to \"€€€€\" from its menu's prices; null while bissl doesn't know.",
"type": [
"string",
"null"
]
},
"slug": {
"description": "bissl's name for the place: what `/v1/venues/{slug}` and `get_venue` take.",
"type": "string"
},
"url": {
"description": "Its page on bissl, with every menu: link to it.",
"type": "string"
}
},
"required": [
"slug",
"name",
"kind",
"cuisines",
"lat",
"lon",
"url"
],
"type": "object"
},
"PlaceDishes": {
"description": "A place and its dishes in an answer: the dishes a search found there, or its lunch.",
"properties": {
"dishes": {
"description": "In the answer's order.",
"items": {
"$ref": "#/$defs/Dish"
},
"type": "array"
},
"more_dishes": {
"description": "More of them there, on its page.",
"format": "int64",
"type": "integer"
},
"place": {
"$ref": "#/$defs/Place"
},
"served": {
"description": "When its lunch is served, as its menu says: \"11:00–14:30\". Lunch only; null otherwise.",
"type": [
"string",
"null"
]
}
},
"required": [
"place",
"dishes",
"more_dishes"
],
"type": "object"
},
"Price": {
"description": "A price of a dish: one per size or variant.",
"properties": {
"note": {
"description": "What it is for, when the menu says: a size or a variant (\"0,5 l\", \"klein\").",
"type": "string"
},
"price": {
"description": "As the venue page writes it: \"12,90 €\".",
"type": [
"string",
"null"
]
},
"price_cents": {
"description": "In euro cents; null when the menu names a size without a price.",
"format": "int64",
"type": [
"integer",
"null"
]
}
},
"required": [
"note"
],
"type": "object"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_lunch_menus(bbox, cuisine, day, diet, free_of, ...)
The lunch menus (Mittagsmenüs) served today - or another day of this week - with every dish and its price, near a point or in a map area; with `q`, only the lunch dishes matching it ("schnitzel", "suppe").
Eingabe-Schema
{
"type": "object",
"properties": {
"bbox": {
"description": "Keep to a map area: \"west,south,east,north\" in degrees - a town, a district, the\nstreets around a place. Everywhere when left out.",
"type": [
"string",
"null"
]
},
"cuisine": {
"description": "Only at places of this cuisine, as OpenStreetMap names it: \"italian\", \"vietnamese\".",
"type": [
"string",
"null"
]
},
"day": {
"description": "\"2026-10-20\": another day of this lunch week, Monday to Sunday (at the weekend, the\ncoming week's too). Today when left out; open_now only counts today.",
"format": "date",
"type": [
"string",
"null"
]
},
"diet": {
"anyOf": [
{
"$ref": "#/$defs/ApiDiet"
},
{
"type": "null"
}
],
"description": "Only dishes of this diet: vegan, or vegetarian (vegan dishes included)."
},
"free_of": {
"description": "Only dishes whose menu lists their allergens and none of these letters: \"A\" gluten,\n\"G\" milk, \"AG\" both.",
"type": [
"string",
"null"
]
},
"lang": {
"anyOf": [
{
"$ref": "#/$defs/ApiLang"
},
{
"type": "null"
}
],
"description": "The language of dish names, descriptions and section titles: de, the menus' own, or\nen, as bissl translated them."
},
"lat": {
"description": "The latitude of a point - the user's, or one they name - to measure distances from\nand sort nearest first; with `lon`.",
"format": "double",
"type": [
"number",
"null"
]
},
"limit": {
"description": "Places to answer with: 1 to 30, 10 when left out.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"lon": {
"description": "The longitude of that point; with `lat`.",
"format": "double",
"type": [
"number",
"null"
]
},
"max_price": {
"description": "Only dishes costing at most this much, in whole euros.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"min_price": {
"description": "Only dishes costing at least this much, in whole euros.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"offset": {
"description": "Places to skip, for the next ones: 0 when left out.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"open_now": {
"description": "Only places open right now.",
"type": [
"boolean",
"null"
]
},
"q": {
"description": "Words a dish must match, as people say them, German or English: \"schnitzel\", \"vegan\ncurry\", \"glutenfreie pizza\". A diet, allergens or a cuisine among them are taken as\nfilters; misspelt German words are put right when that finds something.",
"type": [
"string",
"null"
]
},
"sort": {
"anyOf": [
{
"$ref": "#/$defs/LunchSort"
},
{
"type": "null"
}
],
"description": "The order of the places."
}
},
"$defs": {
"ApiDiet": {
"description": "A diet as a menu marks a dish, or the dish's name says it.",
"oneOf": [
{
"enum": [
"vegan"
],
"type": "string"
},
{
"const": "vegetarian",
"description": "Vegetarian, vegan dishes included.",
"type": "string"
}
]
},
"ApiLang": {
"description": "The language dish names, descriptions and section titles come in: the menus' own\nGerman, or English as bissl translated them.",
"enum": [
"de",
"en"
],
"type": "string"
},
"LunchSort": {
"oneOf": [
{
"enum": [
"name"
],
"type": "string"
},
{
"const": "recommended",
"description": "The most useful lunches first: with prices, at places open for lunch.",
"type": "string"
},
{
"const": "distance",
"description": "Nearest to `lat`, `lon` first - the order whenever they are given, unless another.",
"type": "string"
},
{
"const": "price",
"description": "The cheapest dish first.",
"type": "string"
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"attribution": {
"type": "string"
},
"corrected": {
"description": "The words put right when they found nothing as typed: \"schnitzel\" for \"schnitzl\".",
"type": [
"string",
"null"
]
},
"cuisine": {
"type": [
"string",
"null"
]
},
"day": {
"description": "The day the lunch menus are for.",
"format": "date",
"type": "string"
},
"diet": {
"anyOf": [
{
"$ref": "#/$defs/ApiDiet"
},
{
"type": "null"
}
],
"description": "The filters in effect, asked for or taken from the words."
},
"free_of": {
"type": [
"string",
"null"
]
},
"note": {
"description": "Why there is nothing, when there is a reason to say.",
"type": [
"string",
"null"
]
},
"places": {
"description": "Each with its whole lunch that day - the dishes matching `q`, when it was given.",
"items": {
"$ref": "#/$defs/PlaceDishes"
},
"type": "array"
},
"searched": {
"description": "The words the dishes match, once a diet, allergens or a cuisine among them were taken\nas filters; null for none.",
"type": [
"string",
"null"
]
},
"total_dishes": {
"format": "int64",
"type": "integer"
},
"total_places": {
"description": "Places serving lunch and their dishes, of which `places` holds `limit` from `offset` on.",
"format": "int64",
"type": "integer"
}
},
"required": [
"day",
"total_places",
"total_dishes",
"places",
"attribution"
],
"$defs": {
"ApiDiet": {
"description": "A diet as a menu marks a dish, or the dish's name says it.",
"oneOf": [
{
"enum": [
"vegan"
],
"type": "string"
},
{
"const": "vegetarian",
"description": "Vegetarian, vegan dishes included.",
"type": "string"
}
]
},
"Dish": {
"description": "A dish or drink on a menu, the same in every answer.",
"properties": {
"allergens": {
"description": "The allergen letters its menu lists, by the Austrian codes (A gluten, B\ncrustaceans, C egg, D fish, E peanuts, F soy, G milk, H nuts, L celery, M mustard,\nN sesame, O sulphites, P lupin, R molluscs); null when the menu lists none for it,\nwhich is no promise it has none.",
"type": [
"string",
"null"
]
},
"checked_on": {
"description": "The day its menu was last read from the venue's website.",
"format": "date",
"type": [
"string",
"null"
]
},
"description": {
"type": "string"
},
"diet": {
"anyOf": [
{
"$ref": "#/$defs/ApiDiet"
},
{
"type": "null"
}
],
"description": "Vegan or vegetarian as the menu marks it or its name says; null when neither."
},
"id": {
"description": "bissl's id of the dish on its menu.",
"format": "int64",
"type": "integer"
},
"name": {
"type": "string"
},
"prices": {
"description": "One per size or variant; none when the menu gives no price.",
"items": {
"$ref": "#/$defs/Price"
},
"type": "array"
},
"served_on": {
"description": "The day a lunch dish is served on; null for what the place always serves.",
"format": "date",
"type": [
"string",
"null"
]
},
"url": {
"description": "The venue's bissl page with this dish marked.",
"type": "string"
}
},
"required": [
"id",
"name",
"description",
"prices",
"url"
],
"type": "object"
},
"Place": {
"description": "A place to eat or drink, the same in every answer.",
"properties": {
"address": {
"description": "Street, house number, postcode and town; null when bissl has none.",
"type": [
"string",
"null"
]
},
"area": {
"description": "Its district or town, to say where it is: \"7. Neubau\", \"Mödling\"; null outside every\ntown bissl knows. No filter takes it.",
"type": [
"string",
"null"
]
},
"cuisines": {
"description": "Its cuisines as OpenStreetMap names them: austrian, italian, pizza, vietnamese...",
"items": {
"type": "string"
},
"type": "array"
},
"distance_m": {
"description": "Metres from the point asked about (`lat`, `lon`), when one was given.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"kind": {
"description": "Its kind as OpenStreetMap tags it: restaurant, fast_food, cafe, bar, pub,\nbiergarten, ice_cream, food_court, bakery or pastry.",
"type": "string"
},
"lat": {
"format": "double",
"type": "number"
},
"lon": {
"format": "double",
"type": "number"
},
"name": {
"type": "string"
},
"open_now": {
"description": "Open right now by its opening hours (Vienna's time); null when bissl can't read them.",
"type": [
"boolean",
"null"
]
},
"price_level": {
"description": "\"€\" to \"€€€€\" from its menu's prices; null while bissl doesn't know.",
"type": [
"string",
"null"
]
},
"slug": {
"description": "bissl's name for the place: what `/v1/venues/{slug}` and `get_venue` take.",
"type": "string"
},
"url": {
"description": "Its page on bissl, with every menu: link to it.",
"type": "string"
}
},
"required": [
"slug",
"name",
"kind",
"cuisines",
"lat",
"lon",
"url"
],
"type": "object"
},
"PlaceDishes": {
"description": "A place and its dishes in an answer: the dishes a search found there, or its lunch.",
"properties": {
"dishes": {
"description": "In the answer's order.",
"items": {
"$ref": "#/$defs/Dish"
},
"type": "array"
},
"more_dishes": {
"description": "More of them there, on its page.",
"format": "int64",
"type": "integer"
},
"place": {
"$ref": "#/$defs/Place"
},
"served": {
"description": "When its lunch is served, as its menu says: \"11:00–14:30\". Lunch only; null otherwise.",
"type": [
"string",
"null"
]
}
},
"required": [
"place",
"dishes",
"more_dishes"
],
"type": "object"
},
"Price": {
"description": "A price of a dish: one per size or variant.",
"properties": {
"note": {
"description": "What it is for, when the menu says: a size or a variant (\"0,5 l\", \"klein\").",
"type": "string"
},
"price": {
"description": "As the venue page writes it: \"12,90 €\".",
"type": [
"string",
"null"
]
},
"price_cents": {
"description": "In euro cents; null when the menu names a size without a price.",
"format": "int64",
"type": [
"integer",
"null"
]
}
},
"required": [
"note"
],
"type": "object"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}🟢search_venues(bbox, cuisine, has_menu, kind, lang, ...)
Places to eat and drink: by name, kind, cuisine, map area or nearness, open now, with a menu, serving lunch today.
Eingabe-Schema
{
"type": "object",
"properties": {
"bbox": {
"description": "Keep to a map area: \"west,south,east,north\" in degrees - a town, a district, the\nstreets around a place. Everywhere when left out.",
"type": [
"string",
"null"
]
},
"cuisine": {
"description": "Only at places of this cuisine, as OpenStreetMap names it: \"italian\", \"vietnamese\".",
"type": [
"string",
"null"
]
},
"has_menu": {
"description": "Only places whose menu with prices bissl read.",
"type": [
"boolean",
"null"
]
},
"kind": {
"description": "Its kind as OpenStreetMap tags it: restaurant, fast_food, cafe, bar, pub,\nbiergarten, ice_cream, food_court, bakery or pastry.",
"type": [
"string",
"null"
]
},
"lang": {
"anyOf": [
{
"$ref": "#/$defs/ApiLang"
},
{
"type": "null"
}
],
"description": "The language of dish names, descriptions and section titles: de, the menus' own, or\nen, as bissl translated them."
},
"lat": {
"description": "The latitude of a point - the user's, or one they name - to measure distances from\nand sort nearest first; with `lon`.",
"format": "double",
"type": [
"number",
"null"
]
},
"limit": {
"description": "Places to answer with: 1 to 30, 10 when left out.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"lon": {
"description": "The longitude of that point; with `lat`.",
"format": "double",
"type": [
"number",
"null"
]
},
"lunch_today": {
"description": "Only places serving a lunch menu today.",
"type": [
"boolean",
"null"
]
},
"offset": {
"description": "Places to skip, for the next ones: 0 when left out.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"open_now": {
"description": "Only places open right now.",
"type": [
"boolean",
"null"
]
},
"q": {
"description": "Words to search for among the places: part of a name - \"figlm\" finds Figlmüller.",
"type": [
"string",
"null"
]
},
"sort": {
"anyOf": [
{
"$ref": "#/$defs/VenueSort"
},
{
"type": "null"
}
],
"description": "The order of the places."
}
},
"$defs": {
"ApiLang": {
"description": "The language dish names, descriptions and section titles come in: the menus' own\nGerman, or English as bissl translated them.",
"enum": [
"de",
"en"
],
"type": "string"
},
"VenueSort": {
"oneOf": [
{
"enum": [
"name"
],
"type": "string"
},
{
"const": "recommended",
"description": "The most useful places first: with a menu, prices, photos, open now.",
"type": "string"
},
{
"const": "price",
"description": "The cheapest price level first.",
"type": "string"
},
{
"const": "distance",
"description": "Nearest to `lat`, `lon` first - the order whenever they are given, unless another.",
"type": "string"
}
]
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"attribution": {
"type": "string"
},
"cuisine": {
"description": "The cuisine kept to, when one was asked for.",
"type": [
"string",
"null"
]
},
"note": {
"description": "Why there is nothing, when there is a reason to say.",
"type": [
"string",
"null"
]
},
"places": {
"items": {
"$ref": "#/$defs/PlaceListing"
},
"type": "array"
},
"total_places": {
"description": "Places matching, of which `places` holds `limit` from `offset` on.",
"format": "int64",
"type": "integer"
}
},
"required": [
"total_places",
"places",
"attribution"
],
"$defs": {
"Place": {
"description": "A place to eat or drink, the same in every answer.",
"properties": {
"address": {
"description": "Street, house number, postcode and town; null when bissl has none.",
"type": [
"string",
"null"
]
},
"area": {
"description": "Its district or town, to say where it is: \"7. Neubau\", \"Mödling\"; null outside every\ntown bissl knows. No filter takes it.",
"type": [
"string",
"null"
]
},
"cuisines": {
"description": "Its cuisines as OpenStreetMap names them: austrian, italian, pizza, vietnamese...",
"items": {
"type": "string"
},
"type": "array"
},
"distance_m": {
"description": "Metres from the point asked about (`lat`, `lon`), when one was given.",
"format": "int64",
"type": [
"integer",
"null"
]
},
"kind": {
"description": "Its kind as OpenStreetMap tags it: restaurant, fast_food, cafe, bar, pub,\nbiergarten, ice_cream, food_court, bakery or pastry.",
"type": "string"
},
"lat": {
"format": "double",
"type": "number"
},
"lon": {
"format": "double",
"type": "number"
},
"name": {
"type": "string"
},
"open_now": {
"description": "Open right now by its opening hours (Vienna's time); null when bissl can't read them.",
"type": [
"boolean",
"null"
]
},
"price_level": {
"description": "\"€\" to \"€€€€\" from its menu's prices; null while bissl doesn't know.",
"type": [
"string",
"null"
]
},
"slug": {
"description": "bissl's name for the place: what `/v1/venues/{slug}` and `get_venue` take.",
"type": "string"
},
"url": {
"description": "Its page on bissl, with every menu: link to it.",
"type": "string"
}
},
"required": [
"slug",
"name",
"kind",
"cuisines",
"lat",
"lon",
"url"
],
"type": "object"
},
"PlaceListing": {
"description": "A place in the list of places.",
"properties": {
"has_menu": {
"description": "bissl read a menu with prices from its website.",
"type": "boolean"
},
"lunch_today": {
"description": "It serves a lunch menu today.",
"type": "boolean"
},
"place": {
"$ref": "#/$defs/Place"
}
},
"required": [
"place",
"has_menu",
"lunch_today"
],
"type": "object"
}
},
"$schema": "https://json-schema.org/draft/2020-12/schema"
}Community
Nachweis