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), PC (Pickleball Center only), or YYC (YYC Pickleball only).
Picklebot always books PC first if courts are available there. YYC is only used as a fallback when PC has no courts, or when all voters specifically chose YYC.
The live poll shows per-facility headcount when voters have different preferences (e.g. "4 PC ยท 3 YYC"), so you can see where the group is leaning.
๐ค 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.
Slots within 16 hours are locked โ you need enough lead time for the booking to be confirmed on CourtReserve.
๐ 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.
โ Leaving vs cancelling a booking
There are two ways to exit a booking:
Leave booking: Removes just you from the attendee list. The booking stays for everyone else. Your payment is voided. Use this if you can't make it but others still want to play.
Cancel booking: Cancels the entire reservation on CourtReserve. Removes all attendees, voids all payments. All attendees get a cancellation email with the court name. Use this only if the whole group wants to cancel.
Re-booking: After a booking is cancelled, a "Re-book" button appears on the slot. Tapping it clears the cancellation flag and lets auto-booking try again if enough votes remain.
Slot history: Every action on a slot (vote, book, cancel, leave, re-book) is logged. Tap a slot and scroll down to see its full activity log.
With guests: Cancellation removes everyone including guests. The person who brought guests is responsible for telling them.
Already paid? Picklebot voids unpaid amounts but can't reverse real e-transfers โ the admin needs to refund manually.
CourtReserve policy: The facility may have its own cancellation window (e.g. 24h). Cancelling late may still incur a penalty from the facility.
๐ฐ 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).
Payment phases: Payments start as upcoming (greyed out, can't be paid yet). After the game time passes, they become active and payable. This prevents paying for a game someone might ditch.
Payments appear in the Bookings tab. E-transfer to the admin's email shown there. Admin marks payments as received.
Voiding payments: The payee (admin) can void a payment with a reason:
- Ditched / no-showed: Void the payment, no permanent effect
- Covering (this time): Void this one payment only
- Always covering: Void + permanently exempt them from paying you
To participate in payment tracking, enable Track payments in your Profile.
๐ 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 and Telegram notifications for:
- Booking confirmed โ date, time, facility, specific court name
- Booking cancelled โ date, time, facility, court name, who cancelled
- Game reminders โ 24 hours and 1 hour before the booking
Set your notification email in your profile. Telegram notifications go to the group chat if 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.