openapi: 3.0.1 info: title: eat-api calendar static API version: '2.1' description: Simple static API for some (student) food places in Munich. servers: - url: https://tum-dev.github.io/eat-api/{language} variables: language: description: For localization the base path may have to be extended by the language. default: '' enum: - '' - en/ tags: - name: static description: Static information regarding canteens, labels and languages paths: /enums/canteens.json: get: summary: To get all available canteens responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Canteen' tags: - static /enums/languages.json: get: summary: To get all available languages responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Language' tags: - static /enums/labels.json: get: summary: To get all available labels responses: '200': description: successful operation content: application/json: schema: type: array items: $ref: '#/components/schemas/Label' tags: - static components: schemas: Location: type: object description: A location description including the readable address and coordinates properties: address: type: string description: Readable address consisting of street, house number and city example: Boltzmannstraße 19, Garching latitude: type: number example: 48.268132 longitude: type: number example: 11.672263 OpenHoursDay: type: object description: Specifies, a time range for opening hours. The times always have the format properties: start: type: string pattern: ^\d{2}:\d{2} example: 660 end: type: string pattern: ^\d{2}:\d{2} example: 840 Canteen: type: object description: Information about a canteen properties: enum_name: type: string description: Internal identifier for a canteen example: MENSA_GARCHING name: type: string description: Readable name for a canteen example: Mensa Garching location: $ref: '#/components/schemas/Location' canteen_id: type: string description: Identifier for the canteen, as it has to be used for accessing data. example: mensa-garching queue_status: type: string description: URL to another API, where data about the queue length of the canteen can be accessed. Is null, when not available. example: https://mensa.liste.party/api/ open_hours: $ref: '#/components/schemas/OpenHoursWeek' Language: type: object description: A language, that is supported by the API properties: name: type: string description: Identifier of the language example: EN base_url: type: string description: Additional base path that is appended to the base url, in order to access data for this language. Due to backwards compatibility resons the base_url for german is an empty string. example: en/ label: type: string description: Readable name of the language in the given language example: English flag: type: string description: Emoji flag symbol for the language example: 🏴󠁧󠁢󠁥󠁮󠁧󠁿 OpenHoursWeek: type: object description: Specifies the opening hours for a whole working week (mon-fri) properties: mon: $ref: '#/components/schemas/OpenHoursDay' tue: $ref: '#/components/schemas/OpenHoursDay' wed: $ref: '#/components/schemas/OpenHoursDay' thu: $ref: '#/components/schemas/OpenHoursDay' fri: $ref: '#/components/schemas/OpenHoursDay' Label: type: object description: Allergene and ingredient information properties: enum_name: type: string example: VEGETARIAN text: type: object description: Key-value object containing readable labels. The language is given in the key, and is referred to to the name from the language. additionalProperties: type: string example: DE: Vegetarisch EN: vegetarian abbreviation: type: string description: Emoji symbol or short form of a label example: 🌽