Skip to content

We were tired of waiting for covid-restricted reservations to open up so we made this script to automatically reserve Ikon mountain reservations when they became available. ⛷️

Notifications You must be signed in to change notification settings

jjohnson5253/ski-reservation-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

⚠️ Note

This project is out of date. However, it can be used as a starting point for a web scraping app or reservation/purchasing bot 🤖.

⛷️ Description

We were tired of waiting for covid-restricted reservations to open up so we made this script to automatically reserve Ikon mountain reservations when they became available 😎. This project uses python 3 🐍, and selenium.

🎥 Demo

Shows the ikon site being clicked through automatically, the email alert for reservation opening, and reservation confirmation.

🔥 Usage

  • Input reservations you want in the text file datesToReserve.txt, delimited by commas
    • format: [month],[day],[year],[mountain],[email]
    • ie: 3,7,2021,Arapahoe Basin,[email protected]
      • note: if you input the same date but with a different mountain, the script will reserve first one that opens up
  • Make sure the mountain name you input is the exact name used on Ikon site 🏔️
  • Run src/main.py [email] [password] from top directory of project with python3
    • $py src/main.py [email] [password]
  • You can turn off headless mode to watch scraper click through site 👀
    • set HEADLESS to 0 in top of main.py
    • note you might not be able to if you are running on an external server
  • You can change email alert settings in ikonScraperInterface.py
    • set ALERT_ALL_OPENINGS to True if you want to receive alerts on every reservation that becomes open since time of running script
    • comment out emailInterface.sendDateToReserveAlertEmail() if you don't want to receive emails after a reservation is made

🔌 Installation

💻 Windows (roughly same for Mac)

  • install python3
  • install selenium
    • $py -m pip install selenium
    • use equivalent command for Mac ^
  • install chrome
  • install chrome driver for the version of chrome you have (86/87/88/etc) and system you are using (windows/mac)
  • add chromedriver file to PATH or put in top directory of this project

💻 Ubuntu

  • install python3
    • $sudo apt-get install python3
  • install pip
    • $sudo apt-get install python3-pip
  • install selenium for python
    • $py -m pip3 install selenium
  • install selenium and chrome driver for web server (just run this even if not using server)
  • install chrome
    • $sudo apt-get install libxss1 libappindicator1 libindicator7
    • $wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
    • $sudo apt install ./google-chrome*.deb
  • remove junk files
    • $rm selenium-server-standalone-3.13.0.jar
    • $rm chromedriver_linux64
    • $rm testng-6.8.7.jar
    • $rm testng-6.8.7.jar.zip

Created by Jake Johnson 🏂 and Preston Windfeldt ⛷️

Special thanks to Anthony Cudzinovica and Alex Hirst 😀

About

We were tired of waiting for covid-restricted reservations to open up so we made this script to automatically reserve Ikon mountain reservations when they became available. ⛷️

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages