Code Context <button class="card-caption-link"
type="button"
data-course-id="<?php echo (int)$idcourse; ?>"
$viewFile = '/home3/onebreat/public_html/app/View/Layouts/fii.ctp'
$dataForView = array(
'courses' => array(
(int) 0 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 1 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 2 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 3 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 4 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 5 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 6 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 7 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
),
(int) 8 => array(
'ClassicCourse' => array(
[maximum depth reached]
),
'ClassicClasslevel' => array(
[maximum depth reached]
),
'ClassicInstructor' => array(
[maximum depth reached]
),
'ClassicLocation' => array(
[maximum depth reached]
),
'ClassicFacility' => array(
[maximum depth reached]
),
'ClassicCourseStatus' => array(
[maximum depth reached]
),
'Language_l' => array(
[maximum depth reached]
),
'ClassicCurrency' => array(
[maximum depth reached]
)
)
),
'speciality_instructor_types' => array(
(int) 0 => 'SI-Basic Freediving Safety',
(int) 1 => 'Instructor Trainer',
(int) 3 => 'Waterman Survival Instructor',
(int) 5 => 'Monofin',
(int) 6 => 'SI-Advanced Freediving Safety',
(int) 7 => 'Spearfishing Instructor',
(int) 8 => 'SI-Freediving Photography'
),
'core_instructor_types' => array(
(int) 0 => 'Level 1 Instructor',
(int) 2 => 'Level 2 Instructor',
(int) 3 => 'Level 3 Instructor',
(int) 4 => 'Junior Freediver Instructor'
),
'course_levels' => array(
(int) 0 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 1 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 2 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 3 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 4 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 5 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 6 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 7 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 8 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 9 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array([maximum depth reached])
),
(int) 10 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 11 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 12 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 13 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
),
(int) 14 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array([maximum depth reached])
),
(int) 15 => array(
'ClassicClasslevel' => array(
[maximum depth reached]
),
'LevelInfo' => array(
[maximum depth reached]
)
)
),
'radius' => '',
'location_str' => null,
'searchtype' => null,
'location' => null,
'level' => null,
'instructor' => '',
'order' => 'sort_name',
'content_for_layout' => '<main class="main main-search-section" style="background-color: #f7f7f9;">
<div class="section section-map-view section-other" style="background-color: #f7f7f9;">
<div class="d-block d-md-none">
<div class="search-box search-box--expand">
<input class="search-box__input search-box__input--sm search-box__input--prepand-icon" type="text" readonly placeholder="Search" value="" data-lvl="" data-location="" data-instuctor="">
<button class="search-box__btn search-box__btn--prepand search-box__btn--sm search-box__btn--opacity-hover" aria-label="start search"><img class="search-box__icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-search-secondary" alt="Magnifier"></button>
<div class="search-box__content">
<button class="search-box__close" aria-label="Close" type="button"> </button>
<div class="tabs-list">
<button class="tabs-list__item tabs-list__item--active tabs-list__item--mobile-friendly tabs-list__item--search-box" data-target="tab-modal-verify-search-instructor" type="button"> <span class="d-none d-md-inline-block">Find a </span> Course </button>
<button class="tabs-list__item tabs-list__item--mobile-friendly tabs-list__item--search-box" data-target="tab-modal-verify-search-freediver" type="button"> <span class="d-none d-md-inline-block">Find an </span> Instructor </button>
</div>
<div class="tabs-content-list">
<div class="tabs-content-list__item tabs-content-list__item--box tabs-content-list__item--active" id="tab-modal-verify-search-instructor">
<form name="form-course" method="get" action="https://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" required placeholder="Select Course Level" type="text" name="level" value="">
</label>
<div class="form-control search-box__control form-control--select select_course_small"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_course_small">
<input class="form-control__select-input" placeholder="Enter city name" name="location_str" value=>
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder="Name" name="instructor" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_course_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
<div class="tabs-content-list__item tabs-content-list__item--box" id="tab-modal-verify-search-freediver">
<form method="get" action="https://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-professional-rating"><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" required placeholder="Select Rating" type="text" name="instructor_types" value="">
</label>
<div class="form-control search-box__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor_small">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name <span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_instructor_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container accordion-wrap">
<div class="accordion">
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find a Course</p>
</div>
<form name="form-course" class="accordion__content" method="get" action="https://freedivingproshop.com/fii/search" >
<label class="form-control accordion__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" name="level" required placeholder="Select Course Level" type="text" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left: 3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select" >
<input name="location_str" class="form-control__select-input" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button type="submit" class="btn btn--primary accordion__apply-btn search_submit_course" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div>
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find an Instructor</p>
</div>
<form class="accordion__content" action="https://freedivingproshop.com/fii/search" method="get">
<label class="form-control accordion__control" data-micromodal-trigger="modal-professional-rating" ><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" placeholder="Select Rating" type="text" required name="instructor_types" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder=" Name" type="text" name="instructor" value="">
<input name="searchtype" value="type_instructor" type="hidden">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary accordion__apply-btn" id="search_instructor_submit" type="submit" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div><!--<a class="accordion__item accordion__item--link" href="/fii/online_courses">
<div class="accordion__header">
<p class="accordion__title">Learn Online</p>
</div></a>-->
</div>
</div>
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc0b4440-trace').style.display = (document.getElementById('cakeErr69bb1cc0b4440-trace').style.display == 'none' ? '' : 'none');"><b>Notice</b> (8)</a>: Undefined index: HTTP_ACCEPT_LANGUAGE [<b>APP/Config/bootstrap.php</b>, line <b>121</b>]<div id="cakeErr69bb1cc0b4440-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc0b4440-code').style.display = (document.getElementById('cakeErr69bb1cc0b4440-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc0b4440-context').style.display = (document.getElementById('cakeErr69bb1cc0b4440-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1cc0b4440-code" class="cake-code-dump" style="display: none;"><code><span style="color: #000000"><span style="color: #0000BB"> </span><span style="color: #007700">} else if (isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'vns_lang'</span><span style="color: #007700">]) AND </span><span style="color: #0000BB">language_file_exist</span><span style="color: #007700">(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'vns_lang'</span><span style="color: #007700">])) {</span></span></code>
<code><span style="color: #000000"><span style="color: #0000BB"> $language </span><span style="color: #007700">= </span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'vns_lang'</span><span style="color: #007700">]; </span></span></code>
<span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000BB"> </span><span style="color: #007700">} else if (</span><span style="color: #0000BB">language_file_exist</span><span style="color: #007700">(</span><span style="color: #0000BB">$language </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">"HTTP_ACCEPT_LANGUAGE"</span><span style="color: #007700">],</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">))) {</span></span></code></span></pre><pre id="cakeErr69bb1cc0b4440-context" class="cake-context" style="display: none;">$language = 'en'</pre><pre class="stack-trace">get_language - APP/Config/bootstrap.php, line 121
_define_lang - APP/Config/bootstrap.php, line 137
_t - APP/Config/bootstrap.php, line 157
include - APP/View/Elements/search_initial.ctp, line 255
View::_evaluate() - CORE/Cake/View/View.php, line 971
View::_render() - CORE/Cake/View/View.php, line 933
View::_renderElement() - CORE/Cake/View/View.php, line 1224
View::element() - CORE/Cake/View/View.php, line 418
include - APP/View/Fii/search.ctp, line 13
View::_evaluate() - CORE/Cake/View/View.php, line 971
View::_render() - CORE/Cake/View/View.php, line 933
View::render() - CORE/Cake/View/View.php, line 473
Controller::render() - CORE/Cake/Controller/Controller.php, line 963
FiiController::search() - APP/Controller/FiiController.php, line 1249
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167</pre></div></pre><!-- Cursos -->
<script type="text/javascript">
var points = [];
var pointsFacilities = [];
var initLat = 44.5403;
var initLng = -78.5463;
</script>
<span class="right" style="display: none">
<label>Order by</label>
<select class="styled" id="order_by">
<option value="sort_date">Date</option>
<option value="sort_name" selected>Name</option>
<option value="sort_fee">Fee</option>
</select>
</span>
<div style="display: none">
<a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:8/sort:ClassicCourse.ini/direction:asc/callto:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:8/sort:ClassicClasslevel.name/direction:asc/callto:" id="sort_name" class="desc">ClassicClasslevel Name</a><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto:" id="sort_fee">ClassicCourse Tuitionfee</a> </div>
<div class="container">
<div class="row row-map-view initial-search row-map-view--mobile-list-view">
<div class="col-md-12 row-map-view__map-col row-map-view__map-col--lg">
<div class="search-map js-toggle-to-map-view" id="side-map-search"></div>
<div class="map-slider">
<div class="splide">
<div class="splide__track">
<div class="splide__list"></div>
</div>
</div>
</div>
</div>
<button style="z-index: 200;" class="row-map-view__toggle row-map-view__toggle--to-map-view">MAP</button>
<button class="row-map-view__toggle row-map-view__toggle--to-list-view">LIST</button>
<div class="col-md-12 row-map-view__main-col row-map-view__main-col--lg">
<div class="card-list card-list--mobile-mt card-list--pt">
<div class="card-list__title">89 ACTIVE COURSES</div>
<div class="row">
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 18, 2026 - Apr 19, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13005">13005 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Freediving Fundamentals with a Pro Spearfisherman</p>
<p class="card__text">
Costa Mesa, Costa Mesa, California
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/194" >
Ryan Moore </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://310-345-0446">
310 345 0446 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:310-345-0446">
310 345 0446 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/20">Spear America Costa Mesa</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://949-536-5336">
949-536-5336 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:949-536-5336">
949-536-5336 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 600 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 300 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13005');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
May 01, 2026 - May 03, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13008">13008 - Level 1 Freediver</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/194" >
Ryan Moore </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://310-345-0446">
310 345 0446 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:310-345-0446">
310 345 0446 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 525 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 275 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13008');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Jun 05, 2026 - Jun 07, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13009">13009 - Level 1 Freediver</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/194" >
Ryan Moore </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://310-345-0446">
310 345 0446 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:310-345-0446">
310 345 0446 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 525 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 275 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13009');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 07, 2026 - Apr 08, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13017">13017 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">PRIVATE Level 1 Course - Marathon</p>
<p class="card__text">
Formula Freediving, Marathon, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/241" >
Tracy Wollschlager </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://954-559-4774">
954-559-4774 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-559-4774">
954-559-4774 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 595 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 595 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13017');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
May 30, 2026 - May 31, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13018">13018 - Level 1 Freediver</a></p>
<p class="card__text">
Olympic Peninsula, Port Angeles, WA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/275" >
Ryan Strong </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://206-681-0897">
206-681-0897 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:206-681-0897">
206-681-0897 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 550 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 300 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13018');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Jun 10, 2026 - Jun 27, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13020">13020 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Level 1 Freediver June A</p>
<p class="card__text">
School of Fish, Rocky Point, New York
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/124" >
Dean McCormick </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://631-965-1330">
631-965-1330 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:631-965-1330">
631-965-1330 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 450 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13020');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 16, 2026 - Apr 18, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13022">13022 - Level 1 Freediver</a></p>
<p class="card__text">
Taino Divers, Rincon, Puerto Rico
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/49" >
Joe Sheridan </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://910-352-6371">
910-352-6371 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:910-352-6371">
910-352-6371 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 695 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13022');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 18, 2026 - Apr 19, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13028">13028 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Spearfishing Experts shop taught by David Fritch</p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/225" >
David Fritch </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://4077652821">
4077652821 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:4077652821">
4077652821 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/26">Hypoxic Hunters</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://954-955-1579">
954-955-1579 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-955-1579">
954-955-1579 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 575 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 100 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13028');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 25, 2026 - Mar 26, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13029">13029 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">PRIVATE COURSE - Erin & Family</p>
<p class="card__text">
Formula Freediving, Marathon, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/241" >
Tracy Wollschlager </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://954-559-4774">
954-559-4774 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-559-4774">
954-559-4774 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 0 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13029');" >register</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="text-center">
<div class="pagination pagination--mb">
<div class="pagination__list">
<!--https://book.cakephp.org/2/en/core-libraries/helpers/paginator.html#PaginatorHelper> -->
<a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:7/sort:ClassicClasslevel.name/direction:desc/callto:" class="pagination__arr pagination__arr--left" rel="prev"></a><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:2/sort:ClassicClasslevel.name/direction:desc/callto:">2</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:3/sort:ClassicClasslevel.name/direction:desc/callto:">3</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:4/sort:ClassicClasslevel.name/direction:desc/callto:">4</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:5/sort:ClassicClasslevel.name/direction:desc/callto:">5</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:6/sort:ClassicClasslevel.name/direction:desc/callto:">6</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:7/sort:ClassicClasslevel.name/direction:desc/callto:">7</a></span><span class="pagination__item pagination__item--active pagination__item">8</span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:9/sort:ClassicClasslevel.name/direction:desc/callto:">9</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:10/sort:ClassicClasslevel.name/direction:desc/callto:">10</a></span><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:9/sort:ClassicClasslevel.name/direction:desc/callto:" class="pagination__arr pagination__arr--right" rel="next"></a> </div>
</div>
<div class="d-block text-center-mobile"><a class="btn btn--link btn--link-dark" href="/app/webroot/files/levelinfo/flowchart.jpg" target="_blank">Not sure where to start?</a></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var pp = new google.maps.InfoWindow();
google.maps.event.addDomListener(window, 'load', function(){
initialize(initLat, initLng);
});
$("#order_by").change(function(e) {
location.href = $('#' + $("#order_by").val()).attr("href");
});
var init_map = function() {
var FACILITIES = [
{ lat: 26.2615219, lng: -80.09862869999999 },
{ lat: 19.6477165, lng: -155.9985406 },
{ lat: 33.6872868, lng: -117.8586696 },
{ lat: 30.3934117, lng: -86.49931169999999 },
{ lat: 24.7105192, lng: -81.0976064 },
{ lat: 25.2864004, lng: 51.5328925 },
{ lat: 49.8370002, lng: 18.2830054 }
]
var INSTRUCTOR_COURSES = {
// instructor-name: number_of_courses;
}
if(!window.GMmap) setTimeout(init_map, 100);
else {
var bounds = new google.maps.LatLngBounds();
//current courses on maP
// Load instructors
$.ajax({
"type": "POST",
"url": "/locator/instructors",
"dataType": "json",
"success": function(data) {
// for (i = 0; i < point.length; i++) point[i].setMap(null);
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geoloclong) <= 0.01;
})
if(!INSTRUCTOR_COURSES[`${data[i].namehtml}`]) {
INSTRUCTOR_COURSES[`${data[i].namehtml}`] = data[i].nrocourses;
}
if (occupied_by_facility) {
continue;
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geoloclong)
});
phone = "";
if(data[i].phone) {
phone = $("<div><br><big></big></div>");
phone.find("big").text("Phone: " + data[i].phone);
phone = phone.html();
}
email = "";
if(data[i].email) {
email = $("<div><span></span><a></a></div>");
email.find("span").text("Email: ");
email.find("a").attr("href", "mailto:" + data[i].email);
email.find("a").text(data[i].email);
email = email.html() + "<br>";
}
if(data[i].levels) point.levels = data[i].levels;
else point.levels = "0";
point.idinstructor = data[i].idinstructor;
var strurl = data[i].idinstructor;
var instructorAddress = '';
if (data[i].address) {
instructorAddress += data[i].address;
}
if (data[i].city && data[i].address) {
instructorAddress += `, ${data[i].city}`
} else {
instructorAddress += `${data[i].city}`
}
if (data[i].state && data[i].cname && data[i].state !== data[i].cname) {
instructorAddress += `, ${data[i].state}`;
}
if (!data[i].state && data[i].cname) {
instructorAddress += `, ${data[i].cname}`;
}
var imgUrl = ''
if (data[i].ifaceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var phone = data[i].phone.split(' ').join('-');
var strcontent = `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content"><p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${strurl}"> ${data[i].namehtml}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${phone}"> ${data[i].phone}</a></p>
<p class="card__text">${email}</p>`
strcontent += `<p class='card__text'>${instructorAddress}</p>`;
if (data[i].nrocourses > 0) {
strcontent += "<p class='card__text'><a href='/fii/courses_by/"+ strurl + "'>All Courses List (" + data[i].nrocourses +")</a></p> ";
}
if (data[i].nrocoursesloc > 0) {
strcontent += "[ "+ data[i].nrocoursesloc+" Courses in this Location ]" ;
}else {
strcontent += "<p class='card__text'><a href='mailto:"+data[i].email+"?subject=I would like to request a freediving course on your location "+data[i].lname+"'>Request a course on this location</a></p>" ;
}
strcontent += `</div></div>`;
point.infowindow = new google.maps.InfoWindow({
content: strcontent
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
//alert(pp.infowindow);
if (pp.infowindow != undefined) { pp.infowindow.close();}
this.infowindow.open(GMmap, this);
pp = this ;
});
points.push(point);
}
},
"complete": function() {
$.ajax({
"type": "GET",
"url": "/locator/courses",
"dataType": "json",
"success": function(data) {
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geolocLong) <= 0.01;
});
if (occupied_by_facility) {
continue;
}
var allCourses = INSTRUCTOR_COURSES[`${data[i].iname}`];
if (allCourses) {
allCourses = '(' + allCourses + ')';
} else {
allCourses = ''
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geolocLong)
});
var imgUrl = ''
if (data[i].faceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var locationInfo = `${data[i].location_name}, ${data[i].city}, ${data[i].state}`;
var detailUrl = '';
detailUrl = data[i].idinstructor
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${detailUrl}"> ${data[i].iname}</a></p>
<p class="card__text"><span>Phone</span>: <a class="mobile-tel" href="tel:${data[i].phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${data[i].phone}"> ${data[i].phone}</a></p>
<p class="card__text">Email: <a href="mailto:${data[i].email}">${data[i].email}</a></p>
<p class="card__text">${locationInfo}</p>
<p class='card__text'><a href="/fii/courses_by/${detailUrl}">All Courses List ${allCourses}</a></p>
[${data[i].number_of_courses} courses in this location]
</div>
</div>
</div>
`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9998);
points.push(point);
};
}
});
}
});
// Load facilities
var addFacilityLocation = function(facility) {
var lat = facility.geolocLat;
var lng = facility.geoloclong;
var address = facility.address + (facility.city ? ", " + facility.city : "") + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
if(!(lat && lng)) {
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
"address": address,
},
"success": function(addr) {
if(addr && addr.status && addr.status == 'OK' && addr.results && addr.results[0]) {
lat = addr.results[0].geometry.location.lat;
lng = addr.results[0].geometry.location.lng;
addFacility(facility, lat, lng);
}
}
});
}
else {
addFacility(facility, lat, lng);
}
}
var addFacility = function(facility, lat, lng) {
if (facility && (facility.idmembershiplevel == 5 || facility.name.toLowerCase() == 'iqsub')) {
var point = new google.maps.Marker({
"map": GMmap,
"icon": "https://freedivingproshop.com/img/frontend/content/fii_icon.png",
"position": new google.maps.LatLng(lat, lng)
});
var email = "";
if (facility.email) {
email = `<p class="card__text">Email: <a href="mailto:${facility.email}">${facility.email}</a></p>`;
}
var address = facility.address + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
var phone = facility.phone.split(' ').join('-');
// Number of courses available at the facility
var coursesInfo = facility.nrocoursesloc > 0
? `<p class="card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.nrocoursesloc} upcoming courses</a></p>`
: "<p class='card__text'>No courses currently available</p>";
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII FACILITY #${facility.FII_id}</p>
<p class="font-weight-bold text-placeholder-color card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.name}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}">${facility.phone}</a>
<a class="desktop-tel" href="callto://${phone}">${facility.phone}</a></p>
${email}
<p class="card__text">${address}</p>
${coursesInfo}
</div>
</div>
</div>`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
});
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
});
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9999);
if (pointsFacilities) pointsFacilities.push(point);
}
};
$.ajax({
"type": "GET",
"url": "/locator/facilities",
"dataType": "json",
"success": function(data) {
for(var i = 0; i < data.length; i++) {
var facility = data[i];
addFacilityLocation(data[i]);
}
}
});
}
}
init_map();
function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
function stringDateMapper(date) {
var months = {
01: 'Jan',
02: 'Feb',
03: 'Mar',
04: 'Apr',
05: 'May',
06: 'Jun',
07: 'Jul',
08: 'Aug',
09: 'Sep',
10: 'Oct',
11: 'Nov',
12: 'Dec'
}
var removeYear = date.slice(5)
var removeTimestamp = removeYear.replace('01:00:00', '');
var intoArray = removeTimestamp.split('-');
return `${months[Number(intoArray[0])]} ${intoArray[1]}`;
}
var fullscreen = false;
document.onfullscreenchange = function(event) {
fullscreen = !fullscreen;
if (!fullscreen && $( window ).width() < 1200) {
$('.row-map-view__toggle.row-map-view__toggle--to-list-view').click();
}
}
</script>
<!-- <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDHS8cBjXUwNpyPHDiwTkXniVmeReTGr38&language=en&callback=initMapMainMapSearch"></script> -->
<div class="modal micromodal-slide" id="modal-select-course-lvl" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-select-course-lvl-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-select-course-lvl-title">Select Course Level</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-course-lvl">
<button class="course-list__item course-item course-item--single js-course-item-select">All Courses</button>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-course-item-select">Level 1 Freediver</button>
<button class="course-item__name js-course-item-select">Level 2 Freediver</button>
<button class="course-item__name js-course-item-select">Level 3 Freediver</button>
<button class="course-item__name js-course-item-select">Junior Freediver</button>
<button class="course-item__name js-course-item-select">Level 1 Freediver POOL ONLY</button>
<button class="course-item__name js-course-item-select">Junior Freediver POOL ONLY</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-course-item-select">Introduction to Monofin</button>
<button class="course-item__name js-course-item-select">Advanced Freediving Safety</button>
<button class="course-item__name js-course-item-select">Basic Freediving Safety</button>
<button class="course-item__name js-course-item-select">Waterman Survival</button>
<button class="course-item__name js-course-item-select">Waterman Survival Extended</button>
<button class="course-item__name js-course-item-select">Spearfishing</button>
<button class="course-item__name js-course-item-select">Freediving Photography</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/professional.png">
<div class="course-item__content">
<p class="course-item__type">Professional Courses</p>
<button class="course-item__name js-course-item-select">Assistant Instructor</button>
<button class="course-item__name js-course-item-select">Freediving Instructor Exam</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-course-item-select">Practice Sessions and Trips</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="modal-professional-rating" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-professional-rating-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-professional-rating-title">Select Professional Rating</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-professional-rating">
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-professional-rating">Level 1 Instructor</button>
<button class="course-item__name js-professional-rating">Level 2 Instructor</button>
<button class="course-item__name js-professional-rating">Level 3 Instructor</button>
<button class="course-item__name js-professional-rating">Junior Freediver Instructor</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-professional-rating">SI-Basic Freediving Safety</button>
<button class="course-item__name js-professional-rating">Instructor Trainer</button>
<button class="course-item__name js-professional-rating">Waterman Survival Instructor</button>
<button class="course-item__name js-professional-rating">Monofin</button>
<button class="course-item__name js-professional-rating">SI-Advanced Freediving Safety</button>
<button class="course-item__name js-professional-rating">Spearfishing Instructor</button>
<button class="course-item__name js-professional-rating">SI-Freediving Photography</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-professional-rating">All Ratings</button>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script>
var submitFindCourseBtn = document.querySelector('.search_submit_course');
if (submitFindCourseBtn) {
submitFindCourseBtn
.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtn = document.getElementById('search_instructor_submit');
if (submitFindInstructorBtn) {
submitFindInstructorBtn.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtnSmall = document
.getElementById('search_instructor_small_submit')
if (submitFindInstructorBtnSmall) {
submitFindInstructorBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var submitFindCourseBtnSmall = document
.getElementById('search_course_small_submit');
if (submitFindCourseBtnSmall) {
submitFindCourseBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_course_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var inputs = document.querySelectorAll(".form-control__input js-input-location readonly")
if (inputs.length){
inputs.forEach(function(input) {
input.addEventListener("change", function(e) {
if (e.target.textContent.contains("Invalid location")) {
setTimeout(() => {
e.target.value = "";
}, 500);
}
})
})
}
var inputs_locations = document.querySelectorAll(".form-control__select-input")
if (inputs_locations.length) {
inputs_locations.forEach(function(input) {
input.addEventListener("keypress", function(e) {
if (e.code === "Enter")
e.preventDefault();
})
})
}
</script>
<script type="text/javascript">
$('input[name=\"location_str\"]').change(function(e) {
e.preventDefault();
var me = $(this);
var val = me.val();
me.prop("disabled", true).val("Please wait...");
$("input[type=\"submit\"]").prop("disabled", true);
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"address": val,
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
},
"dataType": "json",
"success": function(e) {
if(e && e.status && e.status == 'OK' && e.results
&& e.results[0]) {
me.next().val(
e.results[0].geometry.location.lat + "," +
e.results[0].geometry.location.lng
);
me.prop("disabled", false).val(e.results[0].formatted_address);
$("input[type=\"submit\"]").prop("disabled", false);
}
else {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
},
"error": function() {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
});
e.preventDefault();
});
if($('input[name=\"location_str\"]').val() != '') $('input[name=\"location_str\"]').trigger('change');
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const observer = new MutationObserver(() => {
const autoInput = document.querySelector('.js-input-location');
const realInput = document.querySelector('input[name="location_str"]');
const hiddenInput = document.querySelector('input[name="location"]');
if (!autoInput || !realInput || !hiddenInput) return;
const lat = autoInput.dataset.autoLat;
const lng = autoInput.dataset.autoLng;
if (!hiddenInput.value && lat && lng) {
const full = `${lat},${lng}`;
hiddenInput.value = full;
realInput.value = autoInput.value || realInput.value;
console.log("✅ Force-synced from geolocation:", full);
} else {
console.log("⏭️ Skipped sync —", {
lat,
lng,
hiddenVal: hiddenInput.value
});
}
});
const block = document.querySelector('.form-control--select');
if (block) {
observer.observe(block, { attributes: true, childList: true, subtree: true });
console.log("👁️ Watching location block for auto-fill...");
} else {
console.warn("❌ Geolocation block not found");
}
});
</script>
',
'scripts_for_layout' => '',
'title_for_layout' => 'Search Courses - Freediving Instructors International'
)
$courses = array(
(int) 0 => array(
'ClassicCourse' => array(
'idcourse' => '13005',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/18',
'end' => '2026/04/19',
'idinstructor' => '194',
'idlocation' => '1439',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '600',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-02-23 17:35:44',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '1',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '20',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '300',
'amountallowed' => '0',
'optionaltitle' => 'Freediving Fundamentals with a Pro Spearfisherman',
'optionaldescription' => 'Our Level 1 Freediving course teaches you the fundamentals to freedive safely to 66 feet and hold your breath up to 3 minutes. Learn proper technique, safety protocols, and build real confidence in the water - all in a fun and supportive environment.
the instructor $95 for the round-trip ferry ticket to Catalina. The instructor has already purchased and reserved these tickets in advance to ensure everyone in the class has a confirmed spot on the boat. The instructor will forward payment information with the pre class bulletin.
Schedule:
Sat April 18
8am-12: Spear America Costa Mesa Classroom
1:30-5:30: Pool
Sun April 19
8am- 6PM: Travel to Catalina, Dive, Return',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => 'Spear America ',
'premises2' => 'Beach Cities Scuba ',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Our Level 1 Freediving course teaches you the fundamentals to freedive safely to 66 feet and hold your breath up to 3 minutes. Learn proper technique, safety protocols, and build real confidence in the water - all in a fun and supportive environment.</p>
<p>the instructor $95 for the round-trip ferry ticket to Catalina. The instructor has already purchased and reserved these tickets in advance to ensure everyone in the class has a confirmed spot on the boat. The instructor will forward payment information with the pre class bulletin. </p>
<p>Schedule:<br />
Sat April 18<br />
8am-12: Spear America Costa Mesa Classroom<br />
1:30-5:30: Pool</p>
<p>Sun April 19<br />
8am- 6PM: Travel to Catalina, Dive, Return</p>',
'optionaldescription_teaser' => '<p>Our Level 1 Freediving course teaches you the fundamentals to freedive safely to 66 feet and hold your breath up to 3 minutes. Learn proper technique, safety protocols, and build real confidence in the water - all in a fun and supportive environment.</p>
<p>the instructor $95 for the round-trip f</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '194',
'expMMBalert' => '5',
'FII_id' => '194',
'name' => 'Ryan Moore',
'firstname' => 'Ryan',
'lastname' => 'Moore',
'email' => 'rtmoore5@gmail.com',
'idstatus' => '1',
'address' => '3631 Putter Drive',
'apt' => '',
'city' => 'Bonita',
'state' => 'California',
'idcountry' => '1',
'zipcode' => '91902',
'phone' => '310 345 0446',
'gender' => '1',
'website' => '',
'notes' => 'auto created',
'created' => '2018-02-13 10:39:13',
'dob' => '1986-12-22 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '219',
'expOXY' => '2028-01-08 00:00:00',
'expCPR' => '2028-01-08 00:00:00',
'expINS' => '2027-01-12 00:00:00',
'expFAI' => '2028-01-08 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5065',
'idattachment_exp2' => '5060',
'idattachment_exp3' => '5061',
'idattachment_exp4' => '5062',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'Rtmoore5@gmail.com',
'googlemerchant' => '',
'bio' => 'With over two decades immersed in spearfishing, Ryan Moore stands as the driving force behind Spear America San Diego and a distinguished Team Riffe spearguns diver. His aquatic exploits span the globe, offering a wealth of firsthand knowledge. As an instructor, Ryan opens a portal to the mesmerizing world beneath the waves, inviting enthusiasts to explore the depths safely and skillfully. For an extraordinary underwater journey, connect with Ryan—where expertise meets adventure.
',
'courseterms' => '',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'ryan.moore',
'idstudent' => '11247',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1439',
'name' => 'Costa Mesa',
'address' => '2950 Airway Ave, A7',
'zipcode' => '92626',
'city' => 'Costa Mesa',
'state' => 'California',
'idcountry' => '1',
'phones' => '949-536-5336',
'geolocLat' => '33.6682458',
'geoloclong' => '-117.8769952',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-02-23 17:35:44',
'timesused' => '535',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '20',
'FII_id' => '012',
'name' => 'Spear America Costa Mesa',
'email' => 'info@spearamerica.com',
'idstatus' => '1',
'address' => '2950 Airway Ave, A7',
'apt' => '',
'city' => 'Costa Mesa',
'zipcode' => '92626',
'state' => 'California',
'idcountry' => '1',
'phone' => '949-536-5336',
'website' => 'www.spearamerica.com',
'notes' => 'notes',
'created' => '2019-09-17 12:16:50',
'idlogin' => '252',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'idlocation' => '0',
'geolocLat' => '',
'geoloclong' => '',
'paypalemail' => 'spearamerica@gmail.com',
'paypalemail2' => '',
'paypalemail3' => '',
'cnfname' => 'Petros',
'cnlname' => 'Yiannikouros',
'urlname' => 'spearamerica',
'info' => 'Spear America is the first Freedive and Spearfishing facility on the West Coast. We have well over 30 years experience in the sport and have been striving to share our knowledge with our amazing community of divers. We have the largest selection of diving equipment in 2 locations to better convenience our loyal customers.',
'faceshot' => '1',
'faceshot2' => '1',
'idmembershiplevel' => '5',
'expMembership' => '2026-07-31 00:00:00',
'accesshashAPI' => '',
'accessIP' => ''
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 1 => array(
'ClassicCourse' => array(
'idcourse' => '13008',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/05/01',
'end' => '2026/05/03',
'idinstructor' => '194',
'idlocation' => '1730',
'idstatus' => '1',
'maxcapacity' => '8',
'tuitionfee' => '525',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-02-25 15:08:23',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '8',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '27',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '275',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'Every sport continuously works on fundamentals (the physical skills in which you build upon for performance). In this course you will learn the fundamentals of freediving and how to implement them.
Course schedule:
Friday - 5-7pm @ Spear America SD
Saturday - 7:30-11:30 @ Spear America SD, 1-4:30pm @ Salvation Army Kroc Center
Sunday - 8:00am-1:00pm @ Kellogg Park, La Jolla Shores',
'courseterms' => 'Deposits are non-refundable within 2 weeks of the course commencing. Full tuition is non-refundable within 48 hours of the course commencing.
',
'idregionalbranch' => '1',
'premises1' => 'Focus Freedive',
'premises2' => 'Spear America San Diego LLC',
'premises3' => 'The Salvation Army, a California Corporation. Its Officers, Employees, Volunteers & Agents',
'premises4' => '',
'createdby' => '2',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Every sport continuously works on fundamentals (the physical skills in which you build upon for performance). In this course you will learn the fundamentals of freediving and how to implement them. </p>
<p>Course schedule:<br />
Friday - 5-7pm @ Spear America SD<br />
Saturday - 7:30-11:30 @ Spear America SD, 1-4:30pm @ Salvation Army Kroc Center<br />
Sunday - 8:00am-1:00pm @ Kellogg Park, La Jolla Shores</p>',
'optionaldescription_teaser' => '<p>Every sport continuously works on fundamentals (the physical skills in which you build upon for performance). In this course you will learn the fundamentals of freediving and how to implement them. </p>
<p>Course schedule:<br>
Friday - 5-7pm @ Spear America SD<br>
Saturday - 7:30-11:30 @ Spea</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '194',
'expMMBalert' => '5',
'FII_id' => '194',
'name' => 'Ryan Moore',
'firstname' => 'Ryan',
'lastname' => 'Moore',
'email' => 'rtmoore5@gmail.com',
'idstatus' => '1',
'address' => '3631 Putter Drive',
'apt' => '',
'city' => 'Bonita',
'state' => 'California',
'idcountry' => '1',
'zipcode' => '91902',
'phone' => '310 345 0446',
'gender' => '1',
'website' => '',
'notes' => 'auto created',
'created' => '2018-02-13 10:39:13',
'dob' => '1986-12-22 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '219',
'expOXY' => '2028-01-08 00:00:00',
'expCPR' => '2028-01-08 00:00:00',
'expINS' => '2027-01-12 00:00:00',
'expFAI' => '2028-01-08 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5065',
'idattachment_exp2' => '5060',
'idattachment_exp3' => '5061',
'idattachment_exp4' => '5062',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'Rtmoore5@gmail.com',
'googlemerchant' => '',
'bio' => 'With over two decades immersed in spearfishing, Ryan Moore stands as the driving force behind Spear America San Diego and a distinguished Team Riffe spearguns diver. His aquatic exploits span the globe, offering a wealth of firsthand knowledge. As an instructor, Ryan opens a portal to the mesmerizing world beneath the waves, inviting enthusiasts to explore the depths safely and skillfully. For an extraordinary underwater journey, connect with Ryan—where expertise meets adventure.
',
'courseterms' => '',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'ryan.moore',
'idstudent' => '11247',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1730',
'name' => 'Spear America SD',
'address' => '5401 Linda Vista Rd. Unit 402',
'zipcode' => '92110',
'city' => 'San Diego',
'state' => 'CA',
'idcountry' => '1',
'phones' => '+1 (619) 272-0200',
'geolocLat' => '32.7667161',
'geoloclong' => '-117.1952639',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2024-01-13 21:51:41',
'timesused' => '0',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '27',
'FII_id' => 'A24',
'name' => 'Focus Freedive',
'email' => 'focusfreedive@gmail.com',
'idstatus' => '1',
'address' => '8211 Vincetta Dr #13',
'apt' => '',
'city' => 'La Mesa',
'zipcode' => '91942',
'state' => 'California ',
'idcountry' => '1',
'phone' => '+1-442-300-4240',
'website' => 'www.focus-freedive.com',
'notes' => 'notes',
'created' => '2024-01-09 14:25:20',
'idlogin' => '317',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'idlocation' => '0',
'geolocLat' => '',
'geoloclong' => '',
'paypalemail' => 'focusfreedive@gmail.com',
'paypalemail2' => '',
'paypalemail3' => '',
'cnfname' => 'Brandon',
'cnlname' => 'Zeek',
'urlname' => 'focusfreedive',
'info' => '',
'faceshot' => '1',
'faceshot2' => '0',
'idmembershiplevel' => '4',
'expMembership' => '2026-08-31 00:00:00',
'accesshashAPI' => 'API39781131333082317084API',
'accessIP' => ''
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 2 => array(
'ClassicCourse' => array(
'idcourse' => '13009',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/06/05',
'end' => '2026/06/07',
'idinstructor' => '194',
'idlocation' => '1730',
'idstatus' => '1',
'maxcapacity' => '8',
'tuitionfee' => '525',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-02-25 15:11:57',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '8',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '27',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '275',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'Every sport continuously works on fundamentals (the physical skills in which you build upon for performance). In this course you will learn the fundamentals of freediving and how to implement them.
Course schedule:
Friday - 5-7pm @ Spear America SD
Saturday - 7:30-11:30 @ Spear America SD, 1-4:30pm @ Salvation Army Kroc Center
Sunday - 8:00am-1:00pm @ Kellogg Park, La Jolla Shores',
'courseterms' => 'Deposits are non-refundable within 2 weeks of the course commencing. Full tuition is non-refundable within 48 hours of the course commencing.
',
'idregionalbranch' => '1',
'premises1' => 'Focus Freedive',
'premises2' => 'Spear America San Diego LLC',
'premises3' => 'The Salvation Army, a California Corporation. Its Officers, Employees, Volunteers & Agents',
'premises4' => '',
'createdby' => '2',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Every sport continuously works on fundamentals (the physical skills in which you build upon for performance). In this course you will learn the fundamentals of freediving and how to implement them. </p>
<p>Course schedule:<br />
Friday - 5-7pm @ Spear America SD<br />
Saturday - 7:30-11:30 @ Spear America SD, 1-4:30pm @ Salvation Army Kroc Center<br />
Sunday - 8:00am-1:00pm @ Kellogg Park, La Jolla Shores</p>',
'optionaldescription_teaser' => '<p>Every sport continuously works on fundamentals (the physical skills in which you build upon for performance). In this course you will learn the fundamentals of freediving and how to implement them. </p>
<p>Course schedule:<br>
Friday - 5-7pm @ Spear America SD<br>
Saturday - 7:30-11:30 @ Spea</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '194',
'expMMBalert' => '5',
'FII_id' => '194',
'name' => 'Ryan Moore',
'firstname' => 'Ryan',
'lastname' => 'Moore',
'email' => 'rtmoore5@gmail.com',
'idstatus' => '1',
'address' => '3631 Putter Drive',
'apt' => '',
'city' => 'Bonita',
'state' => 'California',
'idcountry' => '1',
'zipcode' => '91902',
'phone' => '310 345 0446',
'gender' => '1',
'website' => '',
'notes' => 'auto created',
'created' => '2018-02-13 10:39:13',
'dob' => '1986-12-22 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '219',
'expOXY' => '2028-01-08 00:00:00',
'expCPR' => '2028-01-08 00:00:00',
'expINS' => '2027-01-12 00:00:00',
'expFAI' => '2028-01-08 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5065',
'idattachment_exp2' => '5060',
'idattachment_exp3' => '5061',
'idattachment_exp4' => '5062',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'Rtmoore5@gmail.com',
'googlemerchant' => '',
'bio' => 'With over two decades immersed in spearfishing, Ryan Moore stands as the driving force behind Spear America San Diego and a distinguished Team Riffe spearguns diver. His aquatic exploits span the globe, offering a wealth of firsthand knowledge. As an instructor, Ryan opens a portal to the mesmerizing world beneath the waves, inviting enthusiasts to explore the depths safely and skillfully. For an extraordinary underwater journey, connect with Ryan—where expertise meets adventure.
',
'courseterms' => '',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'ryan.moore',
'idstudent' => '11247',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1730',
'name' => 'Spear America SD',
'address' => '5401 Linda Vista Rd. Unit 402',
'zipcode' => '92110',
'city' => 'San Diego',
'state' => 'CA',
'idcountry' => '1',
'phones' => '+1 (619) 272-0200',
'geolocLat' => '32.7667161',
'geoloclong' => '-117.1952639',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2024-01-13 21:51:41',
'timesused' => '0',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '27',
'FII_id' => 'A24',
'name' => 'Focus Freedive',
'email' => 'focusfreedive@gmail.com',
'idstatus' => '1',
'address' => '8211 Vincetta Dr #13',
'apt' => '',
'city' => 'La Mesa',
'zipcode' => '91942',
'state' => 'California ',
'idcountry' => '1',
'phone' => '+1-442-300-4240',
'website' => 'www.focus-freedive.com',
'notes' => 'notes',
'created' => '2024-01-09 14:25:20',
'idlogin' => '317',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'idlocation' => '0',
'geolocLat' => '',
'geoloclong' => '',
'paypalemail' => 'focusfreedive@gmail.com',
'paypalemail2' => '',
'paypalemail3' => '',
'cnfname' => 'Brandon',
'cnlname' => 'Zeek',
'urlname' => 'focusfreedive',
'info' => '',
'faceshot' => '1',
'faceshot2' => '0',
'idmembershiplevel' => '4',
'expMembership' => '2026-08-31 00:00:00',
'accesshashAPI' => 'API39781131333082317084API',
'accessIP' => ''
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 3 => array(
'ClassicCourse' => array(
'idcourse' => '13017',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/07',
'end' => '2026/04/08',
'idinstructor' => '241',
'idlocation' => '1634',
'idstatus' => '1',
'maxcapacity' => '8',
'tuitionfee' => '595',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-03 17:19:56',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '6',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'freedivekeywest.com',
'acceptedpayment' => '0',
'optionaldeposit' => '595',
'amountallowed' => '0',
'optionaltitle' => 'PRIVATE Level 1 Course - Marathon',
'optionaldescription' => 'Day 1 - Theory & Pool (all day)
Day 2 - Open Water Boat Session - Line Diving (half day)
During this course, students train the fundamentals of the FII education system in an easy-to-learn course format operating between the classroom, pool and open water setting. With a high emphasis on freedive safety training and technique development, students master the proper skills to effectively freedive up to depths of 66 feet/20 meters.
Whether a complete beginner or an informally trained freediver/spearfisherman with years of experience, this course will set you on the right path to eliminate bad habits and show you the most efficient and safe freedive techniques.
Course Syllabus
-Level 1 Safety & Problem Management
-Freediving Equipment
-Physics and Physiology for the Level 1 Freediver
-Correct Breathing for Freediving
-Breath-Hold/Static Apnea Technique Development
-Freediving Technique Development
To pass this course level, students must attend all sessions and demonstrate mastery of the F.I.I. Level 1 Freediver skills and knowledge.
Course Duration:
Minimum 3.5 hours of academic work, 3 hours of confined water training, and 2.5 hours of open water depth training (varies per location and size of class).
Prerequisites:
Competent swimming skills and comfortable in open water.
Age Requirement:
Participants must be 16 years or older! (Juniors courses are offered for ages 12-15)
Required Equipment:
Wetsuit, mask, snorkel, fins, weight belt, weights and timing device.
Freedive Key West has excellent gear that is highly recommended available for purchase at very reasonable rates. Please inquire with instructor about the availability upon registering.
The Course fee is $595 per person',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Day 1 - Theory & Pool (all day)<br />
Day 2 - Open Water Boat Session - Line Diving (half day)</p>
<p>During this course, students train the fundamentals of the FII education system in an easy-to-learn course format operating between the classroom, pool and open water setting. With a high emphasis on freedive safety training and technique development, students master the proper skills to effectively freedive up to depths of 66 feet/20 meters.</p>
<p>Whether a complete beginner or an informally trained freediver/spearfisherman with years of experience, this course will set you on the right path to eliminate bad habits and show you the most efficient and safe freedive techniques.</p>
<p>Course Syllabus<br />
-Level 1 Safety & Problem Management<br />
-Freediving Equipment<br />
-Physics and Physiology for the Level 1 Freediver<br />
-Correct Breathing for Freediving<br />
-Breath-Hold/Static Apnea Technique Development<br />
-Freediving Technique Development<br />
To pass this course level, students must attend all sessions and demonstrate mastery of the F.I.I. Level 1 Freediver skills and knowledge.</p>
<p>Course Duration:<br />
Minimum 3.5 hours of academic work, 3 hours of confined water training, and 2.5 hours of open water depth training (varies per location and size of class).</p>
<p>Prerequisites:<br />
Competent swimming skills and comfortable in open water.</p>
<p>Age Requirement:<br />
Participants must be 16 years or older! (Juniors courses are offered for ages 12-15)</p>
<p>Required Equipment:<br />
Wetsuit, mask, snorkel, fins, weight belt, weights and timing device.</p>
<p>Freedive Key West has excellent gear that is highly recommended available for purchase at very reasonable rates. Please inquire with instructor about the availability upon registering.</p>
<p>The Course fee is $595 per person</p>',
'optionaldescription_teaser' => '<p>Day 1 - Theory & Pool (all day)<br>
Day 2 - Open Water Boat Session - Line Diving (half day)</p>
<p>During this course, students train the fundamentals of the FII education system in an easy-to-learn course format operating between the classroom, pool and open water setting. With a high emp</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '241',
'expMMBalert' => '2',
'FII_id' => '241',
'name' => 'Tracy Wollschlager',
'firstname' => 'Tracy',
'lastname' => 'Wollschlager',
'email' => 'tracy@freedivekeywest.com',
'idstatus' => '1',
'address' => 'PO Box 1853',
'apt' => '',
'city' => 'Key West',
'state' => 'Fl',
'idcountry' => '1',
'zipcode' => '33041',
'phone' => '954-559-4774',
'gender' => '0',
'website' => 'freedivekeywest.com',
'notes' => 'auto created',
'created' => '2021-06-14 11:50:36',
'dob' => '1990-07-15 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '270',
'expOXY' => '2027-05-05 00:00:00',
'expCPR' => '2027-04-21 00:00:00',
'expINS' => '2026-07-12 00:00:00',
'expFAI' => '2027-04-21 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4885',
'idattachment_exp2' => '4871',
'idattachment_exp3' => '4874',
'idattachment_exp4' => '4873',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'tracy@marinebrokering.com',
'googlemerchant' => '',
'bio' => 'FII Level 1, Juniors, & Level 2 assistant freediving instructor, Tracy Wollschlager, teaches both in the Florida Keys and also travels for private courses! Tracy's love for the ocean began at a young age, and it has since become her life's passion. With over a decade of experience in the world of freediving, she has explored the wonders of the deep blue in her backyard, the Florida Keys, as well as some of the most breathtaking locations on Earth. Tracy's teaching philosophy centers around safety, respect for marine life, and a deep connection to the underwater world. Her courses are tailored to all levels, from beginners seeking to discover the magic of breath-hold diving to advanced practitioners aiming to refine their techniques.
What to Expect:
Personalized instruction
Breath-holding techniques
Equalization mastery
Dive planning and safety
Mindfulness and relaxation practices
Join Tracy and embark on a transformative underwater adventure!',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'tracy.wollschlager',
'idstudent' => '11290',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1634',
'name' => 'Formula Freediving',
'address' => '2940 Overseas Highway',
'zipcode' => '33050',
'city' => 'Marathon',
'state' => 'Florida',
'idcountry' => '1',
'phones' => '9545594774',
'geolocLat' => '24.7106266',
'geoloclong' => '-81.0977020',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2026-03-15 16:35:40',
'timesused' => '69',
'priority' => '2',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 4 => array(
'ClassicCourse' => array(
'idcourse' => '13018',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/05/30',
'end' => '2026/05/31',
'idinstructor' => '275',
'idlocation' => '1776',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '550',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-03 17:50:45',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '4',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://freediveseattle.com/',
'acceptedpayment' => '1',
'optionaldeposit' => '300',
'amountallowed' => '2',
'optionaltitle' => '',
'optionaldescription' => '### FII Level 1 Freediver Course
Port Angeles, Washington
Discover the world of freediving and experience the freedom of exploring the ocean on a single breath with the FII Level 1 Freediver course in Port Angeles, Washington.
Located on the Olympic Peninsula and surrounded by the waters of the Salish Sea, Port Angeles provides an excellent environment to begin your freediving journey. This course offers a structured and supportive introduction to freediving while building the skills needed to explore the underwater world safely and confidently.
This comprehensive freediving course is designed for anyone interested in learning how to freedive safely and efficiently. Whether you are a complete beginner or an informally trained freediver or spearfisherman with years of experience, this course will help establish proper technique, eliminate inefficient habits, and introduce the safest and most effective freediving practices.
This two day course is the fastest and most effective way to become a Level 1 certified freediver. Certification is based on each participant demonstrating the required knowledge, safety procedures, and in water skills learned throughout the course.
---
### Course Overview
During this two day freediving course you will learn the core principles of breath hold diving, including:
• Safety and emergency procedures
• Breathing and relaxation techniques
• Equalization methods
• Efficient movement and finning techniques
• Proper freediving protocols and buddy procedures
Through a combination of classroom instruction, confined water training, and an open water freediving session, students will develop the skills needed to safely extend their breath hold and dive to depths of up to 66 feet (20 meters).
---
### Schedule
**Day 1**
8:00 AM to 7:00 PM
Classroom and confined water training
**Day 2**
9:00 AM to 3:00 PM
Open water se',
'courseterms' => '### Renssant Freedive
**Cancellation & Transfer Policy**
### General Terms
By registering for any course, coaching session, or retreat with Renssant Freedive, you agree to the following terms regarding cancellations, transfers, and refunds. These policies are designed to ensure fairness while protecting the operational costs and planning involved in offering high quality freediving education.
### Deposits
- All deposits are non-refundable, unless the course does not run due to low enrollment.
- Deposit amounts vary by offering and are listed clearly at registration
- Some coaching sessions may require full prepayment instead of a deposit to reserve your spot
### Student Cancellations and Transfers
If you need to cancel or transfer your enrollment, the following terms apply:
**31 or more days before course start**
- No cancellation fee
- One time transfer to a future course on a space available basis
**22-30 days before course start**
- 15 percent of full tuition retained
- Transfer to a future course on a space available basis
**8-21 days before course start**
- 25 percent of full tuition retained
- Transfer only, no refunds
**48 hours to 7 days before course start**
- 50 percent of full tuition retained
- Transfer only, no refunds
**Less than 48 hours before course start**
- No transfer or refund
- Forfeiture of full tuition
Additional terms:
- Transfers are limited to one per registration
- Additional changes may be treated as cancellations and subject to standard fees
- Cancellation fees are calculated based on the full tuition cost, regardless of any discounts or promotions
### Gear Rentals, Boat Fees, Private Training, Events, and Trips
All payments toward equipment rentals, boat fees, private sessions, events, and retreats are non-refundable and non-transferable.
### Instructor Cancellations and Course Adjustments
Renssant Freedive makes every effort to run courses as scheduled. However, freediving is subject to environmental and logistical constraints beyond our control.
Courses may be postponed or adjusted due to the following:
**Weather or environmental conditions**
- If conditions are deemed unsafe by the instructor or boat captain, open water sessions may be rescheduled
- Make up sessions may be completed during a future course on a space available basis
- No additional instructional fee will be charged
- Standard boat fees still apply
**Instructor illness or emergency**
- In rare cases where the instructor must cancel due to illness or emergency, students may choose between a full refund or a transfer to a future course
**Low enrollment**
- To maintain safety and teaching quality, courses may be postponed if fewer than three students are enrolled
- Students will be offered a transfer to a future course
- Refunds are not available
### Missed Sessions and No Shows
- Missing a course without prior communication is considered a no show
- No refunds or transfers will be provided for no shows
- If you attend part of a course but cannot complete it due to illness or emergency, we may offer a one time opportunity to rejoin a future session on a space available basis within twelve months
### How to Request a Transfer or Cancellation
To request a transfer or cancellation, please email **ryan@renssantfreedive.com** with your full name, course dates, and reason for the change.
Requests must be submitted by **11:59 PM on the last eligible day of the applicable notice window**.
### Substitutions
- You may transfer your registration to another person at no additional cost, provided they meet course prerequisites
- Substitution requests must be submitted at least 72 hours before the course start
- If your spot is filled by another paying student, your fee may be transferred or refunded according to the applicable cancellation window
### Force Majeure
Renssant Freedive is not liable for cancellations, delays, or rescheduling due to circumstances beyond our control, including but not limited to natural disasters, pandemics, government restrictions, or acts of God.
In such cases, we will make every reasonable effort to reschedule your course or transfer your enrollment to a future offering.
### Refund Method and Timing
If a refund is approved:
- Refunds will be issued using the original method of payment
- Refunds will be processed within 7-10 business days of approval
- Refunds will not be provided in cash
- Refund timing may be subject to third party transaction processing times ',
'idregionalbranch' => '1',
'premises1' => 'Olympic National Park, WA',
'premises2' => 'Feiro Marine Life Center',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<h3>FII Level 1 Freediver Course</h3>
<p>Port Angeles, Washington</p>
<p>Discover the world of freediving and experience the freedom of exploring the ocean on a single breath with the FII Level 1 Freediver course in Port Angeles, Washington.</p>
<p>Located on the Olympic Peninsula and surrounded by the waters of the Salish Sea, Port Angeles provides an excellent environment to begin your freediving journey. This course offers a structured and supportive introduction to freediving while building the skills needed to explore the underwater world safely and confidently.</p>
<p>This comprehensive freediving course is designed for anyone interested in learning how to freedive safely and efficiently. Whether you are a complete beginner or an informally trained freediver or spearfisherman with years of experience, this course will help establish proper technique, eliminate inefficient habits, and introduce the safest and most effective freediving practices.</p>
<p>This two day course is the fastest and most effective way to become a Level 1 certified freediver. Certification is based on each participant demonstrating the required knowledge, safety procedures, and in water skills learned throughout the course.</p>
<h3>Course Overview</h3>
<p>During this two day freediving course you will learn the core principles of breath hold diving, including:</p>
<p>• Safety and emergency procedures<br />
• Breathing and relaxation techniques<br />
• Equalization methods<br />
• Efficient movement and finning techniques<br />
• Proper freediving protocols and buddy procedures</p>
<p>Through a combination of classroom instruction, confined water training, and an open water freediving session, students will develop the skills needed to safely extend their breath hold and dive to depths of up to 66 feet (20 meters).</p>
<h3>Schedule</h3>
<p><strong>Day 1</strong><br />
8:00 AM to 7:00 PM<br />
Classroom and confined water training</p>
<p><strong>Day 2</strong><br />
9:00 AM to 3:00 PM<br />
Open water se</p>',
'optionaldescription_teaser' => '<h3>FII Level 1 Freediver Course</h3>
<p>Port Angeles, Washington</p>
<p>Discover the world of freediving and experience the freedom of exploring the ocean on a single breath with the FII Level 1 Freediver course in Port Angeles, Washington.</p>
<p>Located on the Olympic Peninsula and surrounded by </p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '275',
'expMMBalert' => '2',
'FII_id' => '275',
'name' => 'Ryan Strong',
'firstname' => 'Ryan',
'lastname' => 'Strong',
'email' => 'ryan@freediveseattle.com',
'idstatus' => '1',
'address' => '5021 Bowen PL S.',
'apt' => '',
'city' => 'Seattle',
'state' => 'WA',
'idcountry' => '1',
'zipcode' => '98118',
'phone' => '206-681-0897',
'gender' => '0',
'website' => 'https://freediveseattle.com/',
'notes' => 'auto created',
'created' => '2023-04-12 17:34:25',
'dob' => '1979-02-21 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '304',
'expOXY' => '2027-02-15 00:00:00',
'expCPR' => '2027-02-15 00:00:00',
'expINS' => '2026-05-02 00:00:00',
'expFAI' => '2027-02-15 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4838',
'idattachment_exp2' => '4788',
'idattachment_exp3' => '4794',
'idattachment_exp4' => '4793',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'strongrr@gmail.com',
'googlemerchant' => '',
'bio' => 'Hello, I am Ryan Strong, a Seattle-based outdoor enthusiast and freediving instructor. While I've spent over a decade working in the outdoor climbing and skiing industry, my true passion lies in exploring the oceans of the world. Since taking my first freediving course on the Island of Hawai’i, I've been obsessed with the meditative, beautiful experience of holding my breath and diving into the depths.
As a certified FII Level 1 Freediver instructor, I'm thrilled to offer courses in the Seattle area starting this summer 2023. My goal is to share the transformative power of freediving with others and to help students develop the skills and confidence needed to safely explore the underwater world.
I've had the privilege of instructing and guiding individuals through the rugged terrain of the PNW, and have witnessed firsthand the transformative power of outdoor experiences. While my roots started in the mountains, I’ve found that freediving offers a unique opportunity to connect with oneself and the natural world. The feeling of being part of the ocean, enveloped in tranquility, is truly one-of-a-kind.
When I'm not teaching or diving, I'm a proud parent to an amazing three-year-old and a glass artist who teaches weekly beginning glass blowing classes at Pratt Fine Art Center. I believe that a life lived in pursuit of passion and exploration is a life well-lived, and I look forward to sharing my passion for freediving and exploring the underwater world.
Join me in the Pacific Northwest for an unforgettable freediving experience. Let's dive together soon!
',
'courseterms' => '### Renssant Freedive
**Cancellation & Transfer Policy**
### General Terms
By registering for any course, coaching session, or retreat with Renssant Freedive, you agree to the following terms regarding cancellations, transfers, and refunds. These policies are designed to ensure fairness while protecting the operational costs and planning involved in offering high quality freediving education.
### Deposits
- All deposits are non-refundable, unless the course does not run due to low enrollment.
- Deposit amounts vary by offering and are listed clearly at registration
- Some coaching sessions may require full prepayment instead of a deposit to reserve your spot
### Student Cancellations and Transfers
If you need to cancel or transfer your enrollment, the following terms apply:
**31 or more days before course start**
- No cancellation fee
- One time transfer to a future course on a space available basis
**22-30 days before course start**
- 15 percent of full tuition retained
- Transfer to a future course on a space available basis
**8-21 days before course start**
- 25 percent of full tuition retained
- Transfer only, no refunds
**48 hours to 7 days before course start**
- 50 percent of full tuition retained
- Transfer only, no refunds
**Less than 48 hours before course start**
- No transfer or refund
- Forfeiture of full tuition
Additional terms:
- Transfers are limited to one per registration
- Additional changes may be treated as cancellations and subject to standard fees
- Cancellation fees are calculated based on the full tuition cost, regardless of any discounts or promotions
### Gear Rentals, Boat Fees, Private Training, Events, and Trips
All payments toward equipment rentals, boat fees, private sessions, events, and retreats are non-refundable and non-transferable.
### Instructor Cancellations and Course Adjustments
Renssant Freedive makes every effort to run courses as scheduled. However, freediving is subject to environmental and logistical constraints beyond our control.
Courses may be postponed or adjusted due to the following:
**Weather or environmental conditions**
- If conditions are deemed unsafe by the instructor or boat captain, open water sessions may be rescheduled
- Make up sessions may be completed during a future course on a space available basis
- No additional instructional fee will be charged
- Standard boat fees still apply
**Instructor illness or emergency**
- In rare cases where the instructor must cancel due to illness or emergency, students may choose between a full refund or a transfer to a future course
**Low enrollment**
- To maintain safety and teaching quality, courses may be postponed if fewer than three students are enrolled
- Students will be offered a transfer to a future course
- Refunds are not available
### Missed Sessions and No Shows
- Missing a course without prior communication is considered a no show
- No refunds or transfers will be provided for no shows
- If you attend part of a course but cannot complete it due to illness or emergency, we may offer a one time opportunity to rejoin a future session on a space available basis within twelve months
### How to Request a Transfer or Cancellation
To request a transfer or cancellation, please email **ryan@renssantfreedive.com** with your full name, course dates, and reason for the change.
Requests must be submitted by **11:59 PM on the last eligible day of the applicable notice window**.
### Substitutions
- You may transfer your registration to another person at no additional cost, provided they meet course prerequisites
- Substitution requests must be submitted at least 72 hours before the course start
- If your spot is filled by another paying student, your fee may be transferred or refunded according to the applicable cancellation window
### Force Majeure
Renssant Freedive is not liable for cancellations, delays, or rescheduling due to circumstances beyond our control, including but not limited to natural disasters, pandemics, government restrictions, or acts of God.
In such cases, we will make every reasonable effort to reschedule your course or transfer your enrollment to a future offering.
### Refund Method and Timing
If a refund is approved:
- Refunds will be issued using the original method of payment
- Refunds will be processed within 7-10 business days of approval
- Refunds will not be provided in cash
- Refund timing may be subject to third party transaction processing times',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'ryan.strong',
'idstudent' => '19457',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1776',
'name' => 'Olympic Peninsula',
'address' => '',
'zipcode' => '',
'city' => 'Port Angeles',
'state' => 'WA',
'idcountry' => '1',
'phones' => '206-681-0897',
'geolocLat' => '48.1181460',
'geoloclong' => '-123.4307413',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-03 17:50:45',
'timesused' => '15',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 5 => array(
'ClassicCourse' => array(
'idcourse' => '13020',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/06/10',
'end' => '2026/06/27',
'idinstructor' => '124',
'idlocation' => '574',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '450',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-06 13:16:49',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '5',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://www.schooloffishswimandscuba.com/dive/freediving-class/',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => 'Level 1 Freediver June A',
'optionaldescription' => 'The Level-1 course is an introduction to the FII education system. It covers everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This freediving course is ideal for anyone wishing to master the correct basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters.
Details:
Classroom Session held VIA Zoom
Pool Sessions are held in a very comfortable 88F pool at School of Fish
Open Water Session - Will be conducted at Lake Hydra, Bethlehem PA.
$475 Tuition. Due when signing up (non-refundable)
There will be an additional $60 fee to enter Lake Hydra.
Course duration:
Minimum 4 hours of academic work (VIA Zoom, attendance is mandatory) 3 hours of confined water training.
1.5 - 3 hours of open water depth training (varies per location and class size).
* Minimum age requirement:
Participants must be 16 years or older.
Course prerequisites:
You must have competent swimming skills and be comfortable in the open water. This is not a class that is designed to help you overcome a fear of the water. If you have any doubts about your ability please feel free to give us a call so we can discuss your options.
You will need the following equipment to participate in this class
(Freediving specific gear is highly recommended but not required).
* Long blade fins
* Low profile mask
* Snorkel
* Rubber weight belt with appropriate weights
* Wetsuit
* Freediving computer (optional)
June 10, 6PM Lecture VIA Zoom
June 17, Pool Training (School of Fish, Rocky Point NY)
June 27, Open Water (Lake Hydra, Bethlehem PA)
',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => 'School of Fish Swim and SCUBA',
'premises2' => 'Lake Hydra',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>The Level-1 course is an introduction to the FII education system. It covers everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This freediving course is ideal for anyone wishing to master the correct basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. </p>
<p>
Details:
<br />
Classroom Session held VIA Zoom
<br />
Pool Sessions are held in a very comfortable 88F pool at School of Fish
Open Water Session - Will be conducted at Lake Hydra, Bethlehem PA.
</p>
<p>$475 Tuition. Due when signing up (non-refundable)
<br />
There will be an additional $60 fee to enter Lake Hydra.
</p>
<p>Course duration:<br />
Minimum 4 hours of academic work (VIA Zoom, attendance is mandatory) 3 hours of confined water training.<br />
1.5 - 3 hours of open water depth training (varies per location and class size).<br />
</p>
<ul>
<li>Minimum age requirement:
Participants must be 16 years or older.<br />
<br />
Course prerequisites:<br />
You must have competent swimming skills and be comfortable in the open water. This is not a class that is designed to help you overcome a fear of the water. If you have any doubts about your ability please feel free to give us a call so we can discuss your options. </li>
</ul>
<p>You will need the following equipment to participate in this class
(Freediving specific gear is highly recommended but not required).</p>
<ul>
<li>Long blade fins</li>
<li>Low profile mask</li>
<li>Snorkel</li>
<li>Rubber weight belt with appropriate weights</li>
<li>Wetsuit</li>
<li>Freediving computer (optional)</li>
</ul>
<p>June 10, 6PM Lecture VIA Zoom<br />
June 17, Pool Training (School of Fish, Rocky Point NY)<br />
June 27, Open Water (Lake Hydra, Bethlehem PA)</p>',
'optionaldescription_teaser' => '<p>The Level-1 course is an introduction to the FII education system. It covers everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This freediving course is ideal for anyone wishing to master </p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '124',
'expMMBalert' => '10',
'FII_id' => '124',
'name' => 'Dean McCormick',
'firstname' => 'Dean',
'lastname' => 'McCormick',
'email' => 'deanmc@optonline.net',
'idstatus' => '1',
'address' => '118 Glenwood Road',
'apt' => '',
'city' => 'Rocky Point',
'state' => 'New York',
'idcountry' => '1',
'zipcode' => '11778',
'phone' => '631-965-1330',
'gender' => '0',
'website' => '',
'notes' => 'notes',
'created' => '2015-02-18 16:27:04',
'dob' => '1964-09-25 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '146',
'expOXY' => '2027-12-30 00:00:00',
'expCPR' => '2027-12-30 00:00:00',
'expINS' => '2026-05-05 00:00:00',
'expFAI' => '2026-12-30 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4835',
'idattachment_exp2' => '5057',
'idattachment_exp3' => '4768',
'idattachment_exp4' => '5056',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'deanmc@optonline.net',
'googlemerchant' => '',
'bio' => 'I've been in the dive business teaching scuba since 1989. After taking my first freediving class in 2010 I made it my goal to learn as much as I could about this new (to me) sport. This lead me to Martin Stepanek and FII.
As an FII Instructor I look forward to helping students develop the skills they need to dive efficiently and to be safe while doing so. I also want to spread the word about what a great activity freediving is and how the FII system of education is the best way to go about learning!',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'dean.mccormick',
'idstudent' => '3885',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '574',
'name' => 'School of Fish',
'address' => '572 Route 25A',
'zipcode' => '11778',
'city' => 'Rocky Point',
'state' => 'New York',
'idcountry' => '1',
'phones' => '',
'geolocLat' => '40.9466740',
'geoloclong' => '-72.9274910',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-06 13:16:49',
'timesused' => '397',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 6 => array(
'ClassicCourse' => array(
'idcourse' => '13022',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/16',
'end' => '2026/04/18',
'idinstructor' => '49',
'idlocation' => '306',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '695',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-10 10:26:53',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '1',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '0',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => '',
'courseterms' => 'To reserve a confirmed spot in each course, students must register and make the full payment to secure their space in that class.
All course payments are final, non-refundable and non-transferable to another class. There are limited spots available in each class. In the event of possible last minute cancellations by students, we recommend travel insurance or students may transfer their spot to another student but that is the responsibility of the student
Weather at times may be a factor in offshore training. If that situation occurs during the days of the scheduled course, the instructor will ensure that only safe conditions are available for effective training. All training that can be conducted in a safe learning environment will continue. If safe conditions are not available, students have up to one year to make up the ocean training. ',
'idregionalbranch' => '1',
'premises1' => 'Colinas de Ensenada',
'premises2' => 'Captain Alan Cannella',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '49',
'expMMBalert' => '19',
'FII_id' => '46',
'name' => 'Joe Sheridan',
'firstname' => 'Joe',
'lastname' => 'Sheridan',
'email' => 'joesheridanjr@gmail.com',
'idstatus' => '1',
'address' => '#5 Colinas de Ensenada',
'apt' => '',
'city' => 'Rincon',
'state' => 'Puerto Rico',
'idcountry' => '177',
'zipcode' => '00677',
'phone' => '910-352-6371',
'gender' => '0',
'website' => '',
'notes' => 'Joe Sheridan
830 Shinn Point Rd.
Wilmington, NC 28409',
'created' => '2012-03-22 09:27:48',
'dob' => '1971-06-01 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '63',
'expOXY' => '2028-02-17 00:00:00',
'expCPR' => '2028-01-05 00:00:00',
'expINS' => '2026-06-04 00:00:00',
'expFAI' => '2028-01-05 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4879',
'idattachment_exp2' => '5081',
'idattachment_exp3' => '5059',
'idattachment_exp4' => '5058',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'joesheridanjr@gmail.com',
'googlemerchant' => '',
'bio' => 'Joe has always had a genuine passion for exploration and the water. Being underwater has been natural and comfortable since he was young. Joe splits his time living in Wilmington, NC and Rincon, PR and runs a sales agency in the action sports industry. His company has serviced the mid-Atlantic states for the last 25 years in the surf, outdoor, snow and sports industry. Joe holds a Bachelor of Science degree in Business from North Carolina State University. After college Joe served as an Infantry Officer in US Military.
In 2006, Joe and some dive buddies from Wilmington got into spearfishing and freediving. After taking a freediving course in Florida, Joe was immediately hooked on breath hold diving. Joe continued to take advanced level freediving courses, compete in spearfishing tournaments and freediving competitions, eventually becoming a freediving and waterman survival instructor with F.I.I.
Joe's background and experience provides a unique and comfortable learning environment for students of all skill levels. Joe's passion for our sport of freediving shows in his courses and teaching style. Joe teaches the Level 1 and Level 2 Freediver Courses, the Waterman Survival Course, the Waterman Survival Extended Course, Advanced Freediving Safety Course, the Waterman Survival Instructor Course and the Level 1 Freediver Instructor Course. Joe caters to training in Puerto Rico with over a decade of training all levels helping keep people safe and confident in the water. Go to www.watermansurvival.com to register for an upcoming course and learn more about the F.I.I. courses available. ',
'courseterms' => 'To reserve a confirmed spot in each course, students must register and make the full payment to secure their space in that class.
All course payments are final, non-refundable and non-transferable to another class. There are limited spots available in each class. In the event of possible last minute cancellations by students, we recommend travel insurance or students may transfer their spot to another student but that is the responsibility of the student
Weather at times may be a factor in offshore training. If that situation occurs during the days of the scheduled course, the instructor will ensure that only safe conditions are available for effective training. All training that can be conducted in a safe learning environment will continue. If safe conditions are not available, students have up to one year to make up the ocean training.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'joe.sheridan',
'idstudent' => '230',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '306',
'name' => 'Taino Divers',
'address' => '564 Calle Black Eagle',
'zipcode' => '00677',
'city' => 'Rincon',
'state' => 'Puerto Rico',
'idcountry' => '177',
'phones' => '',
'geolocLat' => '18.3451656',
'geoloclong' => '-67.2597067',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-10 10:26:53',
'timesused' => '360',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 7 => array(
'ClassicCourse' => array(
'idcourse' => '13028',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/18',
'end' => '2026/04/19',
'idinstructor' => '225',
'idlocation' => '1701',
'idstatus' => '1',
'maxcapacity' => '8',
'tuitionfee' => '575',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-13 15:22:05',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '8',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '26',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '100',
'amountallowed' => '0',
'optionaltitle' => 'Spearfishing Experts shop taught by David Fritch',
'optionaldescription' => 'This is a Fii level one course with a max depth of 66' and static breath hold of 3 minutes. The biggest emphasis is on safety followed by technique. Day one consists of class room theory from 8-12 at spearfishing experts followed by a quick lunch and a pool session in ft lauderdale. Day two is open water off shore out of Port Everglades from 8-12. Please be flexible due to weather. Please call David at 4077652821 or Spearfishing Experts with any questions. Course is 575$ plus a 100$ boat fee. ',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>This is a Fii level one course with a max depth of 66' and static breath hold of 3 minutes. The biggest emphasis is on safety followed by technique. Day one consists of class room theory from 8-12 at spearfishing experts followed by a quick lunch and a pool session in ft lauderdale. Day two is open water off shore out of Port Everglades from 8-12. Please be flexible due to weather. Please call David at 4077652821 or Spearfishing Experts with any questions. Course is 575$ plus a 100$ boat fee. </p>',
'optionaldescription_teaser' => '<p>This is a Fii level one course with a max depth of 66' and static breath hold of 3 minutes. The biggest emphasis is on safety followed by technique. Day one consists of class room theory from 8-12 at spearfishing experts followed by a quick lunch and a pool session in ft lauderdale. Day two is o</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '225',
'expMMBalert' => '16',
'FII_id' => '225',
'name' => 'David Fritch',
'firstname' => 'David',
'lastname' => 'Fritch',
'email' => 'dfritch333@gmail.com',
'idstatus' => '1',
'address' => '830 SE 1st terrace',
'apt' => '',
'city' => 'Pompano Beach',
'state' => 'Florida',
'idcountry' => '1',
'zipcode' => '33060',
'phone' => '4077652821',
'gender' => '1',
'website' => '',
'notes' => 'auto created',
'created' => '2019-08-29 16:16:34',
'dob' => '1983-03-03 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '251',
'expOXY' => '2027-10-21 00:00:00',
'expCPR' => '2027-10-21 00:00:00',
'expINS' => '2026-11-11 00:00:00',
'expFAI' => '2027-10-21 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5019',
'idattachment_exp2' => '5007',
'idattachment_exp3' => '5008',
'idattachment_exp4' => '5009',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'Dfritch333@gmail.com',
'googlemerchant' => '',
'bio' => 'David Fritch, born and raised in Florida. Obsessed with the ocean from a very early age he spent most of his free time surfing and fishing. After training to become an airline pilot and flight instructor he took a position flying in Hawaii where he was introduced to freediving and polespear spearfishing. In addition to teaching freediving, David regularly travels in search of the best spearfishing locations from Africa to Indonesia and incorporates the spearfishing mindset into freedive training. He still has a passion for primitive hunting and currently holds two world records in the polespear category. Want to see more? Start at 6:15 https://www.youtube.com/watch?v=IMsBtlJNs7s&t=388s',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'david.fritch',
'idstudent' => '16210',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1701',
'name' => 'Main',
'address' => '1317 SE 17th Street',
'zipcode' => '33316',
'city' => 'Fort Lauderdale',
'state' => 'Florida',
'idcountry' => '1',
'phones' => '954-955-1579',
'geolocLat' => '26.1016211',
'geoloclong' => '-80.1304016',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-13 15:22:05',
'timesused' => '191',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '26',
'FII_id' => '014',
'name' => 'Hypoxic Hunters',
'email' => 'sales@hypoxichunters.com',
'idstatus' => '1',
'address' => '1317 SE 17th Street',
'apt' => '',
'city' => 'Fort Lauderdale',
'zipcode' => '33316',
'state' => 'Florida',
'idcountry' => '1',
'phone' => '954-955-1579',
'website' => 'www.spearfishingexperts.com',
'notes' => 'notes',
'created' => '2023-05-25 22:05:19',
'idlogin' => '307',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'idlocation' => '0',
'geolocLat' => '',
'geoloclong' => '',
'paypalemail' => 'SMALLSZACH@GMAIL.COM',
'paypalemail2' => 'SMALLSZACH@GMAIL.COM',
'paypalemail3' => 'SMALLSZACH@GMAIL.COM',
'cnfname' => 'Zachary',
'cnlname' => 'Small',
'urlname' => 'hypoxichunters',
'info' => 'Hypoxic Hunters is an instructor owned and operated freediving & spearfishing shop located in the yachting capital of the US, Fort Lauderdale Florida. We pride ourselves on keeping updated on all of the newest developments on not only the educational side of the diving world, but also on the gear in the market to help our community get the best of both worlds! We offer classes from beginner to advanced. We also offer coaching & training sessions for already certified divers to give them a safe environment to continue their training. ',
'faceshot' => '1',
'faceshot2' => '1',
'idmembershiplevel' => '5',
'expMembership' => '2026-08-31 00:00:00',
'accesshashAPI' => '',
'accessIP' => ''
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 8 => array(
'ClassicCourse' => array(
'idcourse' => '13029',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/03/25',
'end' => '2026/03/26',
'idinstructor' => '241',
'idlocation' => '1634',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '0',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-15 16:35:40',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '4',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'freedivekeywest.com',
'acceptedpayment' => '0',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => 'PRIVATE COURSE - Erin & Family',
'optionaldescription' => 'Open water session - makeup session',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Open water session - makeup session</p>',
'optionaldescription_teaser' => '<p>Open water session - makeup session</p>'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '241',
'expMMBalert' => '2',
'FII_id' => '241',
'name' => 'Tracy Wollschlager',
'firstname' => 'Tracy',
'lastname' => 'Wollschlager',
'email' => 'tracy@freedivekeywest.com',
'idstatus' => '1',
'address' => 'PO Box 1853',
'apt' => '',
'city' => 'Key West',
'state' => 'Fl',
'idcountry' => '1',
'zipcode' => '33041',
'phone' => '954-559-4774',
'gender' => '0',
'website' => 'freedivekeywest.com',
'notes' => 'auto created',
'created' => '2021-06-14 11:50:36',
'dob' => '1990-07-15 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '270',
'expOXY' => '2027-05-05 00:00:00',
'expCPR' => '2027-04-21 00:00:00',
'expINS' => '2026-07-12 00:00:00',
'expFAI' => '2027-04-21 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4885',
'idattachment_exp2' => '4871',
'idattachment_exp3' => '4874',
'idattachment_exp4' => '4873',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'tracy@marinebrokering.com',
'googlemerchant' => '',
'bio' => 'FII Level 1, Juniors, & Level 2 assistant freediving instructor, Tracy Wollschlager, teaches both in the Florida Keys and also travels for private courses! Tracy's love for the ocean began at a young age, and it has since become her life's passion. With over a decade of experience in the world of freediving, she has explored the wonders of the deep blue in her backyard, the Florida Keys, as well as some of the most breathtaking locations on Earth. Tracy's teaching philosophy centers around safety, respect for marine life, and a deep connection to the underwater world. Her courses are tailored to all levels, from beginners seeking to discover the magic of breath-hold diving to advanced practitioners aiming to refine their techniques.
What to Expect:
Personalized instruction
Breath-holding techniques
Equalization mastery
Dive planning and safety
Mindfulness and relaxation practices
Join Tracy and embark on a transformative underwater adventure!',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'tracy.wollschlager',
'idstudent' => '11290',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1634',
'name' => 'Formula Freediving',
'address' => '2940 Overseas Highway',
'zipcode' => '33050',
'city' => 'Marathon',
'state' => 'Florida',
'idcountry' => '1',
'phones' => '9545594774',
'geolocLat' => '24.7106266',
'geoloclong' => '-81.0977020',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2026-03-15 16:35:40',
'timesused' => '69',
'priority' => '2',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
)
)
$speciality_instructor_types = array(
(int) 0 => 'SI-Basic Freediving Safety',
(int) 1 => 'Instructor Trainer',
(int) 3 => 'Waterman Survival Instructor',
(int) 5 => 'Monofin',
(int) 6 => 'SI-Advanced Freediving Safety',
(int) 7 => 'Spearfishing Instructor',
(int) 8 => 'SI-Freediving Photography'
)
$core_instructor_types = array(
(int) 0 => 'Level 1 Instructor',
(int) 2 => 'Level 2 Instructor',
(int) 3 => 'Level 3 Instructor',
(int) 4 => 'Junior Freediver Instructor'
)
$course_levels = array(
(int) 0 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 1 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '2',
'name' => 'Level 2 Freediver',
'idclasstype' => '1',
'orden' => '3',
'AllowCertification' => '1',
'code' => 'L2',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=13',
'notes' => 'The FII Level 2 Freediver course runs over four days, its is perfect for spearfishermen and freediver's whom are already confident with breathhold activities, the use of freediving specific equipment and blue water diving. Throughout this course we will introduce you to your natural inborn aquatic abilities and teach you specific techniques to unlock them!',
'minage' => '16',
'certificationseq' => '1186',
'instructorrating' => 'I2',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '35'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 2 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '3',
'name' => 'Level 3 Freediver',
'idclasstype' => '1',
'orden' => '4',
'AllowCertification' => '1',
'code' => 'L3',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=14',
'notes' => 'The F.I.I. Level 3 course is suited to FII Level 2 graduates or equivalent, looking to expand their knowledge on training for freediving. Throughout the FII Level 3 course we show you how to change your physiology to become a better diver. This high intensity course leaves participants armed with the knowledge to attain personal goals by utilizing training techniques developed by World Champion Freediver & FII Director of Education, Martin Stepanek. It is truly the ultimate experience for the dedicated freediver.',
'minage' => '16',
'certificationseq' => '154',
'instructorrating' => 'I3',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '35'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 3 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '4',
'name' => 'Introduction to Monofin',
'idclasstype' => '2',
'orden' => '11',
'AllowCertification' => '1',
'code' => 'ITM',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=monofin',
'notes' => 'Not only is the monofin an energy efficient tool for freediving, but more and more people are selecting it for fitness. This is one of the most effective ways to tone up the torso and lower body, all while doing something enjoyable! Our unique 1 hour, compressed training program is your introduction to learn this rewarding sport. Beginning with correct equipment selection, we take you through the bio-mechanics of monofin technique and targeted stretching, before hitting the pool for your in-water technique development. With the unique combination of dry land exercises, pool development skills and video technique review, you’ll find this a rewarding start to the world of monofinning! Cost includes: tuition, course dvd & pool fees. ',
'minage' => '16',
'certificationseq' => '105',
'instructorrating' => 'SI-ITM',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 4 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '5',
'name' => 'Advanced Freediving Safety',
'idclasstype' => '2',
'orden' => '8',
'AllowCertification' => '1',
'code' => 'AFS',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=24',
'notes' => 'Interested in learning more advanced freediving safety procedures and precautions used and employed in freediving competitions and during freediving events? Would you like to become a freediving instructor, help to teach freediving or be a safety freediver? Or are you just comfortable with your freediving abilities and want to become safer? If any of these questions apply, then this is the right course for you. Class is a full day, with 1 x boat trip and you have to be certified as minimum Level 1 Freediver or equivalent. ',
'minage' => '16',
'certificationseq' => '323',
'instructorrating' => 'SI-AFS',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 5 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '6',
'name' => 'Assistant Instructor',
'idclasstype' => '3',
'orden' => '14',
'AllowCertification' => '1',
'code' => 'AI',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=22',
'notes' => 'To become an instructor you don’t have to finish all three recreational levels! You do however have to successfully pass the particular level you intend to teach, then you can enroll in our four day Assistant Instructor course and on passing this you'll be invited into our Instructor Exam. Topics covered throughout the Assistant Instructor course: FII Standards & Procedures; How to Utilize the FII Teaching Scripts; Procedures for Conducting Confined Water sessions; Procedures for Conducting Open Water sessions; Mastering all Skills to Demonstration Level. ',
'minage' => '18',
'certificationseq' => '276',
'instructorrating' => 'IT',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 6 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '7',
'name' => 'Freediving Instructor Exam',
'idclasstype' => '3',
'orden' => '15',
'AllowCertification' => '1',
'code' => 'FI',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=23',
'notes' => 'Teach the FII standardized freediving educational system with confidence and pride that you are offering your students the highest level of freediving training available worldwide. FII offers its instructors full freediving specific insurance, comprehensive instructor manuals, teaching scripts, student manuals and learning aids. Become an FII Instructor and offer independent freediving course worldwide',
'minage' => '18',
'certificationseq' => '359',
'instructorrating' => 'IT',
'allowmultiplecc' => '1',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 7 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '8',
'name' => 'Junior Freediver',
'idclasstype' => '2',
'orden' => '9',
'AllowCertification' => '1',
'code' => 'JFD',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=29',
'notes' => 'This 2 day program offers junior freedivers the opportunity to master the fundamentals of the FII freediving techniques in a relaxed, fun, safe environment. ',
'minage' => '12',
'certificationseq' => '203',
'instructorrating' => 'SI-JFD',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 8 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '9',
'name' => 'Basic Freediving Safety',
'idclasstype' => '2',
'orden' => '7',
'AllowCertification' => '1',
'code' => 'BFS',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=28',
'notes' => 'The information in this course may save your buddy, husband, son, or daughter’s life. This course should be looked upon as a minimum requirement for everyone participating in any form of freediving activities. ',
'minage' => '12',
'certificationseq' => '383',
'instructorrating' => 'SI-BFS',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '20'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
),
(int) 3 => array(
[maximum depth reached]
)
)
),
(int) 9 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '10',
'name' => 'Practice Sessions and Trips',
'idclasstype' => '2',
'orden' => '99',
'AllowCertification' => '0',
'code' => 'PST',
'status' => '1',
'allowcustomname' => '1',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '1',
'instructorrating' => '',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array()
),
(int) 10 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '11',
'name' => 'Waterman Survival',
'idclasstype' => '2',
'orden' => '12',
'AllowCertification' => '1',
'code' => 'WSC',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '12',
'certificationseq' => '237',
'instructorrating' => 'SI-WSC',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '20'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 11 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '12',
'name' => 'Waterman Survival Extended',
'idclasstype' => '2',
'orden' => '13',
'AllowCertification' => '1',
'code' => 'WSE',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '374',
'instructorrating' => 'SI-WSC',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 12 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '14',
'name' => 'Level 1 Freediver POOL ONLY',
'idclasstype' => '1',
'orden' => '2',
'AllowCertification' => '1',
'code' => 'L1P',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '1831',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
)
)
),
(int) 13 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '15',
'name' => 'Spearfishing',
'idclasstype' => '2',
'orden' => '5',
'AllowCertification' => '1',
'code' => 'SPF',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '247',
'instructorrating' => 'SI-SPF',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
)
)
),
(int) 14 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '16',
'name' => 'Junior Freediver POOL ONLY',
'idclasstype' => '1',
'orden' => '10',
'AllowCertification' => '1',
'code' => 'JFP',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '12',
'certificationseq' => '23',
'instructorrating' => 'SI-JFD',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array()
),
(int) 15 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '17',
'name' => 'Freediving Photography',
'idclasstype' => '2',
'orden' => '6',
'AllowCertification' => '1',
'code' => 'FPH',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '12',
'certificationseq' => '11',
'instructorrating' => 'SI-FPH',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '27',
'manual_avail' => '1',
'manual_price' => '39'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
)
)
)
)
$radius = ''
$location_str = null
$searchtype = null
$location = null
$level = null
$instructor = ''
$order = 'sort_name'
$content_for_layout = '<main class="main main-search-section" style="background-color: #f7f7f9;">
<div class="section section-map-view section-other" style="background-color: #f7f7f9;">
<div class="d-block d-md-none">
<div class="search-box search-box--expand">
<input class="search-box__input search-box__input--sm search-box__input--prepand-icon" type="text" readonly placeholder="Search" value="" data-lvl="" data-location="" data-instuctor="">
<button class="search-box__btn search-box__btn--prepand search-box__btn--sm search-box__btn--opacity-hover" aria-label="start search"><img class="search-box__icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-search-secondary" alt="Magnifier"></button>
<div class="search-box__content">
<button class="search-box__close" aria-label="Close" type="button"> </button>
<div class="tabs-list">
<button class="tabs-list__item tabs-list__item--active tabs-list__item--mobile-friendly tabs-list__item--search-box" data-target="tab-modal-verify-search-instructor" type="button"> <span class="d-none d-md-inline-block">Find a </span> Course </button>
<button class="tabs-list__item tabs-list__item--mobile-friendly tabs-list__item--search-box" data-target="tab-modal-verify-search-freediver" type="button"> <span class="d-none d-md-inline-block">Find an </span> Instructor </button>
</div>
<div class="tabs-content-list">
<div class="tabs-content-list__item tabs-content-list__item--box tabs-content-list__item--active" id="tab-modal-verify-search-instructor">
<form name="form-course" method="get" action="https://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" required placeholder="Select Course Level" type="text" name="level" value="">
</label>
<div class="form-control search-box__control form-control--select select_course_small"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_course_small">
<input class="form-control__select-input" placeholder="Enter city name" name="location_str" value=>
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder="Name" name="instructor" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_course_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
<div class="tabs-content-list__item tabs-content-list__item--box" id="tab-modal-verify-search-freediver">
<form method="get" action="https://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-professional-rating"><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" required placeholder="Select Rating" type="text" name="instructor_types" value="">
</label>
<div class="form-control search-box__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor_small">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name <span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_instructor_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container accordion-wrap">
<div class="accordion">
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find a Course</p>
</div>
<form name="form-course" class="accordion__content" method="get" action="https://freedivingproshop.com/fii/search" >
<label class="form-control accordion__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" name="level" required placeholder="Select Course Level" type="text" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left: 3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select" >
<input name="location_str" class="form-control__select-input" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button type="submit" class="btn btn--primary accordion__apply-btn search_submit_course" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div>
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find an Instructor</p>
</div>
<form class="accordion__content" action="https://freedivingproshop.com/fii/search" method="get">
<label class="form-control accordion__control" data-micromodal-trigger="modal-professional-rating" ><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" placeholder="Select Rating" type="text" required name="instructor_types" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder=" Name" type="text" name="instructor" value="">
<input name="searchtype" value="type_instructor" type="hidden">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary accordion__apply-btn" id="search_instructor_submit" type="submit" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div><!--<a class="accordion__item accordion__item--link" href="/fii/online_courses">
<div class="accordion__header">
<p class="accordion__title">Learn Online</p>
</div></a>-->
</div>
</div>
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc0b4440-trace').style.display = (document.getElementById('cakeErr69bb1cc0b4440-trace').style.display == 'none' ? '' : 'none');"><b>Notice</b> (8)</a>: Undefined index: HTTP_ACCEPT_LANGUAGE [<b>APP/Config/bootstrap.php</b>, line <b>121</b>]<div id="cakeErr69bb1cc0b4440-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc0b4440-code').style.display = (document.getElementById('cakeErr69bb1cc0b4440-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc0b4440-context').style.display = (document.getElementById('cakeErr69bb1cc0b4440-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1cc0b4440-code" class="cake-code-dump" style="display: none;"><code><span style="color: #000000"><span style="color: #0000BB"> </span><span style="color: #007700">} else if (isset(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'vns_lang'</span><span style="color: #007700">]) AND </span><span style="color: #0000BB">language_file_exist</span><span style="color: #007700">(</span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'vns_lang'</span><span style="color: #007700">])) {</span></span></code>
<code><span style="color: #000000"><span style="color: #0000BB"> $language </span><span style="color: #007700">= </span><span style="color: #0000BB">$_SESSION</span><span style="color: #007700">[</span><span style="color: #DD0000">'vns_lang'</span><span style="color: #007700">]; </span></span></code>
<span class="code-highlight"><code><span style="color: #000000"><span style="color: #0000BB"> </span><span style="color: #007700">} else if (</span><span style="color: #0000BB">language_file_exist</span><span style="color: #007700">(</span><span style="color: #0000BB">$language </span><span style="color: #007700">= </span><span style="color: #0000BB">substr</span><span style="color: #007700">(</span><span style="color: #0000BB">$_SERVER</span><span style="color: #007700">[</span><span style="color: #DD0000">"HTTP_ACCEPT_LANGUAGE"</span><span style="color: #007700">],</span><span style="color: #0000BB">0</span><span style="color: #007700">,</span><span style="color: #0000BB">2</span><span style="color: #007700">))) {</span></span></code></span></pre><pre id="cakeErr69bb1cc0b4440-context" class="cake-context" style="display: none;">$language = 'en'</pre><pre class="stack-trace">get_language - APP/Config/bootstrap.php, line 121
_define_lang - APP/Config/bootstrap.php, line 137
_t - APP/Config/bootstrap.php, line 157
include - APP/View/Elements/search_initial.ctp, line 255
View::_evaluate() - CORE/Cake/View/View.php, line 971
View::_render() - CORE/Cake/View/View.php, line 933
View::_renderElement() - CORE/Cake/View/View.php, line 1224
View::element() - CORE/Cake/View/View.php, line 418
include - APP/View/Fii/search.ctp, line 13
View::_evaluate() - CORE/Cake/View/View.php, line 971
View::_render() - CORE/Cake/View/View.php, line 933
View::render() - CORE/Cake/View/View.php, line 473
Controller::render() - CORE/Cake/Controller/Controller.php, line 963
FiiController::search() - APP/Controller/FiiController.php, line 1249
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167</pre></div></pre><!-- Cursos -->
<script type="text/javascript">
var points = [];
var pointsFacilities = [];
var initLat = 44.5403;
var initLng = -78.5463;
</script>
<span class="right" style="display: none">
<label>Order by</label>
<select class="styled" id="order_by">
<option value="sort_date">Date</option>
<option value="sort_name" selected>Name</option>
<option value="sort_fee">Fee</option>
</select>
</span>
<div style="display: none">
<a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:8/sort:ClassicCourse.ini/direction:asc/callto:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:8/sort:ClassicClasslevel.name/direction:asc/callto:" id="sort_name" class="desc">ClassicClasslevel Name</a><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto:" id="sort_fee">ClassicCourse Tuitionfee</a> </div>
<div class="container">
<div class="row row-map-view initial-search row-map-view--mobile-list-view">
<div class="col-md-12 row-map-view__map-col row-map-view__map-col--lg">
<div class="search-map js-toggle-to-map-view" id="side-map-search"></div>
<div class="map-slider">
<div class="splide">
<div class="splide__track">
<div class="splide__list"></div>
</div>
</div>
</div>
</div>
<button style="z-index: 200;" class="row-map-view__toggle row-map-view__toggle--to-map-view">MAP</button>
<button class="row-map-view__toggle row-map-view__toggle--to-list-view">LIST</button>
<div class="col-md-12 row-map-view__main-col row-map-view__main-col--lg">
<div class="card-list card-list--mobile-mt card-list--pt">
<div class="card-list__title">89 ACTIVE COURSES</div>
<div class="row">
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 18, 2026 - Apr 19, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13005">13005 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Freediving Fundamentals with a Pro Spearfisherman</p>
<p class="card__text">
Costa Mesa, Costa Mesa, California
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/194" >
Ryan Moore </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://310-345-0446">
310 345 0446 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:310-345-0446">
310 345 0446 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/20">Spear America Costa Mesa</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://949-536-5336">
949-536-5336 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:949-536-5336">
949-536-5336 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 600 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 300 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13005');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
May 01, 2026 - May 03, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13008">13008 - Level 1 Freediver</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/194" >
Ryan Moore </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://310-345-0446">
310 345 0446 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:310-345-0446">
310 345 0446 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 525 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 275 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13008');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Jun 05, 2026 - Jun 07, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13009">13009 - Level 1 Freediver</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/194" >
Ryan Moore </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://310-345-0446">
310 345 0446 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:310-345-0446">
310 345 0446 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 525 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 275 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13009');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 07, 2026 - Apr 08, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13017">13017 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">PRIVATE Level 1 Course - Marathon</p>
<p class="card__text">
Formula Freediving, Marathon, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/241" >
Tracy Wollschlager </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://954-559-4774">
954-559-4774 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-559-4774">
954-559-4774 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 595 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 595 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13017');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
May 30, 2026 - May 31, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13018">13018 - Level 1 Freediver</a></p>
<p class="card__text">
Olympic Peninsula, Port Angeles, WA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/275" >
Ryan Strong </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://206-681-0897">
206-681-0897 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:206-681-0897">
206-681-0897 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 550 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 300 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13018');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Jun 10, 2026 - Jun 27, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13020">13020 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Level 1 Freediver June A</p>
<p class="card__text">
School of Fish, Rocky Point, New York
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/124" >
Dean McCormick </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://631-965-1330">
631-965-1330 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:631-965-1330">
631-965-1330 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 450 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13020');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 16, 2026 - Apr 18, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13022">13022 - Level 1 Freediver</a></p>
<p class="card__text">
Taino Divers, Rincon, Puerto Rico
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/49" >
Joe Sheridan </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://910-352-6371">
910-352-6371 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:910-352-6371">
910-352-6371 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 695 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13022');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 18, 2026 - Apr 19, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13028">13028 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Spearfishing Experts shop taught by David Fritch</p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/225" >
David Fritch </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://4077652821">
4077652821 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:4077652821">
4077652821 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/26">Hypoxic Hunters</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://954-955-1579">
954-955-1579 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-955-1579">
954-955-1579 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 575 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 100 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13028');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 25, 2026 - Mar 26, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13029">13029 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">PRIVATE COURSE - Erin & Family</p>
<p class="card__text">
Formula Freediving, Marathon, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/241" >
Tracy Wollschlager </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://954-559-4774">
954-559-4774 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-559-4774">
954-559-4774 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 0 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13029');" >register</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="text-center">
<div class="pagination pagination--mb">
<div class="pagination__list">
<!--https://book.cakephp.org/2/en/core-libraries/helpers/paginator.html#PaginatorHelper> -->
<a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:7/sort:ClassicClasslevel.name/direction:desc/callto:" class="pagination__arr pagination__arr--left" rel="prev"></a><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:2/sort:ClassicClasslevel.name/direction:desc/callto:">2</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:3/sort:ClassicClasslevel.name/direction:desc/callto:">3</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:4/sort:ClassicClasslevel.name/direction:desc/callto:">4</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:5/sort:ClassicClasslevel.name/direction:desc/callto:">5</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:6/sort:ClassicClasslevel.name/direction:desc/callto:">6</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:7/sort:ClassicClasslevel.name/direction:desc/callto:">7</a></span><span class="pagination__item pagination__item--active pagination__item">8</span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:9/sort:ClassicClasslevel.name/direction:desc/callto:">9</a></span><span class="pagination__item"><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:10/sort:ClassicClasslevel.name/direction:desc/callto:">10</a></span><a href="/fii/search/310-345-0446/954-955-1579/4017411711/page:9/sort:ClassicClasslevel.name/direction:desc/callto:" class="pagination__arr pagination__arr--right" rel="next"></a> </div>
</div>
<div class="d-block text-center-mobile"><a class="btn btn--link btn--link-dark" href="/app/webroot/files/levelinfo/flowchart.jpg" target="_blank">Not sure where to start?</a></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var pp = new google.maps.InfoWindow();
google.maps.event.addDomListener(window, 'load', function(){
initialize(initLat, initLng);
});
$("#order_by").change(function(e) {
location.href = $('#' + $("#order_by").val()).attr("href");
});
var init_map = function() {
var FACILITIES = [
{ lat: 26.2615219, lng: -80.09862869999999 },
{ lat: 19.6477165, lng: -155.9985406 },
{ lat: 33.6872868, lng: -117.8586696 },
{ lat: 30.3934117, lng: -86.49931169999999 },
{ lat: 24.7105192, lng: -81.0976064 },
{ lat: 25.2864004, lng: 51.5328925 },
{ lat: 49.8370002, lng: 18.2830054 }
]
var INSTRUCTOR_COURSES = {
// instructor-name: number_of_courses;
}
if(!window.GMmap) setTimeout(init_map, 100);
else {
var bounds = new google.maps.LatLngBounds();
//current courses on maP
// Load instructors
$.ajax({
"type": "POST",
"url": "/locator/instructors",
"dataType": "json",
"success": function(data) {
// for (i = 0; i < point.length; i++) point[i].setMap(null);
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geoloclong) <= 0.01;
})
if(!INSTRUCTOR_COURSES[`${data[i].namehtml}`]) {
INSTRUCTOR_COURSES[`${data[i].namehtml}`] = data[i].nrocourses;
}
if (occupied_by_facility) {
continue;
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geoloclong)
});
phone = "";
if(data[i].phone) {
phone = $("<div><br><big></big></div>");
phone.find("big").text("Phone: " + data[i].phone);
phone = phone.html();
}
email = "";
if(data[i].email) {
email = $("<div><span></span><a></a></div>");
email.find("span").text("Email: ");
email.find("a").attr("href", "mailto:" + data[i].email);
email.find("a").text(data[i].email);
email = email.html() + "<br>";
}
if(data[i].levels) point.levels = data[i].levels;
else point.levels = "0";
point.idinstructor = data[i].idinstructor;
var strurl = data[i].idinstructor;
var instructorAddress = '';
if (data[i].address) {
instructorAddress += data[i].address;
}
if (data[i].city && data[i].address) {
instructorAddress += `, ${data[i].city}`
} else {
instructorAddress += `${data[i].city}`
}
if (data[i].state && data[i].cname && data[i].state !== data[i].cname) {
instructorAddress += `, ${data[i].state}`;
}
if (!data[i].state && data[i].cname) {
instructorAddress += `, ${data[i].cname}`;
}
var imgUrl = ''
if (data[i].ifaceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var phone = data[i].phone.split(' ').join('-');
var strcontent = `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content"><p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${strurl}"> ${data[i].namehtml}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${phone}"> ${data[i].phone}</a></p>
<p class="card__text">${email}</p>`
strcontent += `<p class='card__text'>${instructorAddress}</p>`;
if (data[i].nrocourses > 0) {
strcontent += "<p class='card__text'><a href='/fii/courses_by/"+ strurl + "'>All Courses List (" + data[i].nrocourses +")</a></p> ";
}
if (data[i].nrocoursesloc > 0) {
strcontent += "[ "+ data[i].nrocoursesloc+" Courses in this Location ]" ;
}else {
strcontent += "<p class='card__text'><a href='mailto:"+data[i].email+"?subject=I would like to request a freediving course on your location "+data[i].lname+"'>Request a course on this location</a></p>" ;
}
strcontent += `</div></div>`;
point.infowindow = new google.maps.InfoWindow({
content: strcontent
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
//alert(pp.infowindow);
if (pp.infowindow != undefined) { pp.infowindow.close();}
this.infowindow.open(GMmap, this);
pp = this ;
});
points.push(point);
}
},
"complete": function() {
$.ajax({
"type": "GET",
"url": "/locator/courses",
"dataType": "json",
"success": function(data) {
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geolocLong) <= 0.01;
});
if (occupied_by_facility) {
continue;
}
var allCourses = INSTRUCTOR_COURSES[`${data[i].iname}`];
if (allCourses) {
allCourses = '(' + allCourses + ')';
} else {
allCourses = ''
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geolocLong)
});
var imgUrl = ''
if (data[i].faceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var locationInfo = `${data[i].location_name}, ${data[i].city}, ${data[i].state}`;
var detailUrl = '';
detailUrl = data[i].idinstructor
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${detailUrl}"> ${data[i].iname}</a></p>
<p class="card__text"><span>Phone</span>: <a class="mobile-tel" href="tel:${data[i].phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${data[i].phone}"> ${data[i].phone}</a></p>
<p class="card__text">Email: <a href="mailto:${data[i].email}">${data[i].email}</a></p>
<p class="card__text">${locationInfo}</p>
<p class='card__text'><a href="/fii/courses_by/${detailUrl}">All Courses List ${allCourses}</a></p>
[${data[i].number_of_courses} courses in this location]
</div>
</div>
</div>
`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9998);
points.push(point);
};
}
});
}
});
// Load facilities
var addFacilityLocation = function(facility) {
var lat = facility.geolocLat;
var lng = facility.geoloclong;
var address = facility.address + (facility.city ? ", " + facility.city : "") + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
if(!(lat && lng)) {
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
"address": address,
},
"success": function(addr) {
if(addr && addr.status && addr.status == 'OK' && addr.results && addr.results[0]) {
lat = addr.results[0].geometry.location.lat;
lng = addr.results[0].geometry.location.lng;
addFacility(facility, lat, lng);
}
}
});
}
else {
addFacility(facility, lat, lng);
}
}
var addFacility = function(facility, lat, lng) {
if (facility && (facility.idmembershiplevel == 5 || facility.name.toLowerCase() == 'iqsub')) {
var point = new google.maps.Marker({
"map": GMmap,
"icon": "https://freedivingproshop.com/img/frontend/content/fii_icon.png",
"position": new google.maps.LatLng(lat, lng)
});
var email = "";
if (facility.email) {
email = `<p class="card__text">Email: <a href="mailto:${facility.email}">${facility.email}</a></p>`;
}
var address = facility.address + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
var phone = facility.phone.split(' ').join('-');
// Number of courses available at the facility
var coursesInfo = facility.nrocoursesloc > 0
? `<p class="card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.nrocoursesloc} upcoming courses</a></p>`
: "<p class='card__text'>No courses currently available</p>";
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII FACILITY #${facility.FII_id}</p>
<p class="font-weight-bold text-placeholder-color card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.name}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}">${facility.phone}</a>
<a class="desktop-tel" href="callto://${phone}">${facility.phone}</a></p>
${email}
<p class="card__text">${address}</p>
${coursesInfo}
</div>
</div>
</div>`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
});
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
});
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9999);
if (pointsFacilities) pointsFacilities.push(point);
}
};
$.ajax({
"type": "GET",
"url": "/locator/facilities",
"dataType": "json",
"success": function(data) {
for(var i = 0; i < data.length; i++) {
var facility = data[i];
addFacilityLocation(data[i]);
}
}
});
}
}
init_map();
function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
function stringDateMapper(date) {
var months = {
01: 'Jan',
02: 'Feb',
03: 'Mar',
04: 'Apr',
05: 'May',
06: 'Jun',
07: 'Jul',
08: 'Aug',
09: 'Sep',
10: 'Oct',
11: 'Nov',
12: 'Dec'
}
var removeYear = date.slice(5)
var removeTimestamp = removeYear.replace('01:00:00', '');
var intoArray = removeTimestamp.split('-');
return `${months[Number(intoArray[0])]} ${intoArray[1]}`;
}
var fullscreen = false;
document.onfullscreenchange = function(event) {
fullscreen = !fullscreen;
if (!fullscreen && $( window ).width() < 1200) {
$('.row-map-view__toggle.row-map-view__toggle--to-list-view').click();
}
}
</script>
<!-- <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDHS8cBjXUwNpyPHDiwTkXniVmeReTGr38&language=en&callback=initMapMainMapSearch"></script> -->
<div class="modal micromodal-slide" id="modal-select-course-lvl" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-select-course-lvl-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-select-course-lvl-title">Select Course Level</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-course-lvl">
<button class="course-list__item course-item course-item--single js-course-item-select">All Courses</button>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-course-item-select">Level 1 Freediver</button>
<button class="course-item__name js-course-item-select">Level 2 Freediver</button>
<button class="course-item__name js-course-item-select">Level 3 Freediver</button>
<button class="course-item__name js-course-item-select">Junior Freediver</button>
<button class="course-item__name js-course-item-select">Level 1 Freediver POOL ONLY</button>
<button class="course-item__name js-course-item-select">Junior Freediver POOL ONLY</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-course-item-select">Introduction to Monofin</button>
<button class="course-item__name js-course-item-select">Advanced Freediving Safety</button>
<button class="course-item__name js-course-item-select">Basic Freediving Safety</button>
<button class="course-item__name js-course-item-select">Waterman Survival</button>
<button class="course-item__name js-course-item-select">Waterman Survival Extended</button>
<button class="course-item__name js-course-item-select">Spearfishing</button>
<button class="course-item__name js-course-item-select">Freediving Photography</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/professional.png">
<div class="course-item__content">
<p class="course-item__type">Professional Courses</p>
<button class="course-item__name js-course-item-select">Assistant Instructor</button>
<button class="course-item__name js-course-item-select">Freediving Instructor Exam</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-course-item-select">Practice Sessions and Trips</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="modal-professional-rating" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-professional-rating-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-professional-rating-title">Select Professional Rating</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-professional-rating">
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-professional-rating">Level 1 Instructor</button>
<button class="course-item__name js-professional-rating">Level 2 Instructor</button>
<button class="course-item__name js-professional-rating">Level 3 Instructor</button>
<button class="course-item__name js-professional-rating">Junior Freediver Instructor</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-professional-rating">SI-Basic Freediving Safety</button>
<button class="course-item__name js-professional-rating">Instructor Trainer</button>
<button class="course-item__name js-professional-rating">Waterman Survival Instructor</button>
<button class="course-item__name js-professional-rating">Monofin</button>
<button class="course-item__name js-professional-rating">SI-Advanced Freediving Safety</button>
<button class="course-item__name js-professional-rating">Spearfishing Instructor</button>
<button class="course-item__name js-professional-rating">SI-Freediving Photography</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-professional-rating">All Ratings</button>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script>
var submitFindCourseBtn = document.querySelector('.search_submit_course');
if (submitFindCourseBtn) {
submitFindCourseBtn
.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtn = document.getElementById('search_instructor_submit');
if (submitFindInstructorBtn) {
submitFindInstructorBtn.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtnSmall = document
.getElementById('search_instructor_small_submit')
if (submitFindInstructorBtnSmall) {
submitFindInstructorBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var submitFindCourseBtnSmall = document
.getElementById('search_course_small_submit');
if (submitFindCourseBtnSmall) {
submitFindCourseBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_course_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var inputs = document.querySelectorAll(".form-control__input js-input-location readonly")
if (inputs.length){
inputs.forEach(function(input) {
input.addEventListener("change", function(e) {
if (e.target.textContent.contains("Invalid location")) {
setTimeout(() => {
e.target.value = "";
}, 500);
}
})
})
}
var inputs_locations = document.querySelectorAll(".form-control__select-input")
if (inputs_locations.length) {
inputs_locations.forEach(function(input) {
input.addEventListener("keypress", function(e) {
if (e.code === "Enter")
e.preventDefault();
})
})
}
</script>
<script type="text/javascript">
$('input[name=\"location_str\"]').change(function(e) {
e.preventDefault();
var me = $(this);
var val = me.val();
me.prop("disabled", true).val("Please wait...");
$("input[type=\"submit\"]").prop("disabled", true);
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"address": val,
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
},
"dataType": "json",
"success": function(e) {
if(e && e.status && e.status == 'OK' && e.results
&& e.results[0]) {
me.next().val(
e.results[0].geometry.location.lat + "," +
e.results[0].geometry.location.lng
);
me.prop("disabled", false).val(e.results[0].formatted_address);
$("input[type=\"submit\"]").prop("disabled", false);
}
else {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
},
"error": function() {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
});
e.preventDefault();
});
if($('input[name=\"location_str\"]').val() != '') $('input[name=\"location_str\"]').trigger('change');
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const observer = new MutationObserver(() => {
const autoInput = document.querySelector('.js-input-location');
const realInput = document.querySelector('input[name="location_str"]');
const hiddenInput = document.querySelector('input[name="location"]');
if (!autoInput || !realInput || !hiddenInput) return;
const lat = autoInput.dataset.autoLat;
const lng = autoInput.dataset.autoLng;
if (!hiddenInput.value && lat && lng) {
const full = `${lat},${lng}`;
hiddenInput.value = full;
realInput.value = autoInput.value || realInput.value;
console.log("✅ Force-synced from geolocation:", full);
} else {
console.log("⏭️ Skipped sync —", {
lat,
lng,
hiddenVal: hiddenInput.value
});
}
});
const block = document.querySelector('.form-control--select');
if (block) {
observer.observe(block, { attributes: true, childList: true, subtree: true });
console.log("👁️ Watching location block for auto-fill...");
} else {
console.warn("❌ Geolocation block not found");
}
});
</script>
'
$scripts_for_layout = ''
$title_for_layout = 'Search Courses - Freediving Instructors International'include - APP/View/Layouts/fii.ctp, line 536
View::_evaluate() - CORE/Cake/View/View.php, line 971
View::_render() - CORE/Cake/View/View.php, line 933
View::renderLayout() - CORE/Cake/View/View.php, line 546
View::render() - CORE/Cake/View/View.php, line 481
Controller::render() - CORE/Cake/Controller/Controller.php, line 963
FiiController::search() - APP/Controller/FiiController.php, line 1249
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167
[main] - APP/webroot/index.php, line 109
0"
data-intent="course"
onclick="fiiStartCourseLogin(null, this)">
Registered FII Student