GUI / covid-vaccine-spotter

https://www.vaccinespotter.org
MIT License
510 stars 138 forks source link

Integrate Weis, Wegman's Support #66

Closed Zmwang622 closed 3 years ago

Zmwang622 commented 3 years ago

Hi! I'm one of the maintainers of VaccinatePA, a site that crowd-sources PA vaccine availability. Recently we added VaccineSpotter's to our site and have received glowing feedback for the Realtime Availability.

We recently were introduced to VaccCheck [0], which is similar to what VaccineSpotter does but for the large Northeast chains Wegmans and Weis Markets. However, the way VaccCheck works doesn't fit in our workflow (it requires the program to be run on a local machine).

Do you think it could be possible to integrate what they're currently doing into VaccineSpotter?

[0] https://github.com/dinsmoro/VaccCheck

GUI commented 3 years ago

I’ve heard these 2 chains may use the same chatbot as Winn-Dixie, which I’ve recently been looking into (#23). I still need to investigate this more (and also look at this VaccCheck, so thanks for the heads up), but I’m hopeful that if these do all align that we could add all these. 🤞

GUI commented 3 years ago

Weis is now added.

I'm still investigating Wegmans. They maybe have one weird page floating out there (https://c.ateb.com/c7f2e9cb1982412bb53430a84dfd72ad/) that appears to use the same chat system as Weis (EnlivenHealth), but the version at https://www.wegmans.com/covid-vaccine-registration/ uses something else, so that would need to be implemented separately. I think the EnlivenHealth version of Wegmans might be some vestige that's maybe not supposed to be live anymore (I can't find any links to it from the Wegmans site, but it uses the Wegmans logo and the addresses it pulls up are Wegmans locations), but still need to look into all this further.

Zmwang622 commented 3 years ago

Thank you so much! We actually just found this twitter account [0] that seems to be scraping Wegman's website. It seems to be created by @jeffthemaximum, but he doesn't seem to have any public repositories scraping Wegmans. We reached out to him on Twitter, hopefully he responds and can help 🤞

[0] https://twitter.com/paupdates

jeffchenoweth commented 3 years ago

I scrape wegmans PA using: https://c.ateb.com/15f5aede2e3b479b94e35e63c19473dd/

GUI commented 3 years ago

@jeffchenoweth: Thanks! Do you know where you found that link? Or did the Wegmans site used to link there? Or is it just somwhere I'm not seeing on their site? Or does the chat system at https://www.wegmans.com/covid-vaccine-registration/ link to those c.ateb.com URLs if there are appointments? Sorry for so many questions (and if you don't know, obviously no worries), I'm just a little unclear about what the proper source of information for Wegmans is, since https://www.wegmans.com/covid-vaccine-registration/ says there are no appointments for NY, but https://c.ateb.com/c7f2e9cb1982412bb53430a84dfd72ad/ does report current appointments (but I can't actually find this linked to from Wegman's site at all, so I'm not sure if this is still an accurate way to book). Thanks!

GUI commented 3 years ago

Ah, I got the chat system at https://www.wegmans.com/covid-vaccine-registration/ to give me a link to https://c.ateb.com/a0cdfb37d60d4a85ab01641d82efc1dc/ for VA appointments. So I guess I do see how these systems are sort of linked together. Just strange that the NY data seems to be mismatched between the landing screen chat system and the c.ateb.com URL (and this has been the case for a while now), but I guess that's how things go during these times. :)

jeffchenoweth commented 3 years ago

"Or does the chat system at https://www.wegmans.com/covid-vaccine-registration/ link to those c.ateb.com URLs if there are appointments"

^^^ this one. when an appointment is cancelled, they'll show up on the c.ateb.com site even though wegmans.com doesn't have a visible link. my scraper doesn't even parse the returned locations, just texts a small group of vaccine finders when the appointments open up so they can check on their own (sloppy, I know)

GUI commented 3 years ago

Ah, interesting about the cancelled appointments. Thanks for your insight!

Well, since all of these could then be scanned with the EnlivenHealth chat system, then I think this should be pretty easy to add based on the existing EnlivenHealth integrations.

jeffchenoweth commented 3 years ago

I’d be happy to help, but I can’t get the chatbot to respond to my web socket connection request no matter what I try - I have to use puppeteer and scrape the web socket responses there. Way more resource intensive.

GUI commented 3 years ago

Wegmans is now implemented for PA, NY, and VA, which are the only states I've been able to get back c.ateb.com links for. By the looks of their error messages, it sounds like they aren't operating in MD yet, but it seems like there might be scheduling links for NJ and MA if it catch a time when they are open and find those links (unless anyone else happens to already know those links).

@jeffchenoweth: Thanks so much for your insight on this and clearing up my confusion about the different Wegmans chat systems! If you'd like to use the Wegmans data I'm collecting, you're welcome to it here: https://www.vaccinespotter.org/api/ Alternatively, I do have this working directly with web sockets, so if you'd like to inspect any of my code, you're welcome to (https://github.com/GUI/covid-vaccine-spotter/blob/main/src/providers/EnlivenHealth/Socket.js and https://github.com/GUI/covid-vaccine-spotter/blob/main/src/providers/Wegmans/Appointments.js).

jeffchenoweth commented 3 years ago

Thanks - I took a look last night - mine hangs on line 37 of Socket.js upon sending the first message with the urlID - I see no response and a ping timeout when I run it with DEBUG=*. I'm on a different version of node so I'll probably just bag the whole thing and subscribe to the API

GUI commented 3 years ago

@jeffchenoweth: I heard from someone at Wegmans that directing people directly to the appointment tool (c.ateb.com) instead of their screening tool (https://www.wegmans.com/covid-vaccine-registration/) is causing issues, since it's leading to a lot more people registering for appointments that really shouldn't (due to eligibility rules the screening tool helps with) and their staff is having to call and cancel various appointments. So they've asked to only link people to https://www.wegmans.com/covid-vaccine-registration/ and not to the c.ateb.com URLs. I know there's maybe still some mismatched data between these 2 tools in certain cases, but I'm chatting with them to see if there's any better solutions there. But in the meantime, just wanted to share this, since it sounds like the best things we can do to prevent extra burden on their staff (which I feel terrible about!) is to only link to people to https://www.wegmans.com/covid-vaccine-registration/. Anyway, just wanted to give you a heads up in case your tool was also sharing this information more broadly. But it sounds like maybe yours is more private, so maybe this isn't an issue for you.

jeffchenoweth commented 3 years ago

Thanks for the heads up - it’s just for my extended family to get texts for appointments. I’m not a good enough developer to deploy anything useable for the masses 😄

ishk59 commented 3 years ago

@GUI Saw you needed an NJ link, I had this open from a while ago I hope this works. https://c.ateb.com/2f0f142785b8413a85b4bfcf01ca6d35/?ch-id=tok_6jka5vKO8Nvr

Zmwang622 commented 3 years ago

image image

Weis and Wegman's look great! Thank you all so much

jeffthemaximum commented 3 years ago

Hello, I'm just seeing this now, sorry for the delay. As mentioned higher up, I've worked on https://twitter.com/paupdates. Your project looks much better than mine. Am I right in reading that your project supports Wegmans now? If so, I'll post a tweet directing paupdates twitter followers to your site? cc @Zmwang622

Zmwang622 commented 3 years ago

A twitter shoutout would be really great! Our twitter handle is @VaccinatePA and our site is VaccinatePA.org. Thank you 😁😁