berlin-appointment-finder


Nameberlin-appointment-finder JSON
Version 1.1.0 PyPI version JSON
download
home_pagehttps://github.com/nicbou/burgeramt-appointments-websockets
SummaryFinds appointments at the Berlin Bürgeramt, broadcasts them via websockets
upload_time2024-02-09 08:26:35
maintainer
docs_urlNone
authorNicolas Bouliane
requires_python>=3.10
licenseMIT
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # Bürgeramt appointment finder

This server looks for Bürgeramt appointment every few seconds. You can make it look for any kind of appointment.

This is the code behind All About Berlin's [Bürgeramt appointment finder](https://allaboutberlin.com/tools/appointment-finder).

If this tool helped you, [make a donation](https://allaboutberlin.com/donate). Building things for Berliners is my full time job.

## What this tool does

This tool looks for appointments on service.berlin.de every 3 minutes. When it finds an appointment, it makes a sound. It can be used as a command line tool, or as the backend for a [web-based tool](https://allaboutberlin.com/tools/appointment-finder).

This tool can't book the appointment for you. It can't look for Ausländerbehörde appointments. These features will not be implemented.

## Setup

### 1. Install the script

Run this command in your terminal:

```bash
# It might be called 'pip3' on your computer
pip install berlin-appointment-finder
```

You need Python 3 on your computer. If you have macOS or Linux, you already have it. If you have Windows, you're on your own.

If you get a `error: legacy-install-feature`, try some of the [solutions listed here](https://sebhastian.com/python-error-legacy-install-failure/). Do not open an issue; the problem is not related to this project.

### 2. Find the appointment type you need

Pick a service from the [list of services on Berlin.de](https://service.berlin.de/dienstleistungen/), and copy the URL. For example, `https://service.berlin.de/dienstleistung/120686/` for the *[Anmeldung](https://allaboutberlin.com/glossary/Anmeldung)*.

### 3. Run the script

Run this command and follow the instructions on your screen:

```bash
appointments
```

The script will check Berlin.de every 3 minutes. When it finds appointments, it lists them. Just keep an eye on the terminal. It will also emit a sound.

### Updating the script

If you have an older version of the script, update it with this command:

```
pip install --upgrade berlin-appointment-finder
```

## Instructions for nerds

This script can be configured with command line arguments or environment variables.

Type `appointments --help` to see available command line arguments.

These are the available environment variables:

```bash
BOOKING_TOOL_EMAIL=your@email.com
BOOKING_TOOL_ID=johnsmith-dev
BOOKING_TOOL_URL=https://service.berlin.de/dienstleistung/120686/
```

The script broadcasts broadcasts the appointments it finds with websockets. By default, it broadcasts them on port 80.

A Dockerfile is supplied in this repo. It's the same one I use on All About Berlin.

The polling rate is limited to 180 seconds (3 minutes), as required by the Berlin.de IKT-ZMS team (ikt-zms@seninnds.berlin.de).

### Local development

To work on this script, install it with `pip install -e /path/to/this/repo`. When you run `appointments`, it will run your local version with any changes you have made to it. You only need to run this command once.

## FAQ

### Can you make it work with Ausländerbehörde appointments?

No. It's not possible due to rate-limiting by Berlin.de. [You probably don't need an Ausländerbehörde appointment](https://allaboutberlin.com/guides/berlin-auslanderbehorde-appointment) anyway.

### I get an HTTP 418 response

This means that Berlin.de is blocking you as a bot. There is nothing I can do to fix this problem.

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/nicbou/burgeramt-appointments-websockets",
    "name": "berlin-appointment-finder",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "",
    "author": "Nicolas Bouliane",
    "author_email": "contact@nicolasbouliane.com",
    "download_url": "https://files.pythonhosted.org/packages/41/01/ad04fe90363de73f2fee5d5c4d2019d9029ffd6ef8eaee49de124c260b81/berlin-appointment-finder-1.1.0.tar.gz",
    "platform": null,
    "description": "# B\u00fcrgeramt appointment finder\n\nThis server looks for B\u00fcrgeramt appointment every few seconds. You can make it look for any kind of appointment.\n\nThis is the code behind All About Berlin's [B\u00fcrgeramt appointment finder](https://allaboutberlin.com/tools/appointment-finder).\n\nIf this tool helped you, [make a donation](https://allaboutberlin.com/donate). Building things for Berliners is my full time job.\n\n## What this tool does\n\nThis tool looks for appointments on service.berlin.de every 3 minutes. When it finds an appointment, it makes a sound. It can be used as a command line tool, or as the backend for a [web-based tool](https://allaboutberlin.com/tools/appointment-finder).\n\nThis tool can't book the appointment for you. It can't look for Ausl\u00e4nderbeh\u00f6rde appointments. These features will not be implemented.\n\n## Setup\n\n### 1. Install the script\n\nRun this command in your terminal:\n\n```bash\n# It might be called 'pip3' on your computer\npip install berlin-appointment-finder\n```\n\nYou need Python 3 on your computer. If you have macOS or Linux, you already have it. If you have Windows, you're on your own.\n\nIf you get a `error: legacy-install-feature`, try some of the [solutions listed here](https://sebhastian.com/python-error-legacy-install-failure/). Do not open an issue; the problem is not related to this project.\n\n### 2. Find the appointment type you need\n\nPick a service from the [list of services on Berlin.de](https://service.berlin.de/dienstleistungen/), and copy the URL. For example, `https://service.berlin.de/dienstleistung/120686/` for the *[Anmeldung](https://allaboutberlin.com/glossary/Anmeldung)*.\n\n### 3. Run the script\n\nRun this command and follow the instructions on your screen:\n\n```bash\nappointments\n```\n\nThe script will check Berlin.de every 3 minutes. When it finds appointments, it lists them. Just keep an eye on the terminal. It will also emit a sound.\n\n### Updating the script\n\nIf you have an older version of the script, update it with this command:\n\n```\npip install --upgrade berlin-appointment-finder\n```\n\n## Instructions for nerds\n\nThis script can be configured with command line arguments or environment variables.\n\nType `appointments --help` to see available command line arguments.\n\nThese are the available environment variables:\n\n```bash\nBOOKING_TOOL_EMAIL=your@email.com\nBOOKING_TOOL_ID=johnsmith-dev\nBOOKING_TOOL_URL=https://service.berlin.de/dienstleistung/120686/\n```\n\nThe script broadcasts broadcasts the appointments it finds with websockets. By default, it broadcasts them on port 80.\n\nA Dockerfile is supplied in this repo. It's the same one I use on All About Berlin.\n\nThe polling rate is limited to 180 seconds (3 minutes), as required by the Berlin.de IKT-ZMS team (ikt-zms@seninnds.berlin.de).\n\n### Local development\n\nTo work on this script, install it with `pip install -e /path/to/this/repo`. When you run `appointments`, it will run your local version with any changes you have made to it. You only need to run this command once.\n\n## FAQ\n\n### Can you make it work with Ausl\u00e4nderbeh\u00f6rde appointments?\n\nNo. It's not possible due to rate-limiting by Berlin.de. [You probably don't need an Ausl\u00e4nderbeh\u00f6rde appointment](https://allaboutberlin.com/guides/berlin-auslanderbehorde-appointment) anyway.\n\n### I get an HTTP 418 response\n\nThis means that Berlin.de is blocking you as a bot. There is nothing I can do to fix this problem.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "Finds appointments at the Berlin B\u00fcrgeramt, broadcasts them via websockets",
    "version": "1.1.0",
    "project_urls": {
        "Homepage": "https://github.com/nicbou/burgeramt-appointments-websockets"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "38c9ef48d384866775e34f95fb77671e75980af42f3e244348aa3616f3fd5328",
                "md5": "aa805e4c3108447b9ff888ecdb7bfdbb",
                "sha256": "70fe664624ea4874f4a0736086d2dd21012b8fff81a6300503eb985306e0feaa"
            },
            "downloads": -1,
            "filename": "berlin_appointment_finder-1.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "aa805e4c3108447b9ff888ecdb7bfdbb",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 7142,
            "upload_time": "2024-02-09T08:26:33",
            "upload_time_iso_8601": "2024-02-09T08:26:33.793997Z",
            "url": "https://files.pythonhosted.org/packages/38/c9/ef48d384866775e34f95fb77671e75980af42f3e244348aa3616f3fd5328/berlin_appointment_finder-1.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4101ad04fe90363de73f2fee5d5c4d2019d9029ffd6ef8eaee49de124c260b81",
                "md5": "fc3e40d2ac7c0b2c9f30d89ff48e39cd",
                "sha256": "dcd8ccd0a691a30b33beabcda33c64e4d4f2d223deff375ef81069b787aa6c32"
            },
            "downloads": -1,
            "filename": "berlin-appointment-finder-1.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "fc3e40d2ac7c0b2c9f30d89ff48e39cd",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 6501,
            "upload_time": "2024-02-09T08:26:35",
            "upload_time_iso_8601": "2024-02-09T08:26:35.180896Z",
            "url": "https://files.pythonhosted.org/packages/41/01/ad04fe90363de73f2fee5d5c4d2019d9029ffd6ef8eaee49de124c260b81/berlin-appointment-finder-1.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-09 08:26:35",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "nicbou",
    "github_project": "burgeramt-appointments-websockets",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": false,
    "lcname": "berlin-appointment-finder"
}
        
Elapsed time: 0.18109s