Skip to main content

Finds appointments at the Berlin Bürgeramt, broadcasts them via websockets

Project description

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.

If this tool helped you, make a donation. 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.

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:

# 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. 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, and copy the URL. For example, https://service.berlin.de/dienstleistung/120686/ for the Anmeldung.

3. Run the script

Run this command and follow the instructions on your screen:

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.

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:

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).

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

berlin-appointment-finder-1.0.3.tar.gz (6.2 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file berlin-appointment-finder-1.0.3.tar.gz.

File metadata

File hashes

Hashes for berlin-appointment-finder-1.0.3.tar.gz
Algorithm Hash digest
SHA256 1422c0b4e279edf51a09a9cf9f6391a679ddc4952a59790c9210415216d7776c
MD5 e3b78b3cd106b3c182a1443631b25474
BLAKE2b-256 aeab2c50bd864e865b77b481a23fcd02c641d69c06b913ed997cd11a611559cb

See more details on using hashes here.

File details

Details for the file berlin_appointment_finder-1.0.3-py3-none-any.whl.

File metadata

File hashes

Hashes for berlin_appointment_finder-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 fd9f8a0ff5d3b25036934ad47d1eaa61441b609b8b78b55b1f8731dc110068e7
MD5 867baf7e218b6d11aa693ec1aecde7c9
BLAKE2b-256 c1ef28082313a8de7a31d9238c19bc005498dba1c703c99c4501796b162fdf77

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page