{"id":21134249,"url":"https://github.com/okainov/munich-scripts","last_synced_at":"2025-04-09T18:23:19.035Z","repository":{"id":37979078,"uuid":"110892665","full_name":"okainov/munich-scripts","owner":"okainov","description":"Some useful scripts simplifying bureaucracy","archived":false,"fork":false,"pushed_at":"2023-10-13T15:00:15.000Z","size":100,"stargazers_count":199,"open_issues_count":15,"forks_count":34,"subscribers_count":10,"default_branch":"master","last_synced_at":"2025-04-06T05:38:36.139Z","etag":null,"topics":["appointment","germany","hacktoberfest","munich","python","scraper","simple","telegram"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/okainov.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-11-15T22:14:12.000Z","updated_at":"2025-03-17T09:44:21.000Z","dependencies_parsed_at":"2024-11-20T06:26:56.664Z","dependency_job_id":"cc2e12bb-63d0-4703-a134-1c0f034222f9","html_url":"https://github.com/okainov/munich-scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okainov%2Fmunich-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okainov%2Fmunich-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okainov%2Fmunich-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/okainov%2Fmunich-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/okainov","download_url":"https://codeload.github.com/okainov/munich-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248086001,"owners_count":21045250,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["appointment","germany","hacktoberfest","munich","python","scraper","simple","telegram"],"created_at":"2024-11-20T06:25:46.363Z","updated_at":"2025-04-09T18:23:19.012Z","avatar_url":"https://github.com/okainov.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# General\nSome useful scripts simplifying bureaucracy, especially when living in Munich, Germany.\n\n# termin_api.py\nSmall tool to show availability of appointments in different Departments of Munich.\n\nAvailable departments are:\n- [Ausländerbehörde](https://www.muenchen.de/rathaus/Stadtverwaltung/Kreisverwaltungsreferat/Auslaenderwesen.html) (foreign nationals affairs, residence permits, work visas etc.)\n- [Bürgerbüro](https://www.muenchen.de/rathaus/Stadtverwaltung/Kreisverwaltungsreferat/Buergerbuero.html) (civil affairs, residence registration etc.)\n- [Führerscheinstelle](https://www.muenchen.de/rathaus/Stadtverwaltung/Kreisverwaltungsreferat/Verkehr/Fuehrerschein.html) (driver license affairs)\n- [Kfz-Zulassungstelle](https://www.muenchen.de/rathaus/Stadtverwaltung/Kreisverwaltungsreferat/Verkehr/KFZ-Zulassung.html) (motor vehicles affairs, registration, license plate and so on)\n- [Versicherungsamt](https://www.muenchen.de/rathaus/Stadtverwaltung/Kreisverwaltungsreferat/Versicherungsamt.html) (Pension-related stuff, i.e. getting information about your contribution, necessary for NE)\n\n\nPlease note the script **does not perform appointment booking** (see [#4](https://github.com/okainov/munich-scripts/issues/4)), it just tells you current status and allows you to subscribe to a notifier for one week.\n\n## Telegram bot\n\nThere is a Telegram bot at [@MunichTerminBot](https://t.me/MunichTerminBot) using `termin_api.py` functionality. The bot is written using [python-telegram-bot](https://github.com/python-telegram-bot/python-telegram-bot) library. Source code is also in this repo, `tg_bot.py`.\n\n### Development\n\nBy default bot runs as webhook configured for personal web server. For local development it's easier to use polling. In order to get it, just set `DEBUG = True` in one of first lines of the script.\n\n### Bot deployment\n\nBot is hosted on personal web server, running in Docker and automatic deploy from `master` branch of this repo is set, no action should be required.\n\n#### Manual deployment\n\nPre-requisites:\n\n - `TG_TOKEN` environment variable is set in `.env` file\n\n If you want to enable Elastic statistics, then additionally set following variables to non-empty value:\n\n - `ELASTIC_HOST` - hostname where ELK stack is deployed\n - `ELASTIC_USER` - ElasticSearch username\n - `ELASTIC_PASS` - ElasticSearch password\n\n\nCommands for manual deploy\n\n    git pull\n    docker-compose build\n    docker-compose up -d\n    \nShortly after deploy make sure everything is running\n\n    docker-compose logs -f\n\n## Script usage\n\nEdit script content and select what type of appointments you actually need:\n\n    appointments = get_termins(DMV, 'FS Umschreibung Ausländischer FS')\n    # appointments = get_termins(CityHall, 'An- oder Ummeldung - Einzelperson')\n    # appointments = get_termins(ForeignLabor, 'Niederlassungserlaubnis Blaue Karte EU')\n\nRun the script\n\n    python3 termin_api.py\n\nOutput will be printed in the console\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokainov%2Fmunich-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fokainov%2Fmunich-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fokainov%2Fmunich-scripts/lists"}