Admin Role

JSRSF Booking Pro

Administrator User Manual

Complete guide to managing your fleet, staff, bookings, pricing, and all system settings.

Version 1.0  ·  by TecnoAi  ·  JSRSF South Florida Systems

📋 Table of Contents

  1. Dashboard — Your Operations Overview
  2. Bookings — Fleet Reservations
    Creating, editing, filtering, status management, payments
  3. Locations — Port & Fleet Management
    Create locations, set schedules, assign activities and pricing
  4. Map View — Location Scout
  5. Leads & CRM — Client Directory
  6. Settings Menu
    Staff, Promo Codes, Credits, Time Tracker, Canned Messages, Webhooks
  7. Activities Management
    Pricing Rules, Activities, Service Categories
🏠
Section 1
Dashboard

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.

📸
Screenshot: Dashboard — Full Overview
Shows the 4 stat cards, port availability widget, activity log, and New Booking button

Stat Cards (Top Row)

Four cards display your most important KPIs for the current month:

💰
Volume (This Month)
Total revenue collected this calendar month. Click it to open the full Reports panel with CSV export.
📅
Today's Reservations
Number of bookings scheduled for today across all locations.
Confirmed
Total bookings in CONFIRMED status — ready to go.
Cancellations
Cancelled bookings this month. High numbers may indicate operational issues.

Port Availability Widget

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.

Activity Log

Displays the last 10 completed bookings with timestamps. Useful for verifying that recent reservations were correctly processed.

New Booking Button

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.

Reports Panel

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.

📅
Section 2
Bookings

The Bookings page is where all reservations live. You can view, filter, create, edit, move, and manage payments for every booking in the system.

📸
Screenshot: Bookings List View with filters
Shows the filter bar, list of bookings with status badges, and action buttons per row

View Modes

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).

Filtering Bookings

Use the filter bar to narrow down bookings:

FilterWhat It Does
StatusShow ALL, CONFIRMED, PENDING, CANCELLED, DRAFT, or COMPLETED bookings
DateNavigate day by day with ← Today → buttons, or pick a specific date
TimeFilter by a specific launch time
LocationFilter by a specific port/location
Booking RefSearch by partial booking reference ID
CustomerSearch by customer name or phone number
Show CancelledToggle to include or exclude cancelled bookings

Creating a New Booking

Click the + New Booking button (on Dashboard or Bookings page) to open the Fleet Order modal. Fill out the form in this order:

Step 1 — Select Service Category

Choose the type of service: Jet Skis 🚤, ATV/Quad 🚜, Yachts 🛥️, or any custom category your team has configured.

Step 2 — Build Your Order (Cart)

💡
Multi-Activity Bookings: You can add multiple activities to the same order (e.g., Jet Ski + ATV for the same group). Each item shows independently in the cart with its own subtotal.

Step 3 — Customer Information

FieldRequiredNotes
Customer ID (Full Name)RequiredClient's full name
PhoneRequiredSelect country code (+1 US, +52 MX, etc.) then enter number
EmailOptionalRequired only if you want to send email confirmations

Step 4 — Date, Time & Quantity

FieldNotes
Launch DateDate picker for the reservation date
Launch TimeTime picker or preset scheduled times if configured
Number of PeopleTotal headcount (minimum 1)
Log NotesInternal notes, special instructions, or rider info

Step 5 — Promo Code & Referral

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.

Step 6 — Payment

Select the payment method: Cash 💵, Card 💳, Zelle ⚡, Venmo 📱, CashApp 💸, or Other.

If Card is selected, two options appear:

Fill in the payment amounts:

FieldNotes
Total AmountAuto-calculated from cart, or click "Use $X" to fill automatically
TipOptional gratuity in dollars
Deposit AmountIf a partial deposit was taken upfront
Payment NotesTransaction ID, reference number, or any payment detail

The summary box shows: Subtotal → Promo Discount → Total → Tax (7%) → Deposit → Balance Due at Location.

Step 7 — Confirm & Send Messages

After clicking Confirm Order, the booking is created. A second screen appears where you can:

📸
Screenshot: Booking Modal — Payment Section & Summary Box
Shows payment method grid, amount fields, and the auto-calculated balance due summary

Managing Existing Bookings

Click any booking row to see its full details. From the detail view, admins have access to:

