Enter your Manager/Admin or Staff PIN. Staff accounts receive a limited operational view only.
Loading dashboard...
Filter 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.
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.
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.
These values appear in the customer Privacy Notice and support automatic privacy cleanup.
Controls archive timing, backup storage, and error email alerts.
For R2, save the shared secret in Apps Script Script Properties as PICKLEBALL_R2_UPLOAD_SECRET. The secret is never returned to the browser.
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 sheet; 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 backups, archiving, cache clearing, trigger setup, and error review.
This shows the latest backend errors. Empty is good.
Backups, archives, settings changes, cache clears, and maintenance trigger changes appear here.