What's New

New updates and improvements to GolfTap

Playing Partners & Booking Management

Improvement
đŸ‘Ĩ Playing Partner Booking Access

- Playing partners (additional players) can now see and manage bookings they've been added to
- View booking details from all booking pages:
  - Member bookings page (`/bookings`)
  - Portal my bookings (`/portal/:slug/my-bookings`)
  - Portal schedule page (`/portal/:slug/my-schedule`)
- Playing partners can remove themselves from bookings
- No longer limited to just the lead booker managing the booking

đŸˇī¸ "Booked by" Indicator

- Clear visual indicator showing who created the booking
- Purple badge displays on all booking lists
- Helps players quickly identify if they're a playing partner or lead booker
- Example: "đŸ‘Ĩ Booked by John Smith"

đŸ›Ąī¸ Cancellation Safety Improvements

- Removed cancel buttons from all booking list pages
- Prevents accidental cancellations with a single click
- Users must now view full booking details to cancel
- Safer workflow reduces support requests for accidental cancellations

⏰ Member Cancellation Deadline Display Fix

- Members now see correct 30-minute cancellation deadline
- Previously showed 24-hour guest deadline incorrectly
- Portal booking pages now properly distinguish member vs guest deadlines
- "Important Information" section dynamically shows correct deadline based on membership status
- More accurate information leads to fewer missed cancellation windows

Self-Service & Tee Sheet Improvements

New

🔄 Self-Service Booking Cancellation
- Members and guests can cancel their own bookings
- Flexible cancellation deadlines:
  - Members: 30 minutes before tee time (configurable)
  - Guests: 24 hours before tee time (configurable)
- Grace period: Always allow cancellation within first 5 minutes of booking
- Clear deadline information displayed throughout portal
- Automatic email notifications to all players when booking cancelled
- Past deadline notices with contact information

📅 Booking Reschedule System
- Reschedule bookings to different tee times
- Keep same players and details
- Automatic availability checking
- Email notifications for reschedules
- Staff can reschedule on behalf of members

đŸšļ Walk-in Booking Improvements
- Create walk-in bookings without email/phone
- Quick booking for members who arrive without reservation
- Mark bookings as walk-in for reporting
- Simplified booking flow for front desk staff

đŸ’ŗ Payment Status Display
- Clear payment status indicators on tee sheet:
  - ✅ Paid (green)
  - âŗ Pending (amber)
  - ❌ Unpaid (red)
- Filter tee sheet by payment status
- Quick visual reference for staff
- Helps identify payment issues quickly

📋 Tee Sheet UI Enhancements
- Detailed view is now the default (shows player names)
- Removed simplified view toggle
- Player names displayed clearly below "Full" status
- Holes booked badge is larger and more prominent
- "Jump to Now" button only appears when viewing today's tee sheet
- Better visual hierarchy

âąī¸ Late Arrival Grace Period
- Allow check-in up to 2 hours after tee time
- Flexibility for delayed players
- Prevents accidental no-show markings
- Configurable time window

đŸŽ¯ Floating Action Buttons
- Quick access buttons float above tee sheet
- Auto-scroll to current time slot
- Jump to specific dates
- Better navigation on long tee sheets
- Sticky positioning for constant access

📱 Navigation Restructure
- Moved "Manage" dropdown to top-right
- Removed redundant "Manage Club" button
- Cleaner navigation hierarchy
- Better organization of admin features
- Improved mobile responsiveness

Legal & Localization

Update
📜 Terms of Service & Privacy Policy

- Comprehensive Terms of Service document
- GDPR-compliant Privacy Policy
- Clear user rights and responsibilities
- Data protection information
- Cookie policy details

📱 Mobile Navigation Fix

- Improved mobile menu functionality
- Better touch targets
- Smoother animations
- Fixed hamburger menu issues

🔐 Password Management

New
🔐 Password Management

- Admins can change user passwords
- Enhanced account security
- Password reset functionality
- Audit trail for password changes

Course Blocking System

New
đŸšĢ Advanced Course Blocking

- Block entire courses for maintenance or private events
- Two blocking modes:
  - Block Everyone: No bookings allowed (maintenance, private events)
  - Block Guests Only: Members can still book (member-priority days)
- Optional blocking reason for staff reference
- Blocked courses clearly indicated throughout system
- Cannot book on blocked courses
- Automatic validation prevents bookings

Analytics & User Management

New
📊 Analytics
- Privacy-focused website analytics
- Track visitor behavior without cookies
- Monitor page views and user flows
- GDPR compliant analytics
- Insights into most popular features

👤 User Management Improvements
- Display user email addresses in admin interface
- Change user passwords (admin feature)
- Better user profile management
- Enhanced security controls

File Storage

Improvement
â˜ī¸ Cloud Storage Integration
- Cloud storage for club logos and images
- Faster file uploads and downloads
- Reliable backup and storage
- Scalable storage for growing clubs

Email Marketing System

New
📧 Member Email Broadcasts
- Built-in email marketing system for clubs
- Send newsletters, announcements, and promotions to members
- Advanced recipient filtering:
  - Filter by membership status (active, suspended, expired)
  - Filter by membership type
  - Filter by expiring soon (within 30 days)
- Live preview of recipient count before sending
- Rich text editor with formatting, links, and images

📨 Send Test Feature
- Send test emails to all club admins and managers before sending to members
- Review formatting and content safely
- Subject line prefixed with [TEST] for clarity
- Does not affect broadcast status

📊 Email Analytics
- Automatic tracking via Postmark integration
- Monitor delivery rates
- Track email opens and clicks
- View individual recipient status
- Analytics cards show:
  - Total recipients
  - Delivery rate percentage
  - Open rate percentage
  - Click rate percentage

🔒 Email Safety Features
- Only managers and admins can create broadcasts
- Draft mode for editing before sending
- Cannot edit broadcasts after sending
- Rate limiting prevents overwhelming email servers (~300 emails/minute)
- Broadcasts use Postmark's marketing stream (not transactional)

Email Delivery

Improvement
đŸ“Ŧ New Email Integration
- Switched Processor for email delivery
- Webhook integration for tracking email status
- Bounce and spam complaint handling
- Improved email deliverability

📧 Email Tracking
- Track email delivery status
- Monitor opens and clicks
- Handle bounces automatically
- Better debugging of email issues

Booking Portal Improvements

Improvement
📝 Booking Form UX Enhancements

- Improved player name input with validation
- Clearer cart rental options
- Required field indicators
- Better mobile responsiveness
- Unsaved changes warning removed after successful submission

Advanced Player Management

New
đŸ—‘ī¸ Individual Player Cancellation
- Cancel individual players from bookings (not entire booking)
- Soft delete preserves player records for history
- Cancelled players clearly indicated in UI
- Automatic refund calculations for partial cancellations

🎨 Drag & Drop Player Management
- Move individual players between tee times via drag and drop
- Real-time updates using Hotwire Turbo Streams
- Visual feedback during drag operations
- Validation prevents overbooking

📋 Enhanced Booking Details
- Display all players with individual status
- Show cancelled players with strikethrough
- Individual player check-in status
- Per-player pricing breakdown

Competition Overbooking Prevention

New
đŸŽ¯ Competition Capacity Management
- Prevents overbooking of competition registrations
- Accounts for regular bookings when showing available spots
- Real-time capacity checking
- Clear "Competition Full" messaging when at capacity

âąī¸ Configurable Booking Timeouts
- Dynamic booking timeout based on course settings
- Default 30 minutes for green fee bookings
- Members exempt from expiration (can pay later)
- Clear display of time remaining

Competition Self-Service

Improvement
đŸŒī¸ Competition Registration Improvements
- Members can withdraw from competitions (within deadline)
- Ability to reactivate withdrawn registrations
- Clear withdrawal deadlines displayed
- Automatic email notifications for status changes

Booking Expiration System

Improvement
⏰ Expired Booking Management
- Automatic expiration of unpaid green fee bookings after 30 minutes
- Countdown timer shown to users during checkout
- Expired bookings clearly marked in tee sheet
- Automatic release of tee time slots
- Filter for viewing expired bookings
- Prevents expired bookings from being paid

🔄 Booking Status Updates
- Real-time status synchronization
- Clear status indicators throughout system
- Automatic status updates based on payments

📧 Member Welcome Emails
- Automated welcome emails for new members
- Membership details and benefits explained
- Instructions for booking tee times
- Links to member dashboard and portal

Support & Communication

New
📧 Email Support System
- Built-in support ticket system
- Email integration via Postmark
- Staff can reply directly to member emails
- Track support conversations by thread
- Internal notes for staff coordination

đŸŽĢ Support Ticket Management
- View all support requests in admin interface
- Filter by status (open, in progress, resolved)
- Assign tickets to staff members
- Message count tracking

📞 Contact Form
- Public contact form on portal
- Automatic routing to club staff
- Confirmation emails to submitters
- Member verification indicators
- Configurable contact email and office hours

đŸ’ļ Currency Display Fix
- Fixed all dollar signs ($) to display euro (â‚Ŧ) properly
- Correct currency formatting throughout application
- Email templates updated with proper currency

Tee Time Management

Improvement
đŸšĢ Tee Time Blocking System
- Block tee times for maintenance, events, or private use
- Optional blocking reason for staff reference
- Blocked times clearly indicated on tee sheet
- Cannot be booked by members or guests

âš ī¸ Tee Time Deletion Safety
- Cannot delete tee times with existing bookings
- Warning messages before deletion
- Proper cleanup of related records
- Booking count validation

âš™ī¸ Tee Time Generator Improvements
- Dynamic configuration for tee time intervals
- Configurable sunset buffers for 9-hole and 18-hole rounds
- Automatic gap filling for missing tee times
- Background job processing for large date ranges

Player Type System

New
đŸŽĢ Member, Guest, and Green Fee Distinctions
  • Visual badges to identify player types:
    • **Green Badge**: Members
    • **Blue Badge**: Guests (brought by members)
    • **Amber Badge**: Green Fees (non-member bookings)
  • Enhanced privacy controls based on player type
  • Members see all players at their tee time
  • Green fee players see others only after confirmation

📋 Member Tee Time Details
  • Members can view who's playing at their tee time
  • See fellow members and guests
  • Better coordination for friendly competition

Advanced Reporting

New
📊 Reports Dashboard
  • Daily booking summaries
  • Revenue tracking by date range
  • Member vs guest breakdown
  • Payment status reporting
  • Competition revenue tracking

Competition Management Improvements

New
âš™ī¸ Competition Registration Management
  • Admin interface for managing competition registrations
  • View all registrants by competition
  • Manual registration capability for walk-ins
  • Ability to withdraw and reactivate registrations
  • Enhanced competition tee time assignment

📈 Reports & Analytics
  • Comprehensive booking reports
  • Revenue analytics
  • Member activity tracking
  • Competition participation reports
  • Date range filtering and export capabilities

💰 Enhanced Booking Admin
  • Live pricing calculator in booking modal
  • Fee override capability for special circumstances
  • Override reason tracking for audit trail
  • Individual player pricing breakdown on booking details
  • Member discount visualization

Buddy Booking System

New
đŸ‘Ģ Buddy Bookings
  • Members can save frequent playing partners as "buddies"
  • Quick booking with saved buddy lists
  • Automatic email notifications to all players in group
  • Individual player tracking with BookingPlayer records
  • Each player receives their own booking confirmation

✅ Individual Player Check-in
  • Staff can check in individual players, not just entire bookings
  • Track no-shows for individual players
  • Undo check-in capability
  • Real-time status updates on tee sheet

📱 Unified Booking Modal
  • Streamlined booking creation interface
  • Add multiple players with member search
  • Cart rental options
  • Special requests field
  • Real-time availability checking