Tee Times
Manage your tee sheet, book players, and handle day-of check-ins.
The Tee Sheet
The tee sheet lives at /dashboard/[orgId]/tee-sheet. It's a day-view grid showing every available slot, who's booked, and their check-in status. Use the date picker to navigate between days and the course selector if you manage multiple courses.
Creating Tee Time Slots
Slots represent available tee times on your sheet. Each slot has a start time, assigned course, and status. Create slots individually or generate them in bulk by setting a start time, end time, and interval (e.g., every 8 minutes from 7:00 AM to 3:00 PM).
- Time: The tee-off time for the group.
- Course: Which linked course the slot is on — relevant if you manage multiple courses.
- Status: Tracks the slot through its lifecycle (see statuses below).
Booking Players
Click any open slot to add players. Each player in a tee time is tracked as a TeeTimePlayer record. You can book:
- Registered members— select from your org's member list by name or email. The booking is linked to their userId.
- Guest players— enter a name and email for players who aren't in the system yet. A guestPlayerId is created, and they're automatically added to your contact database.
Tee Time Statuses
Check-In Workflow
Step 1 — Players Arrive
When players arrive at the course, open the tee sheet and find their time slot. Each player in the group is listed with a check-in toggle.
Step 2 — Mark Checked In
Toggle each player as checked in. A timestamp is recorded for every player individually, so you can track exactly when each person arrived.
Step 3 — Slot Updates
Once all players in the group are checked in, the tee time status automatically changes to CHECKED_IN. This clears the slot from your "pending arrivals" view.
Public Booking Page
Your course gets a public booking page where players can browse available tee times and reserve a slot. Share the link on your website, social media, or email campaigns. Bookings from the public page follow the same flow — players enter their name and email, and a TeeTimePlayer record is created along with a CourseContact entry.