Admin

Manage scraping and course configuration

โœ… Course Validation

Per-course health check โ€” run this before and after every change to catch regressions.

Checks tee time availability, scrape recency, booking URL correctness, and scraper-specific rules for each course.

โœ… Open Validation Report โ†— ๐Ÿ“Š Health Dashboard โ†—

๐Ÿงช Run Tests

Checks that all pages load, courses are configured, and tee times exist in the database.

Running tests...

Tee Time Scraper

Tee times are automatically refreshed every 30 minutes. You can also trigger a manual refresh here.

Scraping...

๐Ÿ—„๏ธ Course Config (from DB)

Shows what's actually stored in the database. Use Reseed if booking URLs look wrong after editing courses.json.

Configured Courses

To add or update a course's GolfNow ID, edit courses.json and restart the container.

Course Location GolfNow ID
Braintree Municipal Golf Course Braintree, MA 16026
Brookmeadow Country Club Canton, MA โš  Not set โ€” see courses.json
Furnace Brook Golf Club Quincy, MA โš  Not set โ€” see courses.json
George Wright Golf Course Boston, MA โš  Not set โ€” see courses.json
Granite Links Golf Club Quincy, MA โš  Not set โ€” see courses.json
Pembroke Country Club Pembroke, MA โš  Not set โ€” see courses.json
Ponkapoag Golf Course Canton, MA โš  Not set โ€” see courses.json
Presidents Golf Course Quincy, MA โš  Not set โ€” see courses.json
South Shore Country Club Hingham, MA โš  Not set โ€” see courses.json
William J. Devine Golf Course Boston, MA โš  Not set โ€” see courses.json

๐Ÿ“‹ How to find GolfNow Facility IDs

  1. Go to golfnow.com and search for the course name
  2. Click on the course to open its tee time page
  3. Look at the URL โ€” it will look like:
    https://www.golfnow.com/tee-times/facility/12345-course-name/results
  4. The number (12345) is the facility ID
  5. Open courses.json, replace FIND_ME with that number, and restart the container