🔐 390 FIELDOPS

Sign in with your email and password

Change League
FIELDOPS Admin Portal
Loading...

Operations Center

🌅
Sunset
--:--
💡
Lights On
--:--
⏸️
Automation
📋 Today's Field Schedule
📋
No field activity today
Reserved and scheduled field slots will appear here automatically.
📊 This Week's Utilization
📊
No utilization data yet
Weekly field usage metrics will appear once reservations are booked.

Approvals

📦 Batch Payment Processing

Coach Team Slots Total Amount Actions

📋 Pending Requests

No pending requests
When coaches reserve fields or request refunds, their pending requests will appear here for your review.

📜 Approval History

⚙️ AUDIT FILTERS

Setup / Config Click to expand

Configure which audit events are tracked and displayed. Toggle entire categories or expand to select specific actions.

1️⃣ Reservations
All
Hold Slot
Release Slot
Checkout
Payment / Credit
Cancel Reservation
Admin Overrides
Auto-Close / Auto-Open
2️⃣ Draft
All
Picks Made
Credits Added / Subtracted
Draft Window Open / Closed
Admin Overrides
Team Slot Assignments
Rec Slot Uploads
Open Team Slot Assignments
3️⃣ Coaches
All
Coach Signup
Approval / Not Approved
Reservations-Only Status
Coach Profile Changes
Background Check Status
Certification Uploaded
Permissions Grant / Remove
4️⃣ Admin Actions
All
Field Closures (Rainouts)
Slot Manager Mass Changes
Field Re-openings
System Toggles (Draft, Max Picks)
Config Changes
5️⃣ System / Automated
All
Auto Expiration of Holds
Auto Reconciliation
Cloud Function Errors
Mirror On/Off
Backfill / Cleanup Events
Reservations
Draft
Coaches
Admin Actions
System / Automated
LIVE ACTIVITY FEED
FILTER:
TIME
ACTION
ACTOR → TARGET
ENTITY
STATUS
AMOUNT

Loading live activity...

👥 System Administrators ?

Manage active users who can log in and modify system data.

User Role Access (Buckets) Last Login Status Action
Loading users...

📅 Season Access

Time-limited access scoped to a specific season. Expires with the season — use Roll Over to carry permissions forward.

User Season Role Access (Buckets) Last Login Actions
Loading season access...

👔 Organization Leadership

Board members and executive leadership for your organization.

Loading leadership...

⚾ Sport Leadership

Commissioners and leadership for each sport program.

Loading sport leadership...

📨 Functional Groups

Email distribution lists for automated system alerts. These users do not need login access.

Loading groups...

📅 Season Manager

Configure Divisions, Teams, Fields & Draft by Season

📋 Divisions Config

Select a Season above

Select a Season to configure divisions...

🏠 Owned Assets

Filtered by Sport
Loading fields...

🤝 External / Leased Fields

Fields at other facilities
🗺️

No external fields added yet

Click "+ Add External Field" below to get started.

New Division

Leave blank to auto-generate
Division ID Preview

Add Division

What sport is this division for?

Activate Standard Season Group


Select divisions to activate for this season:

Select a group above

Create Season

Season ID
SPR26
Display Name
Spring 2026

📋 Copy from Existing
Not the right season? Pick another:
🎯

Field Draft Setup

Loading...
1
Rules
2
Dates
3
Coaches
4
Review

Loading Field Draft settings...

Progress Tracker

Send Application

Paste emails and send the application link — coaches fill out the form and land in Pending Applications above

Application Form Settings

Configure sections, edit field labels, add custom questions, save named templates

📋

Contact Groups

Manage recruitment lists, import contacts, track sent emails

0 groups

Edit Coach

Basic Information
Account Status
Assigned Teams
Loading...

Use "Add Team" from the coach expand panel to assign teams

➕ Add Coach to Team

Compliance Gate

Control SafeSport and other certification requirements — block portal access until coaches comply

Loading...

Coach Eligibility & Overrides

Scan coaches for this season, apply late-add overrides, and control who can access Draft / FieldOps / Reservations.

Overrides --
Not Eligible --

Import Coaches

Upload a CSV file to add multiple coaches at once

📄

Drop CSV file here

or click to browse

Coach Details

--

Loading...

--
SCHEDULED
--
REMAINING
0
CONFLICTS
--%
CAPACITY
1
SETUP
Select a season
⚙️ SCHEDULING PRIORITIES
Configure how the auto-scheduler weighs coach constraints
Configured
👥 COACH DATA SUMMARY
View constraints submitted by coaches via Coach Portal
0 coaches
📊 SOLVER CONFIGURATION
All variables used by Auto Schedule
Ready
2
CREATE GAMES
0 games
Creates all matchups based on division configuration.
📋 SCHEDULE REPORT
Home/Away balance and matchup matrix
Expand to view
Home / Away Balance
Team Home Away Total Scheduled
Matchup Matrix (Total Games)
2 games 1 game 0 games
3
SCHEDULE
Not started
📋 SCHEDULING STRATEGY
Max games per team per week:
🎯 SCHEDULING SCOPE
Schedule multiple divisions together to prevent coach conflicts across age groups (e.g., Coach Bob with kids in 8U and 10U)
📊 SCHEDULER CONFIG (from database)
Loading...
0 / 0 games scheduled
👁️ VISUAL RUNWAY
See games on the calendar
AAA AA Scheduled
📊 RUNWAY STATUS
--
Scheduled 🔒
--
Game Runway
--
Practice Pool
--
Unallocated
Games
0 / 0 scheduled
FILTER:
Load a season and division to view the runway

⚙️ System Configuration

👨‍👩‍👦 Parent Portal

Show the Parent Portal button and registration banner on the public hub page for this league.

Enable Parent Portal
Parents can sign in, register players, view schedules

💳 Credit & Release Policy

When a coach releases a slot, credits are returned automatically if the practice is far enough away. Only refunds (real money) need admin approval.

Auto-Approve Credit Window
Credits auto-return if released this many hours before practice
Example: If set to 48, a practice on Wed 5:30 PM can be released with auto-credit until Mon 5:30 PM. After that, it requires admin approval. Refunds always require approval.

📋 Practice Builder

Seed the shared drill library for all coaches. Checks for duplicates — safe to run multiple times.

💡 Leviton Smart Lights

Auto-controls field lights based on reservations + sunset.

Lights Automation
Enable auto ON/OFF based on reservations
Leviton Account Email
My Leviton login email
Residence ID
Leviton residence identifier
Early On (min)
Turn on this many minutes before sunset
Stay On (min)
Keep lights on after last reservation ends
Gap Threshold (min)
Keep lights on between back-to-back slots
Max Extend (min)
Max coach extension request duration
Field → Switch Mapping

Map each field to its Leviton switch ID. Use Discover to auto-detect switches on your account.

🏟️ Facility Settings

Configure your organization's name for all emails and communications.

This is the org-level email address used for all system copies. No individual admin login email is ever used.

Send Copy of All Emails to Support Email
When ON, every outbound system email (coach invites, cancellations, booking events, etc.) blind-copies the Support Email above. Turn OFF to stop all copies — no admin personal inbox will ever be used.
@

Used in all payment reminder emails and booking confirmations.

💡 Preview: "Your League is looking for coaches..."

🔗 System URLs

Update the Base URL when you create new deployments — all other URLs auto-generate.

Page
Endpoint
Actions
ADMIN
Admin Portal
Mobile Command
COACH
Coach Portal
Scouting
Field Draft
DRAFT
Live Draft
Big Board
Select Board
Protections
TRYOUT
Tryout Hub
Check-In
Coordinator
PARENT
Parent Portal
Registration
Player Card
PUBLIC
Schedule
Games
Coach Apply
Version:

