philipfong / auto-vaccine-appointment

Automatically searches for and completes booking of Covid-19 vaccination appointment. New York State only.
13 stars 0 forks source link

Refinement question #1

Closed mountainwest closed 3 years ago

mountainwest commented 3 years ago

Have you considered a version of the tool focused on one specific location? At the page listing all sites, you would opt to select the preferred site, and then the tool would continually refresh the page until a slot became available, taking the first available time on the first available date. This would be helpful for those trying to use this tool to get appointments for their parents proximate to where they live. Thanks for the great work on this.

philipfong commented 3 years ago

Hi there @mountainwest, thank you for the suggestion.

Because each and every vaccine appointment site is so different in their makeup, engineering for something like you suggest would require a huge team of volunteers and quite a lot of time.

For example, here in New York, the NY State and New York City appointment booking websites are vastly different in their design. Just to name a small sample of their elements, this includes the questions involved, buttons available, and the locations themselves. I have only engineered this script for the NY State site and have little plans to work on other sites.

Thanks for taking the time to post to my Github.

Phil

mountainwest commented 3 years ago

Sorry for any confusion.

I was referencing NY specifically: my thought was being able to set the specific vaccination location as, say, Javits Center. The tool would automatically advance to the page for this location (even if at the outset no slots are open at this location, e.g., the message “No Appointments Available” is presented), and continually refresh the location page until an opening pops at that specific location, and then book the first date and time made available. 

Said differently, instead of continually refreshing the page that lists all locations (until one location offers an opening, at which point the tool advances to the page for that location and books an appointment), the tool would immediately progress to the page for the preferred location. Then, on the page for the preferred location, the tool would refresh continually until an opening was presented, after which the tool would book the first date and slot offered.

Hope this clarification makes sense.

philipfong commented 3 years ago

Thanks for clarifying. There's a couple of things that the script does that I did not go into detail on the README page:

  1. The script will look for open appointments for the first 3 listed locations on the site. This number can be changed manually to a number higher or lower than that.
  2. The NYS state website will list the locations in order of distance. Based on my own location out here on Long Island, vaccination sites end up being a few hundred miles away pretty quickly. Like I mention in the README, there are plenty of appointments at SUNY Potsdam for some reason.

This would be helpful for those trying to use this tool to get appointments for their parents proximate to where they live.

Because of the way the site orders the appointment sites, I don't think this will be a problem as long as you input the proper zip code for them.

Thanks for your feedback.

Phil

philipfong commented 3 years ago

On second thought, I think this would be easy to do. I will look at adding another const for preferred vaccination site.

mountainwest commented 3 years ago

I think there is a benefit of efficiency. What I mean by this is that because the tool is refreshing at the location specific page, it is more apt to have success in securing an appointment when one frees up. It is a small difference, but I think it may be consequential given the current dynamics where the only “inventory” of appointments seems to be the random cancellation that frees up a spot.

philipfong commented 3 years ago

@mountainwest this is complete. You can set a value in PREFERRED_LOCATION, and the browser will open that location in a new tab and continually refresh. If it finds something it'll move forward with the normal booking process.