✏️
Edit
Modify booking details: quantities, prices, notes, customer info
🔄
Move
Reschedule to a different date, time, or location
💳
Payment Link
Send a Stripe link for the remaining balance
📱
Manual Charge
Charge a card via phone/API through Stripe
📊
Status Update
Change status: Confirmed, Completed, Cancelled, etc.
💬
SMS / Email
Resend confirmation messages to the customer

Booking Status Reference

Every booking has a color-coded status badge:

StatusMeaning
CONFIRMEDBooking is confirmed and scheduled
PENDINGAwaiting confirmation or payment
DRAFTSaved locally but not submitted yet
COMPLETEDActivity was completed successfully
CANCELLEDBooking was cancelled

Saved Drafts

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.

📍
Section 3
Locations

Locations (also called Ports) represent physical places where your fleet operates. Each location has its own schedule, activities, capacity, and pricing rules.

📸
Screenshot: Locations Page — Grid View
Cards showing each port with name, address, category, and status badge

Creating a New Location

Click the + Create New Location button. The location modal has three tabs:

Tab 1 — General Info

FieldRequiredNotes
Location NameRequirede.g., "Miami Beach Marina"
CategoryRequiredService type: Jet Skis, ATV, Yachts, or custom
AddressRequiredFull street address — Google autocomplete enabled
Latitude / LongitudeAutoAuto-filled from address lookup or set manually
Max CapacityOptionalMaximum simultaneous units allowed
Base Units AvailableRequiredDefault fleet size for this location
Business HoursRequiredSet open/close times per day of week; toggle days on/off
StatusRequiredOPEN, CLOSED, or MAINTENANCE
Rules / PoliciesOptionalRider requirements, age restrictions, waiver info, etc.

Tab 2 — Activities

Assign activities (tours, experiences) that are offered at this location. You can:

Tab 3 — Pricing

Assign pricing rules to this location. Rules define how much each combination of activity, duration, and quantity costs. You can:

ℹ️
How Pricing Works: When creating a booking, the system automatically matches the selected activity, duration, and quantity against pricing rules assigned to the chosen location. If no rule matches, the system shows a "No rule — enter manually" badge so the agent can input the price.

Editing Hourly Availability

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.

Activating / Deactivating Locations

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.

Deleting a Location

Click the Delete (trash) button on a location. A confirmation dialog will appear. Note: this action is permanent.

🗺️
Section 4
Map View

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.

📸
Screenshot: Map View with location markers and filter panel
Shows the Google Map with colored location pins and the left sidebar filter panel

Features

⚠️
Credit Cost: Each map load and geocoding search consumes credits. Use filters wisely to avoid unnecessary credit consumption.
👥
Section 5
Leads & CRM

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.

📸
Screenshot: Leads Page — Client Directory table
Shows the metric cards, filter bar, and client list with status badges and visit counts

Top Metrics

👤
Total Contacts
Total unique clients in your database
🔄
Returning Clients
Clients with 2+ bookings. Click to filter the list to returning clients only.
💰
Est. Lifetime Value
Sum of estimated spend across all clients

Filtering Your Client List

FilterOptions
SearchBy client name or phone number
StatusAll, New, Returning & VIP, VIP Only
Date SegmentFilter by last visit date range
LocationShow clients who visited a specific port
CategoryFilter by service type (JETSKI, ATV, YACHT)
Sort ByNewest, Oldest, Highest Spend, Lowest Spend, Most Visits

Client Status Badges

BadgeMeaning
NEWFirst-time customer
RETURNINGHas made 2 or more bookings
VIP 💎High-value returning customer

Client Detail Profile

Click View Profile → on any client to open their full profile. Here you can see:

⚙️
Section 6
Settings Menu

The Settings section in the left sidebar contains all administrative configuration tools. Click Settings in the sidebar to expand the submenu.

👤 Staff Management

Manage all user accounts in the system. You can see every team member, their role, and their hourly rate.

📸
Screenshot: Staff Management Page
Shows the user table with name, email, role badges, hourly rate, and action buttons

Creating a New Staff Profile

System Roles Explained

RoleWhat They Can Do
Sales RepCreate and manage bookings, clock in/out, view map
Location OwnerView their location's bookings and manage their availability
AdminFull access to all features except super-admin tools

Resetting a Password

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.

🏷️ Promo Codes

Create discount codes that customers can use during booking checkout.

Creating a Promo Code

FieldNotes
CodeAlphanumeric code (e.g., SUMMER25). Uppercase, no spaces.
Discount TypeUSD = fixed dollar amount | PERCENT = percentage off
Discount ValueAmount or percentage number
Applicable LocationsLeave empty to apply to all locations
Applicable ServicesLeave empty to apply to all service types
Start / End DateOptional validity window
Usage LimitOptional cap on total uses
Active ToggleEnable/disable the code at any time

💳 Credits

Credits are the billing currency for using the JSRSF Booking Pro platform. Each action costs a small number of credits.

Credit Cost Reference

ActionCost
Create a Booking1 credit
Edit / Move a Booking1 credit
Map / Places / Geocoding Search1 credit each

Purchasing Credits

Three plans are available — click Buy on any plan and you'll be redirected to Stripe checkout:

PlanCreditsPricePer Credit
⚡ Starter500$125$0.25
🔥 Growth (Popular)1,000$200$0.20
💎 Pro2,500$375$0.15
⚠️
Low Balance Alerts: The credit pill in the sidebar turns orange below 50 credits and red below 10 credits with a pulse animation. Recharge before you run out to avoid booking interruptions.

⏱️ Time Tracker

Track your Sales Reps' working hours and calculate their pay. Sales Reps clock in/out from the header bar; admins review entries here.

How to Use

💬 Canned Messages

Create reusable message templates for SMS and Email confirmations sent to customers after booking.

SMS Templates

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:

{customerName}
Client's full name
{bookingRef}
Booking reference number
{date}
Launch date
{time}
Launch time
{locationName}
Port/location name
{address}
Full location address

Email Templates

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.

🔗 Webhooks / Integrations

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.

📸
Screenshot: Webhooks Page
Shows webhook list with event type, URL, method, status toggle, and test button

Creating a Webhook

FieldNotes
NameDescriptive label (e.g., "Zapier — New Booking Alert")
Event TypeBOOKING_CREATED, BOOKING_UPDATED, BOOKING_MOVED, BOOKING_CANCELLED, BOOKING_COMPLETED, MAP_LOAD, etc.
URLYour Zapier/Make.com/API endpoint URL
MethodPOST (sends JSON body) or GET (appends params to URL)
Payload TemplateJSON template with variables (e.g., {reservation.customerName}). Auto-populates for the selected event.
Custom HeadersAdd any required authentication headers (e.g., API keys)
Active ToggleTurn the webhook on/off without deleting it

Click Test to send a sample payload to your endpoint and verify the integration is working.

🎯
Section 7
Activities Management

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

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.

📸
Screenshot: Pricing Rules List
Shows rule table with name, activity, duration, base price, deposit, date range, and active toggle

Creating a Pricing Rule

FieldNotes
NameDescriptive label (e.g., "Weekend Jet Ski 2hr Single")
CategoryService type this rule applies to
ActivitySpecific activity filtered by category
DurationHours: 1, 2, 3, 4, 6, or 8
Rider TypeSINGLE, DOUBLE, or OTHER
Min / Max UnitsRange of units this rule covers
Base PriceStarting price for the minimum units
Price Per Extra UnitAdditional cost per unit beyond the minimum. Set to 0 for flat price.
Fixed DepositRequired deposit amount (optional)
Start / End DateTemporary rules (e.g., holiday pricing) take priority over permanent rules when dates overlap
Active ToggleEnable/disable without deleting
💡
Pricing Priority: Temporary rules (with Start/End dates) always override permanent rules when they overlap. Location-level price overrides replace the Base Price of any assigned rule for that specific location.

🎈 Activities

Activities are the specific experiences or tours offered within each category (e.g., "Standard Jet Ski Tour", "Sunset Cruise", "ATV Beach Ride").

Creating an Activity

FieldNotes
NameActivity title shown in booking modal
CategoryWhich service type this belongs to
DescriptionOptional details about the experience
Active ToggleInactive activities won't appear in booking dropdowns

🗂️ Service Categories

Beyond the three built-in categories (Jet Skis, ATV, Yachts), you can create custom categories for any other service type you offer.

Creating a Custom Category

FieldNotes
NameCategory title (e.g., "Parasailing", "Paddleboard")
EmojiSelect from the picker or type your own — shown throughout the UI
DescriptionOptional details
Active ToggleInactive categories are hidden from all dropdowns
ℹ️
Category Hierarchy: Built-in categories (Jet Ski, ATV, Yacht) and custom categories are treated identically across the entire system — in bookings, pricing rules, activities, and locations.