Skip to content

A script that automatically checks for available visa appointment slots for Schengen visa in the Swiss consulate in NY.

License

Notifications You must be signed in to change notification settings

RezwanM/visa_appointment_checker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Visa Appointment Checker

This project allows users to run a script which will continuously check for available visa appointment slots without user intervention. It uses Python and Selenium to perform the automation. As of now, the project can only look for appointment slots for the Schengen visa in the Swiss Consulate of New York City, but support for other consulates is expected to be added in the future. Once started, the application will continue to run till either an appointment slot is found or the user manually interrupts its execution. If a empty slot is found, the user is alerted immediately with a pop-up alert box.

Requirements

  • Python 3.12.9
  • python-dotenv 1.1.0
  • selenium 4.34.2

Setup

The following instructions assume the user has Ubuntu as their local machine's OS. Most instructions should work for other Linux distributions as well, though mileage may vary.

Step 1: Install Python3

Set up Python3 (v3.12.9) on the local machine.

sudo apt update 
sudp apt install python3.12

Step 2: Clone the project

Clone this GitHub repository into the local machine.

git clone --single-branch -b main <project_repo_url> <project_root> 

Step 3: Set up a virtual environment

To resolve project dependencies, install Python3 and the required packages for this project inside a virtual environment.

cd <project_root> 
python3 -m venv .venv 
source .venv/bin/activate
pip install -r requirements.txt

Step 4: Obtain the access token

Fill out the online application form available in the link below using a personal email address. Once submitted, an email should appear in the inbox containing a link to book a visa appointment. The access token can be found in thatcustom URL. https://www.swiss-visa.ch/ivis2/#/i210-select-country

Note: DO NOT share this access token with anyone!

Step 5: Store the access token

Create a file inside the project root directory and store the access token in the file.

touch .env 
echo "ACCESS_TOKEN=<private_access_token>" > .env

Step 6: Run the application

Run the application from the command-line. For quitting the application, press Ctrl+C (keyboard interrupt).

Usage

cd <project_root>
python3 ./main.py

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A script that automatically checks for available visa appointment slots for Schengen visa in the Swiss consulate in NY.

Resources

License

Stars

Watchers

Forks

Languages