Picklebot auto-books pickleball courts when 4+ people (including guests) vote for the same 2-hour window. No group chats, no manual coordination โ just vote and show up.
๐
Voting on time slots
The grid shows 2-hour windows (e.g. 7โ9 PM). Each cell shows how many courts are open at that time. Tap a cell to vote you're available โ it turns green when you've voted.
Cell colors: Green numbers = Pickleball Center (PC) courts ยท Blue numbers = YYC Pickleball courts.
Dots under the number show progress toward auto-booking: ●●○○ means 2 of 4 people have voted. When all 4 dots fill (●●●●), it books automatically.
Red FULL cells mean someone voted but courts were already taken on CourtReserve before 4 people could vote. Act fast โ courts go quickly!
Only slots where courts are actually available to reserve on CourtReserve appear. Open Play, Reserved, Waitlist, and Full slots are not counted.
๐๏ธ Court preference
Before voting, you can set a court preference: Either (default โ books whichever is available), PC (Pickleball Center only), or YYC (YYC Pickleball only).
Your preference is shown on the poll and booking cards. If everyone prefers the same facility, Picklebot books there. If preferences conflict, it picks whichever has courts available, prioritizing PC.
๐ค Auto-booking: exactly how it works
Every time a vote is cast, Picklebot checks: does any slot now have 4+ headcount (voters + their guests)? If yes, it immediately books the best available court using the admin's CourtReserve account. All voters for that slot become attendees automatically.
Example 1: Alice votes Thu 7โ9 PM (no guests). Bob votes (+1 guest). Carol votes (no guests). Headcount = 4. Booking fires instantly.
Example 2: You vote with +3 guests. Headcount = 4 immediately. Court is booked the moment you tap.
Picklebot books on CourtReserve using the admin's saved credentials. The reservation appears on the admin's CourtReserve account. All attendees get an email notification.
If no court is available when booking fires (all taken), it fails. The slot shows FULL in red. You'll need to pick a different time.
Same-day bookings are blocked โ you must vote at least 1 day ahead to give everyone time to coordinate.
๐ Joining a slot that's already booked
You can vote for a time slot after it's already been booked. Voting on a booked slot adds you as an attendee โ you'll appear on the booking card in the Bookings tab.
5th+ person: A court holds a fixed number of players. If you're the 5th person joining a 4-person booking, you'll be listed but the court itself isn't expanded. Manage capacity among yourselves at the facility.
No second court is auto-booked just because more people join โ that would require a separate vote cycle at a different slot.
If someone joins with guests and it pushes headcount past 4, the extra people are still listed as attendees and included in the payment split.
๐ฅ Bringing guests
Set your guest count using the +1 / +2 / +3 buttons before voting. Guests count toward the 4-person threshold: 1 person + 3 guests = instant booking.
Guests affect payments โ you pay for yourself + all your guests. They appear on the booking card under your name.
Example: Court costs $48. Alice (0 guests), Bob (+1 guest), Carol (0 guests) = 4 heads total. $48 รท 4 = $12/head. Alice pays $12, Carol pays $12, Bob pays $24 (himself + guest).
Guest changes: You can change your guest count by tapping the slot detail panel and adjusting โ but if a booking already fired, the payment split is locked in.
โ Cancelling a booking
Any attendee of a booking can cancel it โ not just the admin. Go to Bookings tab, open the booking, and tap Cancel Booking.
What happens when you cancel:
- The court reservation is cancelled on CourtReserve immediately
- All attendees are removed from the booking
- All pending payments for that booking are voided
- The time slot reopens on the grid and can be voted on again
- All attendees get a cancellation email notification
- Telegram group (if configured) gets a cancellation alert
With guests: Cancellation removes everyone including guests. The person who brought guests is responsible for telling them โ Picklebot doesn't have their contact info.
Already paid? If someone already e-transferred before the cancellation, the admin needs to refund them manually. Picklebot voids unpaid amounts but can't reverse real e-transfers.
CourtReserve policy: The facility may have its own cancellation window (e.g. 24h before). Cancelling late may still incur a penalty from the facility โ that's between the admin and CourtReserve.
๐ฐ Payments
When a booking is made, Picklebot calculates each person's share by dividing the court cost equally by total headcount (people + their guests).
Basic split: $48 court รท 4 heads = $12 each.
With guests: $48 court, 3 voters (Alice, Bob+1, Carol) = 4 heads. Alice=$12, Carol=$12, Bob=$24.
With exemptions: $48 court, 5 heads but Dave is exempt. Only 4 non-exempt heads pay. $48 รท 4 = $12 each. Dave pays $0.
5th person joins late: Payment is recalculated. $48 รท 5 = $9.60 each (cheaper for everyone).
Payments appear in the Bookings tab. E-transfer to the admin's email shown there. Admin marks payments as received.
Payment statuses: Owed (not paid yet), Paid (admin confirmed receipt), Exempt (excluded from payments), Voided (booking cancelled).
To participate in payment tracking, enable Track payments in your Profile. The admin can exempt specific users permanently or per-booking.
๐ Weekly session limit
In Profile โ Sessions per week, set how many times you want to play each week. Once you've been booked that many times, your votes no longer count toward the 4-person threshold โ preventing unwanted extra bookings.
Example: Limit = 2. You play Tue + Thu. Now at your limit. If you vote for Saturday, your headcount isn't included in the "does this slot have 4?" check. Others can still book Saturday if they have enough people.
Set to 0: Unlimited โ you'll be counted for every vote, no cap.
Resets every Monday at midnight. Cancelled bookings don't count toward your limit.
๐๏ธ Bulk Schedule & Clear Votes
Tap Bulk Schedule to set recurring weekly availability. Toggle time windows for each day of the week, then tap Apply to this week. All matching slots are voted at once.
Enable Auto weekly schedule in your profile to have it auto-apply every Monday.
Clear votes removes all your votes for the current week in one tap. Votes linked to already-booked slots can't be removed (you'd need to cancel the booking).
Days within 16 hours of now are skipped (CourtReserve hasn't opened them yet) and filled in automatically when they become available.
๐ Admin & the booking account
There is always exactly one admin. The admin's CourtReserve email and password are stored (encrypted) in Picklebot and used to make all reservations on behalf of the group.
What the admin must do:
- Have a CourtReserve account with booking privileges at both PC and YYC
- Go to Profile โ Payment Settings โ enter CourtReserve email/password
- Tap Test Credentials to verify the login works
- Set the court cost and e-transfer email for payment collection
Admin powers:
- Cancel any booking (on both Picklebot and CourtReserve)
- Mark payments received / exempt users / void payments
- Set court cost and e-transfer email
- Track payments toggle (enable/disable payment system)
- Transfer admin to another person
Transferring admin:
- Current admin: Profile โ Transfer Admin โ pick new admin โ confirm
- New admin: Profile โ Payment Settings โ enter their CourtReserve email/password
- New admin: Tap "Test Credentials" to verify login works
- New admin: Set court cost + e-transfer email
Warning: If a booking fires before the new admin verifies credentials, it will fail โ no court gets booked. The new admin must set up their account immediately after receiving the transfer. Don't transfer admin right before a popular slot is about to hit 4 votes.
Google Sign-In users: If your CourtReserve account uses Google Sign-In, you'll need to set a manual password first. Go to CourtReserve โ My Account โ Change Password to create one. Picklebot can't use Google OAuth.
โฐ How court availability works
Picklebot checks CourtReserve every 15 minutes for available courts at both Pickleball Center and YYC Pickleball, looking 14 days ahead.
A slot appears on the grid when at least 1 court is available for both hours of the 2-hour window. If only the first hour has courts but the second doesn't, the slot won't show.
Courts can disappear between refreshes โ someone else on CourtReserve may book them. When this happens, any votes for that slot show as FULL in the grid and poll.
Slots within 16 hours of the current time are disabled for voting (not enough lead time). Past slots are greyed out.
๐ Notifications
Picklebot sends email notifications for:
- Booking confirmed โ all attendees notified with date, time, facility, court name
- Booking cancelled โ all attendees notified with who cancelled
Make sure your email is set in your profile to receive these. Telegram notifications can also be configured by the admin.
๐ Games & Points
Daily Serve โ 3 serves per day. Tap Serve to launch the ball across the net into the opponent's court. 4 target zones: Short (2โ4 pts), Wide (5โ7 pts), Deep (8โ10 pts), Corner (11โ12 pts). A defender tries to reach your shot! Double 6 = 50pt jackpot. Resets at midnight.
Daily Trivia โ 1 pickleball question per day, 3 pts for correct answer.
Over/Under Dice โ Bet your points. Predict if two dice total over or under 7. Win = double your bet. Lose = lose it.
Attendance bonus โ Show up to a booking = bonus points. Consecutive attendance streaks multiply the bonus.
Points are for bragging rights only. Leaderboard shows everyone's total.
Court data refreshes every 15 min from CourtReserve. Only "Reserve"-capable slots count. Your votes and bookings sync in real time.
Questions or bugs? Talk to the admin.