├── .DS_Store ├── delivery-window-finder.scpt ├── delivery-window-finder.applescript ├── LICENSE └── README.md /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/HEAD/.DS_Store -------------------------------------------------------------------------------- /delivery-window-finder.scpt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/HEAD/delivery-window-finder.scpt -------------------------------------------------------------------------------- /delivery-window-finder.applescript: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/HEAD/delivery-window-finder.applescript -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Adrian Hertel 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | **Featured on [CNBC](https://www.cnbc.com/2020/04/08/how-to-get-a-amazon-fresh-whole-foods-delivery-timeslot.html)** 2 | 3 | #### Quick Links 4 | - [Download & Instructions](#instructions) 5 | - [Disclaimer about 'disappearing' slots](#disclaimer-about-disappearing-slots) 6 | - [Questions/feedback/issues](https://github.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/issues) 7 | - [Track bugs/enhancements](https://github.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/projects) 8 | - [Supporting me/Donations](#supporting-medonations) 9 | 10 | # Amazon Fresh/Whole Foods Delivery Slot Finder 11 | A Mac-only tool that finds available delivery slots for Amazon.com's Whole Foods delivery and Amazon Fresh services. 12 | 13 | ## New Features 14 | * #### New interface - added 4/6/20 15 | * Improve user experiecnce to accompany new features 16 | * #### Text message notifications - added 4/6/20 17 | * You can now get text messages when a slot is found. Added by popular demand, despite limitated utility: If you set the recipient to the same number linked to your Mac's 'Messages' app, you may not be notified on your phone as the texts may be automatically marked as read. Thus it's recommended that you enter a different phone number from the one linked to your 'Messages' app (e.g your google voice number that forwards to your real number, a family member's number, your work cell-phone) 18 | * #### Automatically handle unknown pages - added 4/6/20 19 | * Amazon.com sometimes redirects the URL of the delivery slot page to the Amazon homepage, and previously the tool would require a manual restart. Now it automatically navigates back the delivery slot page whenever an unknown page is encountered. One step closer to this program running without needing any monitoring/intervention 20 | 21 | * #### Auto-ignore out of stock items - added 3/31/20 22 | * Amazon.com displays notices when items in your cart go out of stock. Now the tool can automatically ignore these warnings so it keep looking for slots without your intervention. 23 | 24 | 25 | ## DISCLAIMER about "disappearing" slots 26 | No guarantee that slots will be found and/or that slots will work. Often you will select a slot but the page will refresh and the slot will disappear. These phantom slots are very common and are unfortunately in Amazon's control, not mine. Eventually a slot should work. Some users report success of after 20+ tries. Wishing you resilience and hope! Feel free to post concerns in the [Issues](https://github.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/issues) section. 27 | 28 | ## Instructions 29 | 1. Read the [Compatibility](#compatibility) section below to make sure the tool will work for you 30 | 2. Download the 'delivery-window-finder.scpt' [here](https://github.com/ahertel/wholefoods-delivery-slot-finder/raw/master/delivery-window-finder.scpt) 31 | 3. Enable "Allow JavaScript from Apple Events". [How-to video](https://www.youtube.com/watch?v=S6zb_6yTAbo) 32 | 4. Log into your Amazon account in Safari 33 | 5. Fill your Whole Foods/Amazon Fresh cart with your complete order and proceed through the checkout process manually. Stop once you've arrived at the page saying no slots are available 34 | 6. Open delivery-window-finder.scpt in _Script Editor_ and click the 'Play' button to run it and follow the prompts 35 | ![run button](https://i.imgur.com/kpQee5h.png) 36 | 7. Turn up the volume to hear the notification when a slot is found 37 | 8. Once you receive your order, please consider tipping if you can. They are exposing themselves to risk to protect us. Thanks! 38 | 39 | Notes: 40 | The script will stop running if your computer falls asleep. You can adjust your 'Energy Saver' settings in System Preferences or download [Caffeine app](https://intelliscapesolutions.com/apps/caffeine) to keep your Mac awake. 41 | 42 | ## Compatibility 43 | Currently **not compatible** with Whole Foods orders from primenow.amazon.com. Currently only compatible with Amazon Fresh and Whole Foods orders from amazon.com. Prime Now compatibility may be added eventually. Check [here](https://github.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/issues/23) for any progress. 44 | 45 | **Before using this tool**, ensure that your checkout page looks **exactly** like the examples in the _Compatible_ section below. 46 | This tool currently only works for some regions because Amazon's checkout pages seem to vary based on your location and I designed the tool based on the page I see in my region. 47 | If your checkout page doesn't look like the examples in the _Compatible_ or _Incompatible_ sections below, this tool may still work for you but no guarantees. 48 | 49 | ### Compatible 50 | These are sample screenshots for delivery to a New Jersey address 51 | #### Whole Foods 52 | ![Whole Foods](https://i.imgur.com/r7EQQF6.jpg) 53 | 54 | #### Amazon Fresh 55 | ![Amazon Fresh](https://i.imgur.com/ncVyqQR.jpg) 56 | 57 | ### Incompatible 58 | #### Amazon Fresh 59 | ##### 1. 60 | ![Santa Clara, CA](https://i.imgur.com/SyNtrZs.png) 61 | ##### 2. 62 | ![an unkown city in CA](https://i.imgur.com/PYrO9Il.jpg) 63 | 64 | 65 | ## How it works 66 | - It opens the checkout page in a new window, minimizes it, and then refreshes every ~60 seconds in the background. 67 | - Once it finds an open slot it alerts you by putting a notification on your screen and playing a sound, and opening the checkout page. You can choose to receive text messages when a slot is found 68 | - You can choose to have the tool ignore out of stock notifications and continue searching uninterrupted 69 | - Once you're notified, quickly select a slot and finish checking out because available slots are snagged almost instantly. 70 | 71 | ## Inspiration for this tool 72 | The Coronavirus 2019 pandemic caused a surge in demand for grocery delivery services, making it nearly impossible to find an open delivery slot. My intention in providing this tool is first and foremost help those in need (e.g. at-risk people, health care workers) have an easier time staying safe. The idea came to me when I realized my parents, who both have auto-immune diseases, had been trying unsuccesfully for several days to get grocery delivery slots. 73 | 74 | ## Supporting me/Donations 75 | Thank you so much for wanting to support me! I don't want anything in return for this tool - I'm just happy to be hearing all the stories about how this has helped people, especially those in need. That said, a [few](https://github.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/issues/19) people have wanted to donate. Please consider donating to [GiveDirectly](https://www.givedirectly.org/covid-19/) which directly pays affected families, or one of the [many other charities](https://www.forbes.com/sites/kellyphillipserb/2020/03/21/helping-out-during-the-coronavirus-crisis-where-what--how-to-donate/#6267520350df) addressing COVID-19. 76 | If you'd like to support me directly: I am graduating from Georgetown Undergrad Business School in May and looking for a job opportunities so any introductions or leads would be greatly appreciated. Broadly speaking, I’m interested in the intersection of business/tech, including product management, operations, and business/data analytics. My [resume](https://drive.google.com/open?id=1Cb5uAHjFeg4GOb4Gr7jLkm3Ga9tK1OIT) 77 | 78 | ## Common Issues 79 | - **"Safari got an error: can't get window id"** _Solution:_ Don't quit Safari, or close the window opened and minimized by the script. See [here](https://github.com/ahertel/Amazon-Fresh-Whole-Foods-delivery-slot-finder/issues/18) for more help. 80 | 81 | A copy of the code is also available in .txt format. However, this copy might not be the most up to date version. The .scpt file is the most current and the one you should download if you want to run this tool. 82 | 83 | GitAds 84 | --------------------------------------------------------------------------------