VacCoWIN - Book CoWIN Slots directly from your Terminal...
Tags: codenewbie, productivity, beginners, python
Published: 2021-05-20 17:30:08

## Introduction

**[CoWIN Portal](https://www.cowin.gov.in/home)** is used to self-register yourself for the **Vaccination** process in India. Here you can register yourself with your Phone Number and avail a slot from the available slots in various Vaccination Centres around the country.

## About

**VacCowin** is a CLI based Python Script that can be used to perform tasks such as OTP Generation till Vaccination Slot Booking from Co-WIN Platform directly from your Terminal.  This script rechecks after every few seconds and when the slots are available, it **confirms the slot only after you enter the captcha shown on the screen.**

Since India has started the Vaccination Drive for those above 18 years of age, there is a very heavy rush and slots get booked soon. This script will come in handy for booking those slots as soon as they open.

**IMPORTANT: This is a Proof of Concept (POC) Project. I OR the Team do NOT endorse or condone, in any shape or form, automating any monitoring/booking tasks. It's only made for Educational Purposes. Use this at your own risk.**

The data used is retrieved using the open APIs at [API Setu](https://apisetu.gov.in/public/marketplace/api/cowin). It works on both Linux and Windows.

{% github dhhruv/Vac-Cowin no-readme %}

## Getting Started

1. Install Python
2. Clone this repository...

```sh
git clone https://github.com/dhhruv/Vac-Cowin.git
```

**OR**
Download the Zip and Extract the content.

3. Install, create and activate virtual environment.
   For instance we create a virtual environment named 'venv'.

```sh
pip install virtualenv
python -m virtualenv venv
venv\Scripts\activate.bat
```

4. Install dependencies

```sh
cd Vac-Cowin
pip install -r requirements.txt
```

{% github dhhruv/Vac-Cowin no-readme %}

## Usage

Will be Updated after Testing...

Check out yourself and send me a Screenshot if found useful...

<!-- CONTRIBUTING -->
## Contributing

Any contributions you make are **greatly appreciated**.

1. Fork the Project
2. Create your Feature Branch (`git checkout -b feature/AmazingFeature`)
3. Commit your Changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the Branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request


<!-- LICENSE -->
## License

Distributed under the MIT License. See `LICENSE` for more information.


### Team Members:

1.  [Dhruv Panchal](https://github.com/dhhruv)
2.  [Urveshkumar Patel](https://github.com/urvesh254)
3.  [Nirja Desai](https://github.com/nirami98)

{% github dhhruv/Vac-Cowin no-readme %}


### Important:

- This is a Proof of Concept Project. **I OR the Team** do NOT endorse or condone, in any shape or form, automating any monitoring/booking tasks. **It's only made for Educational Purposes. Use this at your own risk.**
- This **Python Script CANNOT book slots automatically**. It doesn't skip any of the steps that a User would have to take on the official portal. You will still have to enter the OTP and Captcha as you do in the CoWIN Portal.
- **Do NOT** use unless all the beneficiaries selected are supposed to get the same Vaccine and Dose.
- There is **no option** to Register a new Phone/Mobile or add beneficiaries for now. This can be used only after beneficiary has been added through the official Portal/App.
- Be careful if you're choosing to use the auto-book feature. It will blindly select first available Vaccination **Centre, Date (Both Sorted Ascending) and a RANDOM slot**. I would not recommend using this feature unless and until it's crucial.
- If you accidentally booked a slot you didn't want to then don’t worry. You can always log in to the CoWIN Portal and cancel/re-schedule that.
- **API Details (Do read the first paragraph): https://apisetu.gov.in/public/marketplace/api/cowin/cowin-public-v2**