Step 1 – Choose a Division

Pick the division you want to configure. We'll pull in current settings and coaches from the database.

📋 Terms of Use Management

Manage terms documents for internal and external users. Upload Word docs or edit HTML directly.

🏠
Internal User Terms
Loading...
INTERNAL

For admins and internal coaches (staff/volunteers)

Loading terms...
🌐
External User Terms
Loading...
EXTERNAL

For external coaches and outside facility rentals

Loading terms...

📋 Coach SOP Document

Upload the Coach Standard Operating Procedures document. Automatically included in recruitment emails.

📋
Rec Coach SOP
Loading...
RECRUITMENT
No SOP uploaded yet. Upload a .docx file below.

🏷️ Team Names Master List

Manage the master list of team names available for all seasons. Add custom names or reset to MLB defaults.

Available Team Names
Loading...
💡
Drag to reorder. Position #1 gets assigned first. To assign names or let coaches pick, go to Season → Division → Team Name Assignment
Loading team names...

🚨 Emergency Alerts

0 today

Recent Alerts

No alerts sent today

⚡ Quick Actions

🔧
Report Issue
New Ticket
📋
Open Tickets
3
Resolved
12
📧
Notifications
7

🔧 Maintenance Tickets

Sprinkler head broken near dugout
High
📍 Field 10 2 hours ago
Fence gate latch not closing
Medium
📍 Back Gate Yesterday
Light flickering on pole #3
Low
📍 Field 7 3 days ago

📅 Facility Status

Shows open/closed status based on reservations. Powers the automated 6AM gate notification emails.

Today OPEN
Hours 4:30 PM – 9:30 PM
Reservations 5 active
Fields 7, 10, 12
Tomorrow CLOSED
Hours No reservations
Reservations 0
Fields
🚽
Restroom Alert
This will send an immediate notification to the facility office that the restrooms need attention.
Sent by: Admin
Time: Now
💧
Water Alert
This will send an immediate notification to the facility office that the water needs to be turned on.
Sent by: Admin
Time: Now
Alert Sent!
The office has been notified. They'll address this as soon as possible.
Sent by: Admin
Time: Just now

Report Issue

Low
Medium
High

📥 Import Players

Step 1: Select Sport & Season

COACH RECRUITMENT

Welcome to Recruitment

Recruit, vet, and approve coaches for upcoming seasons. Run the full pipeline from initial outreach through application review and final approval.

The Recruitment Pipeline

1
Outreach
2
Interest
3
Apply
4
Approve
Assigned

Select a season above and toggle recruitment ON to start a cycle.

How It Works

📧

Campaigns

Send surveys and emails to returning coaches and new prospects

🎯

Interest & Tiering

Track responses, auto-tier returning coaches, and nudge non-responders

📋

Applications

Review applications, run background checks, approve or decline

📊

Coverage Tracker

See gaps by division and know exactly where you still need coaches

🔒

Firewalled External Pipeline

External team applications are isolated from your internal REC recruitment. Staff with the "External Recruitment" permission see only that section.

Not Recruiting
Toggle to start recruitment cycle

📅 Recruitment Phases

Select a season to view phases
Interested
--
of -- contacted
-- returning · -- new-- opted out
Applied
--
of -- interested
-- pending
Approved
--
of -- applied
-- renewals · -- new
Gaps Remaining
--
across -- divisions

🗺️ Coverage Map 0 divisions

Division Teams Coaches Needed Interested Committed Coverage Status Action
Select a season to view coverage

📊 Surveys 0

No surveys created yet

Coach Payment Lookup Verify if a coaching candidate has paid registration

Interest Pipeline 0

Tier:
Coach Status Interested In Tier Conflicts Seasons Nudges Actions
🎯
No interest responses yet.
Start a recruitment cycle to collect interest.

📋 Application Pipeline 0

Coach Type Division Tier Application Conflicts Actions
No applications yet

🔒 External Pipeline 0

🔒
External Team Applications
Share the application link with external organizations. They enter the access code to apply. Approve here to forward them to the Coaches tab for onboarding.
Loading...
Coach Organization Division Status Submitted Actions
No external applications

Season Results

Select a season above to view aggregated survey results.

Campaigns & Outreach 0

Campaign Type Audience Sent Opened Responded Nudge Progress Actions
No campaigns yet

⚙️ Setup / Config Reports

Financial Analytics

Showing: Last 30 Days

📊 Export Options

Setup Options

🏟️

You already have data

What would you like to do?

🏟️ Add Field

Configure a new field or cage

Does your organization own this facility?

This helps us organize your fields correctly.

🏠
Yes — We own / operate this facility
Fields your organization controls and schedules directly.
🤝
No — We use this facility externally
Fields at another organization's facility that you lease or borrow.
Search by name or location — saves you from typing everything

What's the name of this field?

Enter a clear, recognizable name.

This is how coaches will see it when booking.
Select all sports this field can be used for.

What type is this field?

Used for filtering and pricing

Common types: Field, Cage, Court, Turf

Can two teams share this field?

Split slots let 2 teams book the same time

Set base pricing for this field

Price per hour (before any lights fees)

Internal (Member) $/hr
External (Non-Member) $/hr

Does this field have lights?

Fields with lights can charge extra for evening reservations

Which divisions can practice on this field?

Select which divisions can be scheduled for practices here

Loading divisions...

🌐 External Rentals

Can outside renters book open slots on this field?

When is this field open?

Set the hours this field is available for ANY use. You can block specific times later in the scheduler.

Template to
Monday to
Tuesday to
Wednesday to
Thursday to
Friday to
Saturday to
Sunday to

💡 Uncheck a day to mark it as closed. These hours will be used by Season Builder.

Public Note (optional)

This note appears on every booking for this field

💡 How this works: This note will be visible to coaches when they view or book this field. Use it for rules, restrictions, or helpful info.

Paste a Google Maps link so coaches can find the field location

Summary

📋 Add Division

Configure a new division

Division Tag & Sport

Short identifier and the sport this division plays

Keep it short - this becomes the database key

Links this division to sport-capable fields

Display Name

What coaches see when selecting their division

Does this division have age requirements?

Used for Player Draft eligibility and registration

Is this division internal or external?

Determines which pricing tier applies

Note (optional)

Summary

Edit Item

Update details

✅ Approvals Setup

Configure who approves what

Coach Application Approvals

How should new coach registrations be handled?

Comma-separated email addresses

Payment Verification

How should offline payments (Venmo, PayPal) be verified?

Usually your treasurer or finance person

✅ Review Your Settings

💡 Lights Schedule

Austin, TX

Today's Date --
Sunset --:--
💡 Lights Come On --:--
Buffer 30 min before sunset
Current Status --
Loading...

Add Admin User

Add Season Access

Roll Over Season Access

The original season entry will not be removed. Delete it manually when ready.

↩ Roll Over Season

Copy all season access permissions from one season to another. Everyone who has access to the From season will be granted the same role and buckets for the To season. Existing entries are not removed.

🔐

Admin Access Guide

Understanding roles, permissions, and Setup Views

🎯 How Admin Access Works

390 FieldOps uses a role-based access control (RBAC) system. Each admin user has a role that determines what they can see and do in the system.

🔑 The Key Concept

Higher roles have more access. Owner → Super Admin → Editor → Viewer. Each level inherits all permissions from levels below it.

RoleCan SeeCan Do
👑 Owner Everything Everything + Grant Owner access + Cannot be deleted
⚡ Super Admin Everything Everything except granting Owner access
🛠️ Editor Assigned buckets only Manage data in assigned areas
👀 Viewer Reports & logs Read-only access

👑 Owner

The league president or founder. This is the highest level of access and comes with special protections.

Owner Privileges

• Full access to every tab, feature, and setting
Only role that can grant Owner access to others
• Cannot be deleted by anyone (including themselves)
• Can transfer ownership by making someone else an Owner first

⚡ Super Admin

Your trusted board members or senior volunteers. Full system access without the ownership protections.

Super Admin Access

• Full access to every tab and feature
• Can add/edit/remove Editors and Viewers
• Can add/edit Super Admins
Cannot grant Owner access to anyone
• Can be removed by Owner

🛠️ Editor / Manager

Volunteers who help with specific tasks. They only see the tabs you assign to them via "Setup Views" buckets.

Editor Access

• See only the tabs included in their assigned bucket(s)
• Can edit and manage data within their areas
• Cannot access Access Control, Audit, or Health tabs
• Cannot add or remove other admins

👀 Viewer

Read-only access for people who need to see reports without making changes.

Viewer Access

• Read-only access to Dashboard and Finance/Reports
• Cannot modify any data
• Good for: Board oversight, accountants, sponsors

🪣 What Are Setup Views?

Setup Views let you create "buckets" of permissions. When you assign an Editor to a bucket, they automatically get access to all the tabs in that bucket.

Create Bucket
Select Tabs
Assign to Editor
Editor Sees Those Tabs
⚠️ Owner/Super Admin Only

Only Owners and Super Admins can see and configure Setup Views. This prevents Editors from expanding their own access.

📋 Default Buckets

BucketTypical UseDefault Tabs
🏟️ Fields Facilities manager Fields + related management
👥 Coaches Coach coordinator Coaches tab + applications
📅 Reservations Scheduling volunteer Slots, Season Builder, Game Scheduler
🎯 Draft Player agent Draft tools
🔧 Other General helper Dashboard, Finance, Maintenance

You can customize which tabs appear in each bucket using the Setup Views panel (click the 🪣 section at the top of the Access tab).

🛡️ Security by Design

390 FieldOps is built with multiple layers of protection to keep your league data safe.

🔒 Owner Protection

Only Owners can grant Owner access. This prevents anyone from escalating their own privileges or giving someone else full control without your knowledge.

📝 Audit Trail

Every admin action is logged. You can see who did what and when in the Audit tab.

✅ Best Practices

• Keep only 1-2 Owners (league president + backup)
• Use Super Admin for trusted board members
• Use Editor with specific buckets for volunteers
• Review the admin list periodically

❓ Common Questions

QuestionAnswer
Can I delete an Owner? No. Owners must first transfer ownership (make someone else Owner, then have them demote the original).
Can a Super Admin make themselves Owner? No. Only existing Owners can grant Owner access.
What if I need help with my Owner account? Contact 390 FieldOps support. We can assist with account recovery.

Add Organization Leader

Lower numbers appear first in the list.

Add Sport Leader

Edit Group

Members receive automated system alerts for this category.

Create Custom Group

Activate Division Template

Select an active division template to add to Current Season.

Confirm
Are you sure?
✈️

Pilot's Manual

How 390 FieldOps Works

🛫 Think of Your League as an Airline

Everything in 390 FieldOps works like running a small airline. Once you understand this, the whole system makes sense.

Your LeagueThe Airline
Your FacilityThe Airport
FieldsPlanes
Time SlotsSeats on the plane
SeasonsFlight schedules (Spring flights, Fall flights)
REC Coaches & TeamsTicketed Passengers (guaranteed seat)
External TeamsStandby Passengers (take leftovers)
🎯 The Big Idea

Ticketed passengers get seats first. Standby passengers only get what's left over. You control how many seats to release to standby.

📅 Seasons = Flight Schedules

A season is like a flight schedule. "Spring 2026" is your daily flights from March through May. "Fall 2026" is September through November.

Season TypeWhat It IsWho Flies
Spring / FallSeasonal scheduleTicketed passengers (REC teams)
Year-LongYear-round operationsStandby passengers (External teams)
💡 Why Two Types?

Spring/Fall: Your rec league runs during these times. Coaches buy tickets (register), get assigned seats (practice times), fly for the season, done.

Year-Long: External teams don't follow your rec schedule. They need to book whenever you have room - all year. So they join once and stay in the system.

🎫 Divisions = Traveler Programs

Divisions are how you organize different types of travelers. Each type has different rules for how they get seats.

DivisionType of TravelerHow They Get Seats
REC Ticketed Passengers Buy ticket → Assigned seat → Guaranteed to fly
OPEN Charter Groups Organize their own group → Pick from available seats
EXTERNAL Standby Passengers Wait for leftovers → First-come-first-served
⚠️ Put Teams in the Right Division

If you put an external team in REC, they'll see draft tools and field draft - confusing! External teams just need to book leftover seats, nothing else.

💺 Inventory = All Your Seats

Season Builder creates every possible seat on every plane for the season. That's your inventory - all the seats you COULD sell.

Season Builder Runs
Creates All Seats
All Seats NOT FOR SALE
🔒 Everything Starts Closed

When Season Builder runs, it creates every possible seat - but none of them are for sale yet. This is your protection. Nobody can book anything until YOU release seats.

Seat StatusWhat It Means
🔒 CLOSEDSeat exists but not for sale. Nobody can book it.
🎫 ASSIGNEDTicketed passenger has this seat. It's theirs.
✅ OPENSeat released to standby. First-come-first-served.

🎫 Ticketed Passengers (REC Teams)

REC coaches and teams are like passengers who buy tickets. They commit to a season, get assigned seats, and fly.

Coach Registers
Buys Ticket
Field Draft
Gets Assigned Seat
🔄 Why Do They Re-Register Each Season?

A Spring ticket doesn't work on a Fall flight. Each season is a new flight schedule. Coaches commit to each season separately - new ticket, new seat assignment.

Spring 2026Fall 2026
Coach registers ✓Coach must register AGAIN
Gets assigned seats ✓Gets NEW seat assignments
Season ends, ticket usedFresh start

⏳ Standby Passengers (External Teams)

External teams are like standby passengers. They'd fly another airline if yours is full. They check daily: "Any seats available?" If yes, they book. If no, they go elsewhere.

Team Applies Once
You Approve
They're Standby Forever
Book Available Seats
✅ Approve Once, Done

Unlike ticketed passengers, standby doesn't re-apply each season. They're not committing to anything - just waiting for leftovers. One approval, they're in the system.

🎯 The Key Protection

Being approved for standby does NOT give them any seat. It just lets them SEE available seats. If you haven't released seats, they see nothing. They can only book what you OPEN.

❄️ Off-Season = No Scheduled Flights

Between Spring and Fall, your ticketed passengers aren't flying. The planes are sitting there. What do you do?

OptionWhat Happens
Open to StandbyRelease seats to external teams. They book first-come-first-served.
MaintenanceGround the planes. No seats available. Nobody flies.
PartialOpen some weeks, close others. Your choice.
💡 Off-Season Flexibility

During off-season, you have full control. Open December to standby? Sure. Close January for maintenance? No problem. Open February but only weekends? You're the boss.

👔 You're the Boss

You run this airline. Every seat, every flight, every decision is yours.

You DecideHow
What seats existSeason Builder
Which seats go to ticketed passengersField Draft
Which seats go to standbyOpen Inventory
Which days to ground planesBlackout Dates
When to start selling seatsCreate Season
🛡️ Your Protection

Nothing happens automatically. Seats aren't for sale until you release them. Standby can't book until you open seats. Future seasons don't exist until you create them. You're in control.

✈️ The One-Liner

"Ticketed passengers get seats first. Standby gets leftovers. You decide how many leftovers to release."