Enter your Manager/Admin or Staff PIN. Staff accounts receive a limited operational view only.
Loading dashboard...
Live updates offFilter dashboard records, schedule overview, and searchable admin tables.
Active bookings and court blocks for the selected schedule date.
Showing bookings from the sheet.
Showing event rows from the sheet.
Showing player registrations from the sheet.
Manager-friendly reporting for collected money, pending bookings, court rentals, Open Play/Event revenue, add-ons, POS product sales, refunds, cancellations, and transaction details.
Choose the reporting period and filter the rows you want to include.
Payment method answers how the customer paid. Walk-in is also kept as the over-the-counter payment option.
Load a report to see details.
Review bookings, event registrations, and POS sales by the date they were submitted or received. Use this to match GCash, bank, and walk-in payments against uploaded receipts.
Received date is the main reconciliation date. A booking for next month still appears here when the booking or payment proof was submitted.
1. Sort by received date. 2. Open the receipt. 3. Match the amount/reference against GCash, bank, or cash records. 4. Save the reconciliation status and notes.
CSV export includes receipt presence and references, but not private receipt file links.
Load reconciliation to see submitted bookings, event registrations, and POS sales.
A simple stock and walk-in sales area for snacks, drinks, food, balls, grips, and other items. Products are separate from booking add-ons.
Type the item details, set the current stock, then click Add Product. After saving, the form clears automatically so you can list the next item faster.
For restocking, choose a product and enter the quantity received. For stock audit, use Set as Actual Count.
Example: If you received 10 bottled waters, click Add Quantity. If your audit count says exactly 24 left, enter 24 and click Set as Actual Count.
Sell products without creating a court booking. No customer name or phone is required.
Low-stock items appear here. Set the warning level to 1 if you only want a warning when an item is almost empty.
No products loaded yet.
Create a schedule block that automatically appears in Events and affects court availability.
Create text-only announcements for the customer homepage carousel. Line breaks and spacing are preserved exactly as typed.
This preview keeps the same spacing that customers will see in the homepage announcement card.
Showing announcement rows from the sheet.
Use this when a customer asks for access, correction, deletion, or anonymization of their personal information.
Search by name, phone number, booking code, registration code, or payment reference.
Only use anonymization after verifying the requester and confirming the request should be processed.
No privacy requests loaded yet.
Quickly book a court for a walk-in customer. Fill in the details and submit.
Clock in/out, breaks, live duty status, and shift logs.
Clock in at the start of your shift.
Live attendance updates appear here. Use the table below for history and export.
Manager/Admin sees all staff logs. Staff sees only their own shifts.
Use these buttons to manage business settings, add-ons, payment methods, admin security, and courts without editing code.
Change business identity, operating hours, pricing, privacy retention, storage folders, and maintenance options.
Basic contact and alert details used across the dashboard.
Controls the time blocks customers can book.
Costs are used only to estimate gross profit in the Sales Report.
Controls refund calculation when Manager/Admin or Staff marks a booking or registration as Cancelled or No Show. This only tracks/refers to refunds; it does not send money automatically.
These values appear in the customer Privacy Notice and support automatic privacy cleanup.
Controls Supabase archiving, R2 backup retention, and error email alerts.
PICKLEBALL_R2_BUCKET binding. Google Drive is not used for app storage. Google credentials are optional and only needed for Sales Report → Export to Google Sheet.
Configure how Sales Report exports are shared. Google service account credentials must stay in Cloudflare Secrets.
GOOGLE_SERVICE_ACCOUNT_EMAIL and GOOGLE_SERVICE_ACCOUNT_PRIVATE_KEY to Cloudflare Variables/Secrets, enable Google Sheets API and Drive API in the service account project, then redeploy. This setting only controls report sharing.
Add, rename, deactivate, update the selling price, or add an estimated cost for optional add-ons. Cost is only used for the Sales Report profit estimate.
Enable payment methods, change instructions, upload QR codes, and choose whether reference codes or receipts are required.
Change your dashboard PIN. This PIN protects the web dashboard from public access.
Create Manager/Admin or Staff PINs. PINs are saved as salted hashes in the Admin Users table; the plain PIN is never returned to the browser.
Add, rename, or remove courts. Changes apply immediately to availability, bookings, and events.
Dashboard URL:
Non-technical tools for R2 backups, Supabase archiving, realtime cache refreshes, scheduled maintenance, and error review.
This shows the latest backend errors. Empty is good.
Backups, archives, privacy purges, cache clears, and maintenance schedule changes appear here.