This application automates looking for a particular type of German 🇩🇪 VISA appointment for Indian 🇮🇳 citizens with selenium. It was written mostly to suit my needs but is easily configurable. It repeatedly checks for the appointment with a tiny delay. When it finds an appointment, it sends an alert via your GMail to your preferred recipient so that an appointment can be booked as soon as possible.
when appointment is found, it sends an email
-
create/login to gmail account and create a new app password for our app
-
create an account at VFS if you haven't yet done so.
-
fill in the values in the
.env
file which would contain important credentials such as:- username, password for logging into the VFS site
- sender's & receiver's email id (to send the alert)
- app password generated above.
Here's how a sample
.env
file looks like:VFS_USERNAME='[email protected]' VFS_PASSWORD='max123' ...
-
Install dependencies.
conda env create -f env_cross_platform.yml
-
Activate conda environment:
conda activate visa
-
run
python appointment_finder.py [--headless] &
- this would run in the background and sends an alert when an empty slot is found, containing the date of the available appointment.
- when provided a
--headless
option, the service runs in the background without GUI (so you won't see a browser opening) - sometimes, it might happen that you're busy and didn't notice your email and by the time you do, the slot was taken.
Hence, this script keeps on running even after finding an appointment (after waiting for a few minutes), so that it keeps checking for new slots all the time.
When you're finally done, do
kill %1
to stop the python program.
This applications needs Firefox browser and geckodriver. It is assumed that the user already has these installed.
This application by default looks for Schengen VISA
for family & friends
at New Delhi - Visa Application Center
. If you want to change it, then before running this application, do the following:
-
login to the website manually and click on
New Booking
. -
In the three drop down menus that are shown, the first one contains the list of visa application centers. At the time of writing this, there're 16 centers.
-
Before you select your visa application center, right click on it & select
inspect
This would open the inspection tool in the browser below. Right click on the highlighted line & Copy theXPath
. -
Replace the option value in the
find_appointment_info
function in the code. These are simply a few items in the list. New Delhi is at12th
position in the list whereas Cochin is at6th
position.E.g., for Cochin, the
XPath
would be.../mat-option[6]/span
. So replace12
(New Delhi) in the original code with6
. -
Do the steps
3-4
for other two drop down menus if they're different from the defaults. -
Follow the instructions in
setup
above.
Good Luck!
I only made this as a cool fun side-project which would solve my own use case. If in case you use this service, I am not liable for any consequences/damages resulting from it whatsoever. The information contained herein is for general information purposes only. You should not rely on this as a basis for making any business, legal or any other decisions. Any reliance you place on this is therefore strictly at your own risk.