/berlin-auslaenderbehorde-termin-bot

A simple way to automate booking an appointment at Berlin Ausländerbehörde using java and selenium framework

Primary LanguageJavaGNU Affero General Public License v3.0AGPL-3.0

Berlin Auslaenderbehorde Termin Bot

This application uses Selenium library to automatically detect when an appointment is available at Ausländerbehörde Berlin for the selected visa service. Whenever an available day is found, it beeps.

Prerequisites

  1. In order to run selenium server you will need to install docker first. See Get Docker for more info. After installing the docker run the selenium server as below
docker run \
  -d \
  --name selenium \
  -p 4444:4444 -p 7900:7900\
  --shm-size="2g" \
  -e SE_NODE_MAX_SESSIONS=5 \
  -e SE_NODE_OVERRIDE_MAX_SESSIONS=true \
  -e SE_NODE_SESSION_TIMEOUT=120 \
  -t selenium/standalone-chrome:latest

For MacOS with M1 chip

docker run \
  -d \
  --name selenium \
  -p 4444:4444 -p 7900:7900\
  --shm-size="2g" \
  -e SE_NODE_MAX_SESSIONS=5 \
  -e SE_NODE_OVERRIDE_MAX_SESSIONS=true \
  -e SE_NODE_SESSION_TIMEOUT=120 \
  -t seleniarm/standalone-chromium:latest
  1. Make sure that JDK version in your machine is 17 or higher.
    • Check the java version: java --version.
    • If it is below 17, install a newer version of java.
    • After installation, check again the version with java --version

How to run

  • Fill the personInfoDTO.json file with your personal information.

    • Set the value of the "Country" matching the value of your country in the
    • If you are single, set the value of "isThereFamilyMember": to "2".
    • If you are married, set the value of "isThereFamilyMember": to "1"
    • There is also an example file if you have family.
  • Fill the visaFormTO.json with your visa request.

    • You can also copy-paste from a template that matches your request.
  • Run the application in terminal by ./gradlew run.

    • You will get a sound notification once the bot found available dates.
  • To see what is happening inside the container, head to http://localhost:7900/?autoconnect=1&resize=scale&password=secret.

License

Copyright © since 2022 Yilmaz Naci Aslan and other contributors. (For the full contributors' list, run git shortlog --summary --numbered --email from the root directory of this project.)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

You should have received a copy of the GNU Affero General Public License along with this program. If not, see http://www.gnu.org/licenses/.