Complete guide to managing your fleet, staff, bookings, pricing, and all system settings.
The Dashboard is your command center. Every time you log in, you land here first. It gives you a real-time overview of revenue, reservations, and fleet status at a glance.
Four cards display your most important KPIs for the current month:
Shows how many of your locations are active for today. A warning alert appears if any port is marked unavailable — allowing you to react quickly.
Displays the last 10 completed bookings with timestamps. Useful for verifying that recent reservations were correctly processed.
The large orange + New Booking button opens the Fleet Order modal. This is the primary way to create reservations. See Section 2 for full details.
Click the Volume card to open a sliding panel with detailed revenue analytics. From here you can also export to CSV for accounting or spreadsheet use.
The Bookings page is where all reservations live. You can view, filter, create, edit, move, and manage payments for every booking in the system.
Toggle between List View (default — shows all bookings in a table) and Calendar View (shows booking dots on a monthly calendar — great for spotting busy days).
Use the filter bar to narrow down bookings:
| Filter | What It Does |
|---|---|
| Status | Show ALL, CONFIRMED, PENDING, CANCELLED, DRAFT, or COMPLETED bookings |
| Date | Navigate day by day with ← Today → buttons, or pick a specific date |
| Time | Filter by a specific launch time |
| Location | Filter by a specific port/location |
| Booking Ref | Search by partial booking reference ID |
| Customer | Search by customer name or phone number |
| Show Cancelled | Toggle to include or exclude cancelled bookings |
Click the + New Booking button (on Dashboard or Bookings page) to open the Fleet Order modal. Fill out the form in this order:
Choose the type of service: Jet Skis 🚤, ATV/Quad 🚜, Yachts 🛥️, or any custom category your team has configured.
| Field | Required | Notes |
|---|---|---|
| Customer ID (Full Name) | Required | Client's full name |
| Phone | Required | Select country code (+1 US, +52 MX, etc.) then enter number |
| Optional | Required only if you want to send email confirmations |
| Field | Notes |
|---|---|
| Launch Date | Date picker for the reservation date |
| Launch Time | Time picker or preset scheduled times if configured |
| Number of People | Total headcount (minimum 1) |
| Log Notes | Internal notes, special instructions, or rider info |
Enter a promo code if the customer has one and click Apply. The discount is automatically calculated. Select the referral source (Instagram, TikTok, Google, Walk-in, etc.) for marketing analytics.
Select the payment method: Cash 💵, Card 💳, Zelle ⚡, Venmo 📱, CashApp 💸, or Other.
If Card is selected, two options appear:
Fill in the payment amounts:
| Field | Notes |
|---|---|
| Total Amount | Auto-calculated from cart, or click "Use $X" to fill automatically |
| Tip | Optional gratuity in dollars |
| Deposit Amount | If a partial deposit was taken upfront |
| Payment Notes | Transaction ID, reference number, or any payment detail |
The summary box shows: Subtotal → Promo Discount → Total → Tax (7%) → Deposit → Balance Due at Location.
After clicking Confirm Order, the booking is created. A second screen appears where you can:
Click any booking row to see its full details. From the detail view, admins have access to:
Every booking has a color-coded status badge:
| Status | Meaning |
|---|---|
| CONFIRMED | Booking is confirmed and scheduled |
| PENDING | Awaiting confirmation or payment |
| DRAFT | Saved locally but not submitted yet |
| COMPLETED | Activity was completed successfully |
| CANCELLED | Booking was cancelled |
Click Save Draft at any point during booking creation to save your progress locally (drafts expire after 24 hours). Click the dropdown at the top of the modal to restore a previous draft.
Locations (also called Ports) represent physical places where your fleet operates. Each location has its own schedule, activities, capacity, and pricing rules.
Click the + Create New Location button. The location modal has three tabs:
| Field | Required | Notes |
|---|---|---|
| Location Name | Required | e.g., "Miami Beach Marina" |
| Category | Required | Service type: Jet Skis, ATV, Yachts, or custom |
| Address | Required | Full street address — Google autocomplete enabled |
| Latitude / Longitude | Auto | Auto-filled from address lookup or set manually |
| Max Capacity | Optional | Maximum simultaneous units allowed |
| Base Units Available | Required | Default fleet size for this location |
| Business Hours | Required | Set open/close times per day of week; toggle days on/off |
| Status | Required | OPEN, CLOSED, or MAINTENANCE |
| Rules / Policies | Optional | Rider requirements, age restrictions, waiver info, etc. |
Assign activities (tours, experiences) that are offered at this location. You can:
Assign pricing rules to this location. Rules define how much each combination of activity, duration, and quantity costs. You can:
Within a location, click Edit Hours to set how many units are available per hour of the day. This lets you reduce capacity during specific hours without closing the location entirely.
Each location row has an Active/Inactive toggle. Inactive locations are hidden from the booking modal and map view. Use this to temporarily suspend a port without deleting it.
Click the Delete (trash) button on a location. A confirmation dialog will appear. Note: this action is permanent.
The Map View lets you visualize all your active locations on an interactive Google Map. It's useful for scouting new ports and helping customers understand where services are offered.
The Leads & CRM section is your client directory. Every person who has ever made a booking is automatically saved here with their full history, visit count, and lifetime value.
| Filter | Options |
|---|---|
| Search | By client name or phone number |
| Status | All, New, Returning & VIP, VIP Only |
| Date Segment | Filter by last visit date range |
| Location | Show clients who visited a specific port |
| Category | Filter by service type (JETSKI, ATV, YACHT) |
| Sort By | Newest, Oldest, Highest Spend, Lowest Spend, Most Visits |
| Badge | Meaning |
|---|---|
| NEW | First-time customer |
| RETURNING | Has made 2 or more bookings |
| VIP 💎 | High-value returning customer |
Click View Profile → on any client to open their full profile. Here you can see:
The Settings section in the left sidebar contains all administrative configuration tools. Click Settings in the sidebar to expand the submenu.
Manage all user accounts in the system. You can see every team member, their role, and their hourly rate.
| Role | What They Can Do |
|---|---|
| Sales Rep | Create and manage bookings, clock in/out, view map |
| Location Owner | View their location's bookings and manage their availability |
| Admin | Full access to all features except super-admin tools |
Click the 🔑 key icon next to a user, enter a new password (minimum 6 characters), and click Reset. The account email is shown for confirmation.
Create discount codes that customers can use during booking checkout.
| Field | Notes |
|---|---|
| Code | Alphanumeric code (e.g., SUMMER25). Uppercase, no spaces. |
| Discount Type | USD = fixed dollar amount | PERCENT = percentage off |
| Discount Value | Amount or percentage number |
| Applicable Locations | Leave empty to apply to all locations |
| Applicable Services | Leave empty to apply to all service types |
| Start / End Date | Optional validity window |
| Usage Limit | Optional cap on total uses |
| Active Toggle | Enable/disable the code at any time |
Credits are the billing currency for using the JSRSF Booking Pro platform. Each action costs a small number of credits.
| Action | Cost |
|---|---|
| Create a Booking | 1 credit |
| Edit / Move a Booking | 1 credit |
| Map / Places / Geocoding Search | 1 credit each |
Three plans are available — click Buy on any plan and you'll be redirected to Stripe checkout:
| Plan | Credits | Price | Per Credit |
|---|---|---|---|
| ⚡ Starter | 500 | $125 | $0.25 |
| 🔥 Growth (Popular) | 1,000 | $200 | $0.20 |
| 💎 Pro | 2,500 | $375 | $0.15 |
Track your Sales Reps' working hours and calculate their pay. Sales Reps clock in/out from the header bar; admins review entries here.
Create reusable message templates for SMS and Email confirmations sent to customers after booking.
Keep messages under 160 characters for a single SMS. Use the variable buttons to insert dynamic values that are auto-filled when the message is sent:
Email templates have a Subject line and a full Body. HTML formatting is supported in the body. The same variables above are available. Email is only sent if the customer provided an email address during booking.
Connect your booking system to external tools like Zapier, Make.com, or your own API using webhooks. A webhook sends data automatically when specific events happen in the system.
| Field | Notes |
|---|---|
| Name | Descriptive label (e.g., "Zapier — New Booking Alert") |
| Event Type | BOOKING_CREATED, BOOKING_UPDATED, BOOKING_MOVED, BOOKING_CANCELLED, BOOKING_COMPLETED, MAP_LOAD, etc. |
| URL | Your Zapier/Make.com/API endpoint URL |
| Method | POST (sends JSON body) or GET (appends params to URL) |
| Payload Template | JSON template with variables (e.g., {reservation.customerName}). Auto-populates for the selected event. |
| Custom Headers | Add any required authentication headers (e.g., API keys) |
| Active Toggle | Turn the webhook on/off without deleting it |
Click Test to send a sample payload to your endpoint and verify the integration is working.
The Activities Mgmt submenu (nested inside Settings) lets you configure the core catalog of services your business offers: Pricing Rules, Activities, and Categories.
Pricing rules define how much a booking costs based on activity, duration, quantity, and time period. Rules are first defined globally here, then assigned to specific locations.
| Field | Notes |
|---|---|
| Name | Descriptive label (e.g., "Weekend Jet Ski 2hr Single") |
| Category | Service type this rule applies to |
| Activity | Specific activity filtered by category |
| Duration | Hours: 1, 2, 3, 4, 6, or 8 |
| Rider Type | SINGLE, DOUBLE, or OTHER |
| Min / Max Units | Range of units this rule covers |
| Base Price | Starting price for the minimum units |
| Price Per Extra Unit | Additional cost per unit beyond the minimum. Set to 0 for flat price. |
| Fixed Deposit | Required deposit amount (optional) |
| Start / End Date | Temporary rules (e.g., holiday pricing) take priority over permanent rules when dates overlap |
| Active Toggle | Enable/disable without deleting |
Activities are the specific experiences or tours offered within each category (e.g., "Standard Jet Ski Tour", "Sunset Cruise", "ATV Beach Ride").
| Field | Notes |
|---|---|
| Name | Activity title shown in booking modal |
| Category | Which service type this belongs to |
| Description | Optional details about the experience |
| Active Toggle | Inactive activities won't appear in booking dropdowns |
Beyond the three built-in categories (Jet Skis, ATV, Yachts), you can create custom categories for any other service type you offer.
| Field | Notes |
|---|---|
| Name | Category title (e.g., "Parasailing", "Paddleboard") |
| Emoji | Select from the picker or type your own — shown throughout the UI |
| Description | Optional details |
| Active Toggle | Inactive categories are hidden from all dropdowns |