Skip to content
This repository has been archived by the owner on Dec 7, 2022. It is now read-only.

Some Rite Aid locations you can't book despite claiming to have availability #51

Open
GUI opened this issue Mar 9, 2021 · 4 comments
Open

Comments

@GUI
Copy link
Owner

GUI commented Mar 9, 2021

This doesn't seem to affect all Rite Aids, but it at least seems to affect several different ones I've checked in Maryland.

  • We currently hit the checkSlots API endpoint which returns a boolean for whether or not appointments are available. This seems to be what Rite Aid's site uses to determine whether or not to take the user to the calendar page.

  • For several of these locations I've checked, this checkSlots API returns true, indicating appointments should be available. However, if you navigate to Rite Aid's site and try to book an appointment at this location, you run into errors. You are let past the first page after selecting the location, which hits the checkSlots API, but when you land on the calendar page, I just get a spinner that spins forever, along with JavaScript errors being thrown in the console:

    Screen Shot 2021-03-08 at 5 01 54 PM

    In this case checkSlots returns:

    {
      "Data": {
        "slots": {
          "1": true,
            "2": false
        }
      },
      "Status": "SUCCESS",
      "ErrCde": null,
      "ErrMsg": null,
      "ErrMsgDtl": null
    }

    But when on the calendar page, an additional request is made to en.ragetavailableappointmentslots.json, which returns this for these problematic locations:

    {
      "Data": {
        "slots": {
          "1": [],
          "2": []
        }
      },
      "Status": "SUCCESS",
      "ErrCde": null,
      "ErrMsg": null,
      "ErrMsgDtl": null
    }
  • When locations are bookable on Rite Aid, this second en.ragetavailableappointmentslots.json API response returns something with data in the slots, like:

    {
      "Data": {
        "slots": {
          "1": [
            "2021-03-09T13:45:00",
            "2021-03-09T14:36:00",
            "2021-03-09T14:39:00",
            "2021-03-09T14:45:00",
            ...
          ],
          "2": []
        }
      },
      "Status": "SUCCESS",
      "ErrCde": null,
      "ErrMsg": null,
      "ErrMsgDtl": null
    }
  • Ideally we could hit this en.ragetavailableappointmentslots.json API endpoint to get the seemingly more accurate information as well as getting slot times, but unfortunately this API endpoint is protected by recaptcaha, so this is much more difficult/slower to hit.

  • This doesn't affect all locations, so some locations that return true in checkSlots are indeed bookable it would seem. I'm unsure of how many locations this affects, so I'm hesitant to yank any of the data.

So while this seems like maybe more of an issue on Rite Aid's side with a mismatch between checkSlots and en.ragetavailableappointmentslots.json (that even their web app fails to handle gracefully), I just wanted to compile the notes I had so far on this. I'm not really sure there's much that can be done about this without being able to access en.ragetavailableappointmentslots.json (which probably isn't feasible due to recaptcha). In the meantime, hopefully Rite Aid can fix things on their end.

@mattcrwi
Copy link

I'm getting "available" locations in your API but the rite aid website now doesn't let you get past the first page, saying there are no appointments available. It seems they have made a change.

@GUI
Copy link
Owner Author

GUI commented Mar 12, 2021

@mattcrwi: I believe not getting past the first page is a slightly different Rite Aid issue from the past few days

Rite Aid changed its eligibility rules earlier this week in some areas (CA, MI, NYC, PA, NJ, OH, OR, and WA) to only allow educators and childcare workers: https://www.riteaid.com/corporate/news/-/pressreleases/news-room/2021/rite-aid-expands-and-prioritizes-covid-19-vaccine-eligibility-to-teachers-school-staff-and-childcare-providers

So this has meant that any Rite Aid open appointments are only bookable by a different set of people than normal. Unfortunately, Rite Aid has not made this obvious on their web page at all, so I know this has caused a lot of confusion. To try and help, I've updated Vaccine Spotter to try and make this more clear for any Rite Aid appointments that are available (since I still want to show them for people that may be eligible).

Based on Rite Aid's press release, I believe they will go back to allowing appointments by the broader eligibility rules in your state starting again tomorrow (Saturday, March 13). So hopefully tomorrow Rite Aid appointments should be bookable by others again.

There's still potentially this other issue with their website, but I think this bug on their end hopefully affects less people (and if we're lucky, maybe they will have fixed it).

@jeffchenoweth
Copy link

I'm not really sure there's much that can be done about this without being able to access en.ragetavailableappointmentslots.json (which probably isn't feasible due to recaptcha). In the meantime, hopefully Rite Aid can fix things on their end.

To add to this, Rite-Aid has increased their bot threshold on the recaptcha. Can no longer be pulled using puppeteer-stealth either on my home computer or a server.

@ryanwkirby
Copy link

There's something much more strange going on here. I've been monitoring a number of Rite-Aids near me, and appointments will appear to open up for 10 - 20 minutes, then disappear, but they're never bookable on the webpage. (The API responses are exactly as the parent describes.)

My guess is that these are cancellations that are only re-bookable by actual Rite-Aid staff. The large swaths of actually-bookable appointments around me open up for exactly 1 week out, sometime between midnight and 9AM, varying by location.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants