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_fee',
'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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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('cakeErr69bb1ca610cb9-trace').style.display = (document.getElementById('cakeErr69bb1ca610cb9-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="cakeErr69bb1ca610cb9-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1ca610cb9-code').style.display = (document.getElementById('cakeErr69bb1ca610cb9-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1ca610cb9-context').style.display = (document.getElementById('cakeErr69bb1ca610cb9-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1ca610cb9-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="cakeErr69bb1ca610cb9-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">Name</option>
<option value="sort_fee" selected>Fee</option>
</select>
</span>
<div style="display: none">
<a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:9/sort:ClassicCourse.ini/direction:asc/callto:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:9/sort:ClassicClasslevel.name/direction:asc/callto:" id="sort_name">ClassicClasslevel Name</a><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:9/sort:ClassicCourse.tuitionfee/direction:desc/callto:" id="sort_fee" class="asc">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">
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/12935">12935 - Level 2 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/29" >
Daniel Koval </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/24">Deep Freediving Instruction</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </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">
Deposit: $ 345 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('12935');" >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 19, 2026 - Mar 21, 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/12955">12955 - Level 1 Freediver</a></p>
<p class="card__text">
Taino Divers, Rincon, Puerto Rico
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.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('12955');" >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://www.freedivinginstructors.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">
Jun 12, 2026 - Jun 14, 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/12863">12863 - Level 2 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Lake Crescent Level 2</p>
<p class="card__text">
Lake Crescent- Port Angeles, Washington, Seattle, WA
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/175" >
Dylan Currier </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://4017411711">
4017411711 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:4017411711">
4017411711 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 750 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('12863');" >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 23, 2026 - May 25, 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/12888">12888 - Level 2 Freediver</a></p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/230" >
Zachary Small </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://8083391615">
8083391615 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:8083391615">
8083391615 </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: $ 750 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<div><strong>Sold Out!</strong></div>
</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 15, 2026 - May 17, 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/13012">13012 - Level 2 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">ERROL PUTIGNA FREEDIVING</p>
<p class="card__text">
Jupiter, Jupiter, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/18" >
Errol Putigna </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://5613714078">
5613714078 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:5613714078">
5613714078 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 750 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('13012');" >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">
Aug 21, 2026 - Aug 23, 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/12808">12808 - Level 2 Freediver</a></p>
<p class="card__text">
Main, Destin, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/47" >
Joe D'Agostino </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://850-460-4115">
850-460-4115 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:850-460-4115">
850-460-4115 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/16">Benthic Ocean Sports</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://850-353-2757">
850-353-2757 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:850-353-2757">
850-353-2757 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 825 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 400 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('12808');" >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 10, 2026 - Apr 12, 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/12930">12930 - Waterman Survival Extended</a></p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/230" >
Zachary Small </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://8083391615">
8083391615 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:8083391615">
8083391615 </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: $ 850 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('12930');" >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 03, 2026 - Apr 05, 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/12931">12931 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">Explore Between Breath</p>
<p class="card__text">
Big Island Hawai'i, Kona, HI
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.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: $ 875 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 400 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('12931');" >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/8082097008/910-352-6371/808-436-7046/4077652821/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto:" class="pagination__arr pagination__arr--left" rel="prev"></a><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:2/sort:ClassicCourse.tuitionfee/direction:asc/callto:">2</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:3/sort:ClassicCourse.tuitionfee/direction:asc/callto:">3</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:4/sort:ClassicCourse.tuitionfee/direction:asc/callto:">4</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:5/sort:ClassicCourse.tuitionfee/direction:asc/callto:">5</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:6/sort:ClassicCourse.tuitionfee/direction:asc/callto:">6</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:7/sort:ClassicCourse.tuitionfee/direction:asc/callto:">7</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto:">8</a></span><span class="pagination__item pagination__item--active pagination__item">9</span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:10/sort:ClassicCourse.tuitionfee/direction:asc/callto:">10</a></span><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:10/sort:ClassicCourse.tuitionfee/direction:asc/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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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' => '12935',
'idclasslevel' => '2',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/06/05',
'end' => '2026/06/07',
'idinstructor' => '29',
'idlocation' => '1532',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '695',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-05 18:36:01',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '5',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '24',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '345',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'This course will be taught by 6x US national record holder, Daniel Koval. The course will start Thursday evening 5pm-8pm. Friday, longest day, open water session from 8-12pm followed by classroom and confined water session together will be held from 1pm-5pm. Saturday open water session from 8am-12pm followed with a classroom session from 1-4pm, Sunday we will have open water session from 8-12am followed by final test over lunch. Course location TBD depending on conditions. There is 3 additional boat fee of $50 for each open water session. Course details will be sent to your email a week before the course date. A non-refundable deposit of $345 will secure your spot. Please contact us through email daniel@deepfreediving.com or by phone (808)436-7046',
'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' => '2',
'approvedbyinstructor' => '1',
'hashlink' => '1134fb1a958beb031daab05cb0f3fca3',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>This course will be taught by 6x US national record holder, Daniel Koval. The course will start Thursday evening 5pm-8pm. Friday, longest day, open water session from 8-12pm followed by classroom and confined water session together will be held from 1pm-5pm. Saturday open water session from 8am-12pm followed with a classroom session from 1-4pm, Sunday we will have open water session from 8-12am followed by final test over lunch. Course location TBD depending on conditions. There is 3 additional boat fee of $50 for each open water session. Course details will be sent to your email a week before the course date. A non-refundable deposit of $345 will secure your spot. Please contact us through email daniel@deepfreediving.com or by phone (808)436-7046</p>',
'optionaldescription_teaser' => '<p>This course will be taught by 6x US national record holder, Daniel Koval. The course will start Thursday evening 5pm-8pm. Friday, longest day, open water session from 8-12pm followed by classroom and confined water session together will be held from 1pm-5pm. Saturday open water session from 8am-1</p>...'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '29',
'expMMBalert' => '2',
'FII_id' => '29',
'name' => 'Daniel Koval',
'firstname' => 'Daniel',
'lastname' => 'Koval',
'email' => 'daniel@deepfreediving.com',
'idstatus' => '1',
'address' => '990 ala nanala st. apt 40d',
'apt' => '',
'city' => 'honolulu',
'state' => 'Hawaii',
'idcountry' => '1',
'zipcode' => '96818',
'phone' => '808-436-7046',
'gender' => '1',
'website' => '',
'notes' => 'notes',
'created' => '2011-06-17 09:17:06',
'dob' => '1987-08-16 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '43',
'expOXY' => '2026-07-19 00:00:00',
'expCPR' => '2026-07-19 00:00:00',
'expINS' => '2026-11-06 00:00:00',
'expFAI' => '2026-07-19 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5018',
'idattachment_exp2' => '4640',
'idattachment_exp3' => '4642',
'idattachment_exp4' => '4641',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'daniel@deepfreediving.com',
'googlemerchant' => '',
'bio' => 'Owner of Deep Freediving Instruction, 6x USA NR holder and Deepest Freediver in the USA, 108m CWT, Daniel Koval continues to guide the freedivers and spearfisherman of America to deeper depths, safely. As Hawaii's most active top level freedving instructor, he and his partner USA national record holder Kristin Kuba has been growing the freediving community over the last 10 years, teaching all levels. Daniel has trained thousands of students and is continuously striving to build the safest freediving community in the world here in Hawaii.
Daniel is very passionate about freediving and loves to share his passion in every course. He will help you unlock your true potential not only in this sport but also in life. ',
'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' => 'daniel.koval',
'idstudent' => '265',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1532',
'name' => 'Main',
'address' => 'Ala Moana',
'zipcode' => '96818',
'city' => 'Honolulu',
'state' => 'HI',
'idcountry' => '1',
'phones' => '8084367046',
'geolocLat' => '21.2918523',
'geoloclong' => '-157.8435654',
'notes' => '1',
'showonlocator' => '0',
'lasttimeused' => '2021-05-06 13:47:55',
'timesused' => '0',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '24',
'FII_id' => 'A23',
'name' => 'Deep Freediving Instruction',
'email' => 'daniel@deepfreediving.com',
'idstatus' => '1',
'address' => '3075 Ala Pohapl. #706',
'apt' => '',
'city' => 'Honolulu',
'zipcode' => '96818',
'state' => 'Hawaii',
'idcountry' => '1',
'phone' => '808-436-7046',
'website' => 'www.deepfreediving.com',
'notes' => 'notes',
'created' => '2021-05-05 23:25:05',
'idlogin' => '267',
'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' => 'daniel@deepfreediving.com',
'paypalemail2' => '',
'paypalemail3' => '',
'cnfname' => 'Daniel',
'cnlname' => 'Koval',
'urlname' => 'deepfreediving',
'info' => 'Deep Freediving Instruction was started in 2011 by owner Daniel Koval (2x World championship medalist and 6x US National record holder) and his partner Kristin Kuba (2x US National record holder). Together they have been competing around the world with the best, continuing to push the US freediving to new depths. When they are not training they teach and coach freediving at the highest level and continue to grow the community of elite freedivers. Both Kristin and Daniel started their careers through spearfishing an enjoy taking underwater photos. So with their combined 27 years of experience of life in the water they are happy to tailor each course, training, or coaching experience to the needs of their clients. For more Info about Daniel and Kristin check out danandkristinfreedive.com',
'faceshot' => '1',
'faceshot2' => '1',
'idmembershiplevel' => '4',
'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' => '12955',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/03/19',
'end' => '2026/03/21',
'idinstructor' => '49',
'idlocation' => '306',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '695',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-15 09:43:21',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '0',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => '',
'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' => 'Colinas de Ensenada',
'premises2' => 'Captain Alan Cannella',
'premises3' => 'Out of the Blue Charters',
'premises4' => 'Captain Justin Griego',
'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) 2 => 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) 3 => array(
'ClassicCourse' => array(
'idcourse' => '12863',
'idclasslevel' => '2',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/06/12',
'end' => '2026/06/14',
'idinstructor' => '175',
'idlocation' => '1804',
'idstatus' => '1',
'maxcapacity' => '10',
'tuitionfee' => '750',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-12-06 02:19:13',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '9',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '0',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => 'Lake Crescent Level 2',
'optionaldescription' => 'Join Dylan Currier and local Seattle Instructor Ryan Strong in this 3-day class held in the clear blue waters of Lake Crescent to learn the intricacies of deep freediving to depths up to 40m/132ft. This “gamechanger” of a class covers many different elements of safety, technique, physiology, physics, advanced breathing, equalization and air management. During the level 2 course, students will learn how to safely utilize many “power tools” such as reverse packing, purge breaths, negative pressure dives, and respiratory stretches.
',
'courseterms' => ' Full refund 2 weeks+ prior. 50% 1-2 weeks prior to course. No refund less than 1 week prior. ',
'idregionalbranch' => '1',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Join Dylan Currier and local Seattle Instructor Ryan Strong in this 3-day class held in the clear blue waters of Lake Crescent to learn the intricacies of deep freediving to depths up to 40m/132ft. This “gamechanger” of a class covers many different elements of safety, technique, physiology, physics, advanced breathing, equalization and air management. During the level 2 course, students will learn how to safely utilize many “power tools” such as reverse packing, purge breaths, negative pressure dives, and respiratory stretches.</p>',
'optionaldescription_teaser' => '<p>Join Dylan Currier and local Seattle Instructor Ryan Strong in this 3-day class held in the clear blue waters of Lake Crescent to learn the intricacies of deep freediving to depths up to 40m/132ft. This “gamechanger” of a class covers many different elements of safety, technique, physiology, phys</p>...'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '175',
'expMMBalert' => '26',
'FII_id' => '175',
'name' => 'Dylan Currier',
'firstname' => 'Dylan',
'lastname' => 'Currier',
'email' => 'dylancurrier21@gmail.com',
'idstatus' => '1',
'address' => 'PO Box 796',
'apt' => '',
'city' => 'Holualoa',
'state' => 'Hawaii',
'idcountry' => '1',
'zipcode' => '96725',
'phone' => '4017411711',
'gender' => '1',
'website' => 'https://www.makaifreediving.com',
'notes' => 'auto created',
'created' => '2016-09-03 01:35:33',
'dob' => '1994-01-21 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '199',
'expOXY' => '2026-09-20 00:00:00',
'expCPR' => '2028-01-15 00:00:00',
'expINS' => '2027-01-23 00:00:00',
'expFAI' => '2028-01-15 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5070',
'idattachment_exp2' => '4693',
'idattachment_exp3' => '5073',
'idattachment_exp4' => '5072',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'dylancurrier21@gmail.com',
'googlemerchant' => '',
'bio' => 'Dylan is a seasoned freediver, spearfisherman, underwater photographer, pelagic naturalist, and veteran instructor with a decade of experience teaching and training in the water. His journey beneath the surface began at the age of 21 during a sailing sabbatical with his father in the Bahamas, where the art of breath-hold diving and spearfishing first caught his imagination. That encounter set him on a path that would reshape his life—and root it entirely in the ocean.
Since then, Dylan has devoted himself fully to the pursuit and practice of freediving, evolving into a deep diver, safety diver, and educator with thousands of hours spent in the water. He trained under 13x world record holder and FII founder Martin Stepanek, and went on to become the youngest ever certified Level 2 Instructor with Freediving Instructors International. He now dives to depths of 200 feet (60m) on a single breath, hunts fish to depths up to 40m, and teaches both public and private courses throughout the year.
After cutting his teeth in the dark waters of New England, Dylan followed his instincts west to the middle of the Pacific Ocean—relocating to Hawai‘i to immerse himself in the bluewater environment full-time. Today, he calls Kona home, where he teaches courses year-round and continues to explore the outer limits of what’s possible on breath-hold. His instruction is rooted in experience, safety, technique and the mindset required to move with confidence and awareness in the ocean.
When not teaching, Dylan works as a pelagic wildlife guide, spotter, and safety diver. He is the owner and lead guide of See Through Sea, a wildlife tour company based in Kona that specializes in open-ocean encounters with Hawai‘i’s pelagic species. He also serves as Lead Educator and Head of Program Development at FreediveSafe! Hawai‘i, a nonprofit dedicated to preventing spearfishing and freediving-related fatalities through community education and outreach.
Follow Dylan on Instagram @thesaltyskipper',
'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' => 'dylan.currier',
'idstudent' => '9657',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1804',
'name' => 'Lake Crescent- Port Angeles, Washington',
'address' => '',
'zipcode' => '98362',
'city' => 'Seattle',
'state' => 'WA',
'idcountry' => '1',
'phones' => '',
'geolocLat' => '47.6061389',
'geoloclong' => '-122.3328481',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2025-12-06 02:22:02',
'timesused' => '2',
'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) 4 => array(
'ClassicCourse' => array(
'idcourse' => '12888',
'idclasslevel' => '2',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/05/23',
'end' => '2026/05/25',
'idinstructor' => '230',
'idlocation' => '1701',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '750',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-12-19 12:23:10',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '0',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '26',
'nickname' => '',
'moreinfoURL' => 'http://www.hypoxichunters.com',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => '###This course is called the game changer for a reason!
*To make use of the best conditions the schedule for this course is as follows:
- May 22nd
- 4 hour theory in person or zoom
- May 23rd
- 3 hour open water session
- Video reviews
- 1.5 hr theory
- 3 hour pool session
- May 24th
- 3 hour open water session
- Video reviews
- Theory to finish out the day
- May 25th
- 3 hour open water session
- Video reviews
- Test
*This class has a $100 boat fee per day, due the first day of the course. Total boat fees come out to $300*
**What this class offers**
*This course teaches you all the skills needed to reach depths up to 132ft. This class not only teaches the necessary skills needed, but has a lot of 1 on 1 coaching involved. The video review sections above are for us to look at to help fix issues and help you get to the next stage of your diving.*
*Whether you are starting to want to dive deeper, or learn a lot of skills that will improve your spearfishing, this course offers something for everyone! Even though we offer a dedicated spearfishing course, it is very easy to relate this info over to how it will help with your days of spearing.*
**Required Equipment**
- Mask
- Snorkel
- Wetsuit
- Weight Belt
- Fins (Carbon reccomended)
- Dive Watch
[For renting or purchasing equipment, we offer students a 10% off first purchase](https://www.spearfishingexperts.com)
**We offer days of line diving when we are teaching as well. For this we bring more instructors and more floats to have dedicated sessions. If you are an already certified diver and looking to go out join a dive session with us, please reach out about how to do so.**',
'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' => 'Hypoxic Hunters',
'premises2' => 'Fort Lauderdale Aquatic Center',
'premises3' => 'Over and Outlanders LLC',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<h3>This course is called the game changer for a reason!</h3>
<p>*To make use of the best conditions the schedule for this course is as follows:</p>
<ul>
<li>
<p>May 22nd</p>
<ul>
<li>4 hour theory in person or zoom</li>
</ul>
</li>
<li>
<p>May 23rd</p>
<ul>
<li>3 hour open water session</li>
<li>Video reviews</li>
<li>1.5 hr theory</li>
<li>3 hour pool session</li>
</ul>
</li>
<li>
<p>May 24th</p>
<ul>
<li>3 hour open water session</li>
<li>Video reviews</li>
<li>Theory to finish out the day</li>
</ul>
</li>
<li>
<p>May 25th</p>
<ul>
<li>3 hour open water session</li>
<li>Video reviews</li>
<li>Test</li>
</ul>
</li>
</ul>
<p><em>This class has a $100 boat fee per day, due the first day of the course. Total boat fees come out to $300</em></p>
<p><strong>What this class offers</strong></p>
<p><em>This course teaches you all the skills needed to reach depths up to 132ft. This class not only teaches the necessary skills needed, but has a lot of 1 on 1 coaching involved. The video review sections above are for us to look at to help fix issues and help you get to the next stage of your diving.</em></p>
<p><em>Whether you are starting to want to dive deeper, or learn a lot of skills that will improve your spearfishing, this course offers something for everyone! Even though we offer a dedicated spearfishing course, it is very easy to relate this info over to how it will help with your days of spearing.</em></p>
<p><strong>Required Equipment</strong></p>
<ul>
<li>Mask</li>
<li>Snorkel</li>
<li>Wetsuit</li>
<li>Weight Belt</li>
<li>Fins (Carbon reccomended)</li>
<li>Dive Watch</li>
</ul>
<p><a target="_blank" rel="nofollow noopener" href="https://www.spearfishingexperts.com">For renting or purchasing equipment, we offer students a 10% off first purchase</a></p>
<p><strong>We offer days of line diving when we are teaching as well. For this we bring more instructors and more floats to have dedicated sessions. If you are an already certified diver and looking to go out join a dive session with us, please reach out about how to do so.</strong></p>',
'optionaldescription_teaser' => '<h3>This course is called the game changer for a reason!</h3>
<p>*To make use of the best conditions the schedule for this course is as follows:</p>
<ul>
<li>
<p>May 22nd</p>
<ul>
<li>4 hour theory in person or zoom</li>
</ul>
</li>
<li>
<p>May 23rd</p>
<ul>
<li>3 hour open water session</li>
<li>Vi</li>
</ul>
</li>
</ul>...'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '230',
'expMMBalert' => '12',
'FII_id' => '230',
'name' => 'Zachary Small',
'firstname' => 'Zachary',
'lastname' => 'Small',
'email' => 'Zacharysmall@hypoxichunters.com',
'idstatus' => '1',
'address' => '1317 SE 17th st',
'apt' => '',
'city' => 'Fort Lauderdale ',
'state' => 'Florida ',
'idcountry' => '1',
'zipcode' => '33316',
'phone' => '8083391615',
'gender' => '1',
'website' => 'www.hypoxichunters.com',
'notes' => '中国广东深圳市盐田区大梅沙湖心岛C栋506 518083
China, Guangdong, Shenzhen city, Yantian Area Dameisha, hu xin dao C506 518083
',
'created' => '2020-02-24 22:24:17',
'dob' => '1991-10-07 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '255',
'expOXY' => '2028-01-12 00:00:00',
'expCPR' => '2027-12-17 00:00:00',
'expINS' => '2026-05-29 00:00:00',
'expFAI' => '2027-12-17 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4875',
'idattachment_exp2' => '5066',
'idattachment_exp3' => '5046',
'idattachment_exp4' => '5045',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'smallszach@gmail.com',
'googlemerchant' => '',
'bio' => '*Will travel to teach*
Zachary Small is the founder of Hypoxic Hunters, & the manager of Spear America Fort Lauderdale, FL
Zach grew up in Minnesota, where his love for water sports grew in freshwater lakes.
He became a competitive spring board diver at a young age, which later lead him into doing stunts shows, mainly focused on high diving for the past 13 years.
During this time, Zach gained interest in spearfishing, and because of this, found his first freediving course. After completion, his love for the sport grew quickly, leading him to take as many freediving courses as possible. Shortly after, he quickly decided to share his love for the sport, taking his first instructor course with 13x world record holder Martin Stepanek. Later taking his spearfishing instructor course with John Dornellas. Zach's knowledge quickly grew, as did his love for teaching it to others. From teaching freediving to absolute beginners in China, to teaching the prince of Malaysia how to spearfish, Zach travels all over the world to offer both classes and private coaching to everyone. His main location is based on the east coast of the United States. He now travels full time to teach, and spends his free time building diving equipment such as spearguns and knives. Feel free to reach out for all and any questions regarding classes, coaching or gear. ',
'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' => 'zach.small',
'idstudent' => '11867',
'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) 5 => array(
'ClassicCourse' => array(
'idcourse' => '13012',
'idclasslevel' => '2',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/05/15',
'end' => '2026/05/17',
'idinstructor' => '18',
'idlocation' => '15',
'idstatus' => '1',
'maxcapacity' => '5',
'tuitionfee' => '750',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-01 11:12:19',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '4',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => 'ERROL PUTIGNA FREEDIVING',
'optionaldescription' => 'This is the "Game Changer Course". It will be a 3 day vitamin packed class to answer all your questions. You must have Level 1 certification to participate. There will be 3 day of open water. $120/session. Boat fee will be collected in cash on the first day of the class. Total for the class will be $1110. Spot in class is not guaranteed until payment is received in full. ',
'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' => 'Xhale Spearfishing',
'premises2' => 'Errol Putigna Freediving, LLC',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>This is the "Game Changer Course". It will be a 3 day vitamin packed class to answer all your questions. You must have Level 1 certification to participate. There will be 3 day of open water. $120/session. Boat fee will be collected in cash on the first day of the class. Total for the class will be $1110. Spot in class is not guaranteed until payment is received in full. </p>',
'optionaldescription_teaser' => '<p>This is the "Game Changer Course". It will be a 3 day vitamin packed class to answer all your questions. You must have Level 1 certification to participate. There will be 3 day of open water. $120/session. Boat fee will be collected in cash on the first day of the class. Total for the class will </p>...'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '18',
'expMMBalert' => '15',
'FII_id' => '13',
'name' => 'Errol Putigna',
'firstname' => 'Errol',
'lastname' => 'Putigna',
'email' => 'errol@freedivinginstructors.com',
'idstatus' => '1',
'address' => '163 Hampton Cir',
'apt' => '',
'city' => 'Jupiter',
'state' => 'FL',
'idcountry' => '1',
'zipcode' => '33458',
'phone' => '5613714078',
'gender' => '1',
'website' => 'www.freedivinginstructors.com/errolputigna',
'notes' => 'notes',
'created' => '2011-04-06 16:02:52',
'dob' => '1973-09-19 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '17',
'expOXY' => '2026-06-03 00:00:00',
'expCPR' => '2026-06-03 00:00:00',
'expINS' => '2026-12-26 00:00:00',
'expFAI' => '2026-06-03 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5049',
'idattachment_exp2' => '4612',
'idattachment_exp3' => '4613',
'idattachment_exp4' => '4611',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'eputigna@yahoo.com',
'googlemerchant' => '',
'bio' => 'Errol Putigna, originally from Toronto, Canada and son of an avid Italian spearfisherman, he has been in the water since day one. Errol Putigna is an internationally recognized Freediving Instructor who works with Freediving Instructors International (FII) and 13 time world-record holding freediver and creator/founder of FII, Martin Stepanek. He helped develop freedive curricula along side Martin Stepanek, such as FII's Junior Freediver program and is one of the most sought after freediving instructors in the world, having taught professional athletes, such as Cameron Kirkconnell (Professional Spearfishing guide and Saltlife athlete), Cheyenne Lee (Saltlife model and athlete) , Adam Hayward, Matt Roth (NFL) and Luke Rockhold (UFC) and Forbes 400 business entrepreneurs among others. He teaches both recreational level and professional level certification courses all over the United States, Bahamas, Puerto Rico, Spain and Qatar. In addition, he has translated and adapted FII's materials for the Spanish speaking market. He is also an avid spearfisherman and underwater photographer. His images have been published in prestigious magazines such as Oryx (Official magazine of Qatar Airways), Hawaii Skin Diver, Desert Rider and California Diver among many others. ',
'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' => 'errol.putigna',
'idstudent' => '2426',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '15',
'name' => 'Jupiter',
'address' => '',
'zipcode' => '33477',
'city' => 'Jupiter',
'state' => 'Florida',
'idcountry' => '1',
'phones' => '',
'geolocLat' => '26.9342246',
'geoloclong' => '-80.0942087',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-01 11:12:19',
'timesused' => '489',
'priority' => '1',
'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' => '12808',
'idclasslevel' => '2',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/08/21',
'end' => '2026/08/23',
'idinstructor' => '47',
'idlocation' => '619',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '825',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-10-20 07:55:18',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '16',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '400',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => '',
'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' => '2',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '47',
'expMMBalert' => '16',
'FII_id' => '43',
'name' => 'Joe D'Agostino',
'firstname' => 'Joe',
'lastname' => 'D'Agostino',
'email' => 'info@emeraldcoastfreediving.com',
'idstatus' => '1',
'address' => '721 Cardinal Circle',
'apt' => '',
'city' => 'Destin',
'state' => 'Florida',
'idcountry' => '1',
'zipcode' => '32541',
'phone' => '850-460-4115',
'gender' => '1',
'website' => '',
'notes' => 'notes',
'created' => '2012-03-21 10:04:10',
'dob' => '1975-02-01 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '61',
'expOXY' => '2026-12-01 00:00:00',
'expCPR' => '2026-12-01 00:00:00',
'expINS' => '2026-06-17 00:00:00',
'expFAI' => '2026-12-01 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4878',
'idattachment_exp2' => '4736',
'idattachment_exp3' => '4738',
'idattachment_exp4' => '4737',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'info@emeraldcoastfreediving.com',
'googlemerchant' => '',
'bio' => 'Joe D'Agostino has been freedive spearfishing since 1996, the same year he began his career in public safety. His surf lifesaving professsion and desire to be in the water have taken him around the world. He is currently the Beach Safety Division Chief for the Destin Fire Department on the panhanddle of Florida, as well as the lead instructor at Benthic Ocean Sports. In 2015 he helped guide his lifeguard team to a USLA National Championship. As of 2020, he has completed freedive training with 1,000 students including current spearfishing record holders and special forces team members. ',
'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' => 'joe.dagostino',
'idstudent' => '356',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '619',
'name' => 'Main',
'address' => '501 Harbour Blvd, Suite 6',
'zipcode' => '32541',
'city' => 'Destin',
'state' => 'Florida',
'idcountry' => '1',
'phones' => '850-855-7463',
'geolocLat' => '30.393680',
'geoloclong' => '-86.499322',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2025-02-14 13:51:21',
'timesused' => '53',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '16',
'FII_id' => '008',
'name' => 'Benthic Ocean Sports',
'email' => 'info@benthicoceansports.com',
'idstatus' => '1',
'address' => '501 Harbour Blvd, Suite G',
'apt' => '',
'city' => 'Destin',
'zipcode' => '32541',
'state' => 'Florida',
'idcountry' => '1',
'phone' => '850-353-2757',
'website' => 'www.benthicoceansports.com',
'notes' => 'notes',
'created' => '2015-06-22 15:03:10',
'idlogin' => '155',
'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' => 'Info@emeraldcoastfreediving.com',
'paypalemail2' => 'moosey81@hotmail.com',
'paypalemail3' => 'payment@freedivinginstructors.com',
'cnfname' => 'Michael',
'cnlname' => 'Pooler',
'urlname' => 'benthic',
'info' => '',
'faceshot' => '1',
'faceshot2' => '1',
'idmembershiplevel' => '5',
'expMembership' => '0000-00-00 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) 7 => array(
'ClassicCourse' => array(
'idcourse' => '12930',
'idclasslevel' => '12',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/10',
'end' => '2026/04/12',
'idinstructor' => '230',
'idlocation' => '1701',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '850',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-03 22:58:00',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '5',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '26',
'nickname' => '',
'moreinfoURL' => 'http://www.hypoxichunters.com',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => '',
'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' => 'Hypoxic Hunters',
'premises2' => 'Force-e training facility',
'premises3' => 'Over and Outlanders LLC',
'premises4' => 'Sea experience ',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '230',
'expMMBalert' => '12',
'FII_id' => '230',
'name' => 'Zachary Small',
'firstname' => 'Zachary',
'lastname' => 'Small',
'email' => 'Zacharysmall@hypoxichunters.com',
'idstatus' => '1',
'address' => '1317 SE 17th st',
'apt' => '',
'city' => 'Fort Lauderdale ',
'state' => 'Florida ',
'idcountry' => '1',
'zipcode' => '33316',
'phone' => '8083391615',
'gender' => '1',
'website' => 'www.hypoxichunters.com',
'notes' => '中国广东深圳市盐田区大梅沙湖心岛C栋506 518083
China, Guangdong, Shenzhen city, Yantian Area Dameisha, hu xin dao C506 518083
',
'created' => '2020-02-24 22:24:17',
'dob' => '1991-10-07 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '255',
'expOXY' => '2028-01-12 00:00:00',
'expCPR' => '2027-12-17 00:00:00',
'expINS' => '2026-05-29 00:00:00',
'expFAI' => '2027-12-17 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4875',
'idattachment_exp2' => '5066',
'idattachment_exp3' => '5046',
'idattachment_exp4' => '5045',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'smallszach@gmail.com',
'googlemerchant' => '',
'bio' => '*Will travel to teach*
Zachary Small is the founder of Hypoxic Hunters, & the manager of Spear America Fort Lauderdale, FL
Zach grew up in Minnesota, where his love for water sports grew in freshwater lakes.
He became a competitive spring board diver at a young age, which later lead him into doing stunts shows, mainly focused on high diving for the past 13 years.
During this time, Zach gained interest in spearfishing, and because of this, found his first freediving course. After completion, his love for the sport grew quickly, leading him to take as many freediving courses as possible. Shortly after, he quickly decided to share his love for the sport, taking his first instructor course with 13x world record holder Martin Stepanek. Later taking his spearfishing instructor course with John Dornellas. Zach's knowledge quickly grew, as did his love for teaching it to others. From teaching freediving to absolute beginners in China, to teaching the prince of Malaysia how to spearfish, Zach travels all over the world to offer both classes and private coaching to everyone. His main location is based on the east coast of the United States. He now travels full time to teach, and spends his free time building diving equipment such as spearguns and knives. Feel free to reach out for all and any questions regarding classes, coaching or gear. ',
'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' => 'zach.small',
'idstudent' => '11867',
'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' => '12931',
'idclasslevel' => '10',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/03',
'end' => '2026/04/05',
'idinstructor' => '275',
'idlocation' => '1775',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '875',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-04 02:30:05',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://freediveseattle.com/',
'acceptedpayment' => '1',
'optionaldeposit' => '400',
'amountallowed' => '2',
'optionaltitle' => 'Explore Between Breath',
'optionaldescription' => '### Explore Between Breath
*3-Day Intensive Freedive Training and Exploration*
**April 3-5 | Kona, Hawai‘i**
**Limited to 6 participants**
Join us for three days of intensive freedive training and exploration in the warm, clear waters of Hawai‘i. Diving in Kona offers pristine conditions, depth, and vibrant reef and marine life, creating an inspirational environment that supports learning, refinement, and comfort in open water.
This small group experience is designed for thoughtful, unhurried training with an emphasis on safety, technique, efficiency, and presence in the water, without pressure to rush depth. Sessions take place across multiple Kona locations, moving between calm reef environments and open blue water.
A highlight of the experience is a full offshore freedive expedition by boat with See Through Sea, offering the opportunity to explore deep blue water and, conditions permitting, encounter pelagic marine life such as dolphins, sharks, and whales in their natural environment.
All participants will dive within their deepest certified depth, with coaching adapted to individual experience and comfort.
### Prerequisites
- Certified freedivers from any recognized agency
- Renssant Freedive students who have participated in a Level 1 course or pool-only course and are working toward full certification
### What’s Included
- Three days of personalized freediving coaching
- Line diving sessions focused on comfort, technique, and safety
- Breathwork, stretching, and relaxation practices
- Video review and group discussion
- Reef and blue water diving at multiple Kona sites
- Offshore freedive expedition with See Through Sea
- Boat fees included
- Small group size for individualized attention
***Travel, lodging, meals, and gear rentals are not included.***
',
'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' => 'Hawaii County Parks & Recreation',
'premises2' => 'Native Ocean Tours LLC',
'premises3' => 'Dylan Currier',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<h3>Explore Between Breath</h3>
<p><em>3-Day Intensive Freedive Training and Exploration</em><br />
<strong>April 3-5 | Kona, Hawai‘i</strong><br />
<strong>Limited to 6 participants</strong> </p>
<p>Join us for three days of intensive freedive training and exploration in the warm, clear waters of Hawai‘i. Diving in Kona offers pristine conditions, depth, and vibrant reef and marine life, creating an inspirational environment that supports learning, refinement, and comfort in open water.</p>
<p>This small group experience is designed for thoughtful, unhurried training with an emphasis on safety, technique, efficiency, and presence in the water, without pressure to rush depth. Sessions take place across multiple Kona locations, moving between calm reef environments and open blue water.</p>
<p>A highlight of the experience is a full offshore freedive expedition by boat with See Through Sea, offering the opportunity to explore deep blue water and, conditions permitting, encounter pelagic marine life such as dolphins, sharks, and whales in their natural environment.</p>
<p>All participants will dive within their deepest certified depth, with coaching adapted to individual experience and comfort.</p>
<h3>Prerequisites</h3>
<ul>
<li>
<p>Certified freedivers from any recognized agency </p>
</li>
<li>
<p>Renssant Freedive students who have participated in a Level 1 course or pool-only course and are working toward full certification</p>
<h3>What’s Included</h3>
</li>
<li>
<p>Three days of personalized freediving coaching </p>
</li>
<li>
<p>Line diving sessions focused on comfort, technique, and safety </p>
</li>
<li>
<p>Breathwork, stretching, and relaxation practices </p>
</li>
<li>
<p>Video review and group discussion </p>
</li>
<li>
<p>Reef and blue water diving at multiple Kona sites </p>
</li>
<li>
<p>Offshore freedive expedition with See Through Sea </p>
</li>
<li>
<p>Boat fees included </p>
</li>
<li>
<p>Small group size for individualized attention </p>
</li>
</ul>
<p><strong><em>Travel, lodging, meals, and gear rentals are not included.</em></strong></p>',
'optionaldescription_teaser' => '<h3>Explore Between Breath</h3>
<p><em>3-Day Intensive Freedive Training and Exploration</em><br>
<strong>April 3-5 | Kona, Hawai‘i</strong><br>
<strong>Limited to 6 participants</strong> </p>
<p>Join us for three days of intensive freedive training and exploration in the warm, clear waters of </p>...'
),
'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'
),
'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' => '1775',
'name' => 'Big Island Hawai'i',
'address' => '',
'zipcode' => '',
'city' => 'Kona',
'state' => 'HI',
'idcountry' => '1',
'phones' => '206-681-0897',
'geolocLat' => '19.6419129',
'geoloclong' => '-155.9962255',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-01-04 02:30:08',
'timesused' => '16',
'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'
)
)
)
$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_fee'
$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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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('cakeErr69bb1ca610cb9-trace').style.display = (document.getElementById('cakeErr69bb1ca610cb9-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="cakeErr69bb1ca610cb9-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1ca610cb9-code').style.display = (document.getElementById('cakeErr69bb1ca610cb9-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1ca610cb9-context').style.display = (document.getElementById('cakeErr69bb1ca610cb9-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1ca610cb9-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="cakeErr69bb1ca610cb9-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">Name</option>
<option value="sort_fee" selected>Fee</option>
</select>
</span>
<div style="display: none">
<a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:9/sort:ClassicCourse.ini/direction:asc/callto:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:9/sort:ClassicClasslevel.name/direction:asc/callto:" id="sort_name">ClassicClasslevel Name</a><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:9/sort:ClassicCourse.tuitionfee/direction:desc/callto:" id="sort_fee" class="asc">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">
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/12935">12935 - Level 2 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/29" >
Daniel Koval </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/24">Deep Freediving Instruction</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </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">
Deposit: $ 345 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('12935');" >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 19, 2026 - Mar 21, 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/12955">12955 - Level 1 Freediver</a></p>
<p class="card__text">
Taino Divers, Rincon, Puerto Rico
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.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('12955');" >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://www.freedivinginstructors.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">
Jun 12, 2026 - Jun 14, 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/12863">12863 - Level 2 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Lake Crescent Level 2</p>
<p class="card__text">
Lake Crescent- Port Angeles, Washington, Seattle, WA
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/175" >
Dylan Currier </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://4017411711">
4017411711 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:4017411711">
4017411711 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 750 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('12863');" >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 23, 2026 - May 25, 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/12888">12888 - Level 2 Freediver</a></p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/230" >
Zachary Small </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://8083391615">
8083391615 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:8083391615">
8083391615 </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: $ 750 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<div><strong>Sold Out!</strong></div>
</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 15, 2026 - May 17, 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/13012">13012 - Level 2 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">ERROL PUTIGNA FREEDIVING</p>
<p class="card__text">
Jupiter, Jupiter, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/18" >
Errol Putigna </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://5613714078">
5613714078 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:5613714078">
5613714078 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 750 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('13012');" >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">
Aug 21, 2026 - Aug 23, 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/12808">12808 - Level 2 Freediver</a></p>
<p class="card__text">
Main, Destin, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/47" >
Joe D'Agostino </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://850-460-4115">
850-460-4115 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:850-460-4115">
850-460-4115 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/16">Benthic Ocean Sports</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://850-353-2757">
850-353-2757 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:850-353-2757">
850-353-2757 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 825 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 400 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('12808');" >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 10, 2026 - Apr 12, 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/12930">12930 - Waterman Survival Extended</a></p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.com/fii/courses_by/230" >
Zachary Small </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://8083391615">
8083391615 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:8083391615">
8083391615 </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: $ 850 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('12930');" >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 03, 2026 - Apr 05, 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/12931">12931 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">Explore Between Breath</p>
<p class="card__text">
Big Island Hawai'i, Kona, HI
</p>
<p class="card__text">
Instructor: <a href="https://www.freedivinginstructors.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: $ 875 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 400 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('12931');" >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/8082097008/910-352-6371/808-436-7046/4077652821/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto:" class="pagination__arr pagination__arr--left" rel="prev"></a><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:2/sort:ClassicCourse.tuitionfee/direction:asc/callto:">2</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:3/sort:ClassicCourse.tuitionfee/direction:asc/callto:">3</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:4/sort:ClassicCourse.tuitionfee/direction:asc/callto:">4</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:5/sort:ClassicCourse.tuitionfee/direction:asc/callto:">5</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:6/sort:ClassicCourse.tuitionfee/direction:asc/callto:">6</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:7/sort:ClassicCourse.tuitionfee/direction:asc/callto:">7</a></span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto:">8</a></span><span class="pagination__item pagination__item--active pagination__item">9</span><span class="pagination__item"><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:10/sort:ClassicCourse.tuitionfee/direction:asc/callto:">10</a></span><a href="/fii/search/8082097008/910-352-6371/808-436-7046/4077652821/page:10/sort:ClassicCourse.tuitionfee/direction:asc/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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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://www.freedivinginstructors.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