Giter Site home page Giter Site logo

us-visa-appointment's Introduction

What is this?

This is a small puppeteer script that can be used to find and schedule an earlier US consulate appointment for US Visa in Canada and other countries. You must have an appointment made manually before using this script.

This might be able to used for other countries by finding the consular ids mentioned below for that specific country.

Prerequisites

  1. Download and install Node.JS LTS 16.14.2 from https://nodejs.org/en/download/ for whatever OS you are using
  2. Open command line/terminal window and type in following
    1. npm install puppeteer --save
    2. npm install minimist --save
    3. npm install axios --save
  3. Install Pushover Notifications app from App Store/Google Play if you would like to have push notifications when a date is found

Usage

Open command line or terminal window and navigate to the folder usappointment.js. Type in below code with updated arguments from command line arguments section.

Mac/Linux:

node usappointment.js -r 'ca' -d '2022-06-22' -u 'username' -p 'password' -a 359734258 -c 95 -t 120 -n 'pu5hov3ru53rk3y'

Windows:

node usappointment.js -r "ca" -d "2022-06-22" -u "username" -p "password" -a 359734258 -c 95 -t 120 -n "pu5hov3ru53rk3y"

Command line arguments

-r Country code (ISO-3166 Alpha-2 code https://en.wikipedia.org/wiki/List_of_ISO_3166_country_codes). Canada (ca), United States (us)

-d Threshold date to look for earlier appointments. Format: YYYY-MM-DD

-u Username

-p Password

-a Application id. This needs to be grabbed from the url when you navigate to Reschedule Appointment page. Example: https://ais.usvisa-info.com/en-ca/niv/schedule/32943478/appointment

-c Consular id. Halifax 90, Montreal 91, Ottowa 92, Quebec City 93, Toronto 94, Vancouver is 95 for Canada. You can find ids for other consulates from the dropdown values in the appointment page.

-t Retry timeout in seconds. Keep this above 120 seconds to make sure you are not getting temporarily banned from receiving available dates

-n Pushover User Key from Pushover Notifications app. Do not provide this argument if you don't want to receive notifications.

-g Use this argument without any value if your application consists more than one person

Tips

Comment line 100 and uncomment line 102 in usappointment.js to see puppeteer in action

us-visa-appointment's People

Contributors

daydos avatar shubhambeta avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

us-visa-appointment's Issues

Unable to execute the script

When i try to execute the node usappointment.js in the terminal am not getting any response.Can anyone help me out

(node:7754) MaxListenersExceededWarning: Possible EventEmitter memory leak detected.

(node:7754) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 exit listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(Use node --trace-warnings ... to show where the warning was created)
(node:7754) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGINT listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:7754) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGTERM listeners added to [process]. Use emitter.setMaxListeners() to increase limit
(node:7754) MaxListenersExceededWarning: Possible EventEmitter memory leak detected. 11 SIGHUP listeners added to [process]. Use emitter.setMaxListeners() to increase limit

appointment check

I have a request like this. I have 3 accounts. I want to check with two accounts to make an appointment only on the dates I want. If found, I want an appointment with the account I want. How can we do this?
Because if we do it with a single account, it gets banned. There are other accounts that I have. I want to use it so that it does not get banned.

Group Rescheduling?

Will it support group booking - with more than one person in the appointment ?

module not found

while executing the code I get this:

ode:internal/modules/cjs/loader:1147
throw err;
^

Error: Cannot find module '/Users/aj/usappointment.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
at Module._load (node:internal/modules/cjs/loader:985:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
at node:internal/main/run_main_module:28:49 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}

ASC APPOINTMENT

The program does not select the data from the ASC APPOINTMENT section (appointment date and appointment time) so when you press the reschedule button it does not take the appointment and the browser closes.
HELP ME PLEASE!
@daydos

Script isn't working anymore?

After the script is executed, it launches Chrome, and the login page, email ID, and pass get entered, and then nothing happens after that. After a timeout, a new Chrome window gets launched, and the same keeps on repeating.

How exactly does this script work or I should use it?

I am a rookie.

Good Morning Gentleman and Ladies,
I am a rookie and i have tried every possible way to run this command.
But i am unsuccessful at all attempts.
Can someone please assist.
My personal email is [email protected]
Thanks

Facility is not valid

I get the following prompt in the page after the code run. I am using consular ID 96 for Bogota, Colombia consulate, however, I don't find if this is the accurate consular ID anywhere. Could someone help me?
{"message":"Facility is not valid","error":"bad_request"}

Stuck at Puppeteer warning

Hi,
I am trying it for the first time. I started with installing the required npm packages and then ran the command. It seems to be stuck at the warning. I am attaching the screenshot for your reference. Any help would be appreciated!

Screen Shot 2023-12-14 at 9 33 09 AM

Found a date but didn't booked it

Hello and Good Afternoon,

Yesterday I got a notification on Pushover twice, that an earlier date was found. However, the script didn't book that date.

I had given a 600s flag for time, which is every 10m, it gave me a notification twice, so I assume we got a window of 15-20m, and it still didn't book the date, are there any layout changes from the official site?

Is there any way I could test this and try to fix it?

No Permission

Script runs till reschedule and then it says that you do not have permission to access this account. Any idea how to solve this?

optimize rescheduling speed

Hi,

I am not able to reschedule any appointment, whenever the script find an appointment and try to book it, it is never able too because it will be already booked. Is it possible to optimize the script to and make it faster in booking?

Thanks
alkhafaf

Docker support

Hi, first of all thanks for creating this script.

I am not much familiar with node but is it possible to run this in a container?

incorrect Date getting booked when early date found @daydos

For example,
I have run script using Threshold date 2023 Aug 30 but during running face script found date on 18 March 2023 so script has booked the date but when I got the email from the embassy date booked for 18 Oct 2024. If you could find bug, please let us know. I have checked the script and inspect the code on browser there is no change in class, id, and DOM tree.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.