An intelligent automation system for securing tee times at Wembley Golf Course, built with Puppeteer and TypeScript.
TeeTimeWith automates the process of booking golf tee times, handling authentication, calendar navigation, and time slot selection. It uses advanced browser automation techniques to maintain a natural, human-like interaction pattern while ensuring reliable bookings.
- Automated login with session persistence
- Intelligent 10-day advance booking calculation
- Smart time slot targeting and selection
- Robust error handling and session management
- Stealth browser automation to prevent detection
- Configurable booking preferences via environment variables
- Node.js 16.x or higher
- NPM 7.x or higher
- Chrome/Chromium browser
- Active Wembley Golf Course membership
Create a .env file in the project root with the following settings:
- email: Your Wembley Golf account email
- password: Your account password
- players: Number of players to book for (1-4)
- slot: Preferred tee time (format: "4:20pm")
- course: Course preference ("OLD Course 18 Holes")
- Clone the repository
- Install dependencies with npm install
- Configure your .env file
- Run npm start to launch the booking system
The system will:
- Authenticate using saved credentials or prompt for login
- Navigate to the booking calendar
- Target the specified date (10 days ahead)
- Select your preferred time slot
- Complete the booking process
- Development mode: npm run dev
- Build project: npm run build
- Start application: npm start
The system implements several security measures:
- Secure credential storage
- Session persistence
- Cookie management
- Git-ignored authentication data
- Language: TypeScript
- Runtime: Node.js
- Automation: Puppeteer with Stealth Plugin
- Authentication: Cookie-based session management
- Browser: Chrome/Chromium
- Run the system before the 6am booking window opens
- Ensure stable internet connection
- Keep Chrome browser updated
- Regularly update saved credentials