Automated Operations

Background automations in GolfCartOps that handle overdue detection, waitlist management, analytics, and more.

GolfCartOps runs several automated processes in the background to keep your operation running smoothly without constant manual attention.

Overdue Booking Detection

Runs every hour.

The system checks all checked-out bookings and flags any where the return date has passed. When a booking becomes overdue:

  • The booking status changes from "Checked Out" to "Overdue"
  • An overdue badge appears on the dashboard
  • An alert notification is sent to the location's managers and staff
  • Optionally, the customer receives an automated email or SMS reminder

A 2-hour grace period is included to account for minor delays and timezone edge cases.

Waitlist Expiration

Runs daily at midnight.

When you enable the waitlist feature for peak seasons, customers can sign up to be notified when their preferred dates become available. The system automatically:

  • Expires waitlist entries that are past their desired rental dates
  • Sends notifications when matching availability opens up
  • Removes entries after 48 hours if the customer does not respond to an availability notification

This keeps your waitlist fresh and prevents stale entries from cluttering the queue.

Analytics Refresh

Runs daily at 4:00 AM.

GolfCartOps maintains pre-calculated analytics for fast dashboard loading:

  • Daily revenue summary -- Revenue broken down by location for each day
  • Asset utilization rates -- What percentage of your fleet was rented each month
  • Customer lifetime value -- Total spend per customer across all rentals

These analytics are refreshed each morning so your dashboard loads instantly, even for businesses with thousands of bookings.

Overdue Invoice Flagging

Runs daily at 6:00 AM.

Invoices that remain unpaid past their due date are automatically flagged. This helps you:

  • Identify customers with outstanding balances
  • Follow up on unpaid invoices promptly
  • Track accounts receivable aging in your reports

GPS History Cleanup

Runs weekly.

If you use GPS fleet tracking, location pings are stored for route history and analytics. To keep your database performant, location data older than 90 days is automatically pruned. Recent trip history and summary data are preserved indefinitely.

Booking State Machine

The booking lifecycle follows strict rules to prevent invalid state changes:

  • A Pending booking can only become Confirmed or Cancelled
  • A Confirmed booking can only become Checked Out or Cancelled
  • A Checked Out booking can only become Returned or Overdue
  • An Overdue booking can only become Returned or Closed
  • A Returned booking can only become Closed
  • Cancelled, No Show, and Closed are terminal states -- no further changes

These rules are enforced automatically. Staff cannot accidentally skip a step or move a booking to an invalid state.

Timestamp Management

All records automatically track when they were created and last updated. The "updated at" timestamp refreshes every time a record changes, providing a reliable audit trail without any manual effort.

What You Do Not Need to Manage

These automations are always active and require no configuration:

  • Overdue detection starts working as soon as you have bookings
  • Analytics refresh runs whether or not you view the dashboard
  • The booking state machine is always enforced
  • Timestamp tracking is automatic on every record

Configurable Automations

Some automations have settings you can adjust:

  • Overdue grace period -- Default 2 hours, adjustable in settings
  • Waitlist notification window -- How long a customer has to respond (default 48 hours)
  • GPS retention period -- How long location history is kept (default 90 days)

Tips

  • Check the dashboard each morning after the 4:00 AM analytics refresh for the most up-to-date numbers
  • Use the overdue detection as your early warning system -- do not wait for customers to tell you they are late
  • Review your waitlist regularly during peak season to ensure notifications are going out and converting
  • If you notice stale data on the dashboard, it may be from the analytics cache -- the next refresh will update it