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://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" required placeholder="Select Course Level" type="text" name="level" value="">
</label>
<div class="form-control search-box__control form-control--select select_course_small"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_course_small">
<input class="form-control__select-input" placeholder="Enter city name" name="location_str" value=>
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder="Name" name="instructor" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_course_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
<div class="tabs-content-list__item tabs-content-list__item--box" id="tab-modal-verify-search-freediver">
<form method="get" action="https://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-professional-rating"><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" required placeholder="Select Rating" type="text" name="instructor_types" value="">
</label>
<div class="form-control search-box__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor_small">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name <span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_instructor_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container accordion-wrap">
<div class="accordion">
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find a Course</p>
</div>
<form name="form-course" class="accordion__content" method="get" action="https://freedivingproshop.com/fii/search" >
<label class="form-control accordion__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" name="level" required placeholder="Select Course Level" type="text" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left: 3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select" >
<input name="location_str" class="form-control__select-input" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button type="submit" class="btn btn--primary accordion__apply-btn search_submit_course" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div>
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find an Instructor</p>
</div>
<form class="accordion__content" action="https://freedivingproshop.com/fii/search" method="get">
<label class="form-control accordion__control" data-micromodal-trigger="modal-professional-rating" ><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" placeholder="Select Rating" type="text" required name="instructor_types" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder=" Name" type="text" name="instructor" value="">
<input name="searchtype" value="type_instructor" type="hidden">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary accordion__apply-btn" id="search_instructor_submit" type="submit" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div><!--<a class="accordion__item accordion__item--link" href="/fii/online_courses">
<div class="accordion__header">
<p class="accordion__title">Learn Online</p>
</div></a>-->
</div>
</div>
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc5bf863-trace').style.display = (document.getElementById('cakeErr69bb1cc5bf863-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="cakeErr69bb1cc5bf863-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc5bf863-code').style.display = (document.getElementById('cakeErr69bb1cc5bf863-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc5bf863-context').style.display = (document.getElementById('cakeErr69bb1cc5bf863-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1cc5bf863-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="cakeErr69bb1cc5bf863-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/5613714078/8082097008/310-345-0446/4077652821/page:3/sort:ClassicCourse.ini/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:3/sort:ClassicClasslevel.name/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_name">ClassicClasslevel Name</a><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:3/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:" 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">
Aug 15, 2026 - Aug 16, 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/12922">12922 - Level 1 Freediver</a></p>
<p class="card__text">
Fort Wetherill, Jamestown, RI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/299" >
Matthew Novakovich </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://3016742103">
3016742103 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:3016742103">
3016742103 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 450 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('12922');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Jun 10, 2026 - Jun 27, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13020">13020 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Level 1 Freediver June A</p>
<p class="card__text">
School of Fish, Rocky Point, New York
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/124" >
Dean McCormick </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://631-965-1330">
631-965-1330 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:631-965-1330">
631-965-1330 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 450 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13020');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 28, 2026 - Mar 29, 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/12847">12847 - Level 1 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 250 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('12847');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 18, 2026 - Apr 19, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12848">12848 - Level 1 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 250 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('12848');" >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 28, 2026 - May 01, 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/12872">12872 - Assistant Instructor</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/87" >
Brandon Zeek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://442-300-4240">
442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:442-300-4240">
442-300-4240 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 495 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('12872');" >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 02, 2026 - May 03, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12873">12873 - Freediving Instructor Exam</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/87" >
Brandon Zeek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://442-300-4240">
442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:442-300-4240">
442-300-4240 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 495 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('12873');" >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 28, 2026 - Mar 29, 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/12928">12928 - Spearfishing</a></p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 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('12928');" >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 25, 2026 - Apr 26, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12934">12934 - Level 1 Freediver</a></p>
<p class="card__text">
Lake Allure, Quarryville, Pennsylvania
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/265" >
Andreas Palm </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://">
</a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:">
</a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 495 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('12934');" >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 02, 2026 - May 03, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12937">12937 - Level 1 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 250 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('12937');" >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/5613714078/8082097008/310-345-0446/4077652821/page:2/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:" class="pagination__arr pagination__arr--left" rel="prev"></a><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">1</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:2/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">2</a></span><span class="pagination__item pagination__item--active pagination__item">3</span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:4/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">4</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:5/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">5</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:6/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">6</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:7/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">7</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">8</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:9/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">9</a></span><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:4/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:" class="pagination__arr pagination__arr--right" rel="next"></a> </div>
</div>
<div class="d-block text-center-mobile"><a class="btn btn--link btn--link-dark" href="/app/webroot/files/levelinfo/flowchart.jpg" target="_blank">Not sure where to start?</a></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var pp = new google.maps.InfoWindow();
google.maps.event.addDomListener(window, 'load', function(){
initialize(initLat, initLng);
});
$("#order_by").change(function(e) {
location.href = $('#' + $("#order_by").val()).attr("href");
});
var init_map = function() {
var FACILITIES = [
{ lat: 26.2615219, lng: -80.09862869999999 },
{ lat: 19.6477165, lng: -155.9985406 },
{ lat: 33.6872868, lng: -117.8586696 },
{ lat: 30.3934117, lng: -86.49931169999999 },
{ lat: 24.7105192, lng: -81.0976064 },
{ lat: 25.2864004, lng: 51.5328925 },
{ lat: 49.8370002, lng: 18.2830054 }
]
var INSTRUCTOR_COURSES = {
// instructor-name: number_of_courses;
}
if(!window.GMmap) setTimeout(init_map, 100);
else {
var bounds = new google.maps.LatLngBounds();
//current courses on maP
// Load instructors
$.ajax({
"type": "POST",
"url": "/locator/instructors",
"dataType": "json",
"success": function(data) {
// for (i = 0; i < point.length; i++) point[i].setMap(null);
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geoloclong) <= 0.01;
})
if(!INSTRUCTOR_COURSES[`${data[i].namehtml}`]) {
INSTRUCTOR_COURSES[`${data[i].namehtml}`] = data[i].nrocourses;
}
if (occupied_by_facility) {
continue;
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geoloclong)
});
phone = "";
if(data[i].phone) {
phone = $("<div><br><big></big></div>");
phone.find("big").text("Phone: " + data[i].phone);
phone = phone.html();
}
email = "";
if(data[i].email) {
email = $("<div><span></span><a></a></div>");
email.find("span").text("Email: ");
email.find("a").attr("href", "mailto:" + data[i].email);
email.find("a").text(data[i].email);
email = email.html() + "<br>";
}
if(data[i].levels) point.levels = data[i].levels;
else point.levels = "0";
point.idinstructor = data[i].idinstructor;
var strurl = data[i].idinstructor;
var instructorAddress = '';
if (data[i].address) {
instructorAddress += data[i].address;
}
if (data[i].city && data[i].address) {
instructorAddress += `, ${data[i].city}`
} else {
instructorAddress += `${data[i].city}`
}
if (data[i].state && data[i].cname && data[i].state !== data[i].cname) {
instructorAddress += `, ${data[i].state}`;
}
if (!data[i].state && data[i].cname) {
instructorAddress += `, ${data[i].cname}`;
}
var imgUrl = ''
if (data[i].ifaceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var phone = data[i].phone.split(' ').join('-');
var strcontent = `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content"><p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${strurl}"> ${data[i].namehtml}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${phone}"> ${data[i].phone}</a></p>
<p class="card__text">${email}</p>`
strcontent += `<p class='card__text'>${instructorAddress}</p>`;
if (data[i].nrocourses > 0) {
strcontent += "<p class='card__text'><a href='/fii/courses_by/"+ strurl + "'>All Courses List (" + data[i].nrocourses +")</a></p> ";
}
if (data[i].nrocoursesloc > 0) {
strcontent += "[ "+ data[i].nrocoursesloc+" Courses in this Location ]" ;
}else {
strcontent += "<p class='card__text'><a href='mailto:"+data[i].email+"?subject=I would like to request a freediving course on your location "+data[i].lname+"'>Request a course on this location</a></p>" ;
}
strcontent += `</div></div>`;
point.infowindow = new google.maps.InfoWindow({
content: strcontent
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
//alert(pp.infowindow);
if (pp.infowindow != undefined) { pp.infowindow.close();}
this.infowindow.open(GMmap, this);
pp = this ;
});
points.push(point);
}
},
"complete": function() {
$.ajax({
"type": "GET",
"url": "/locator/courses",
"dataType": "json",
"success": function(data) {
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geolocLong) <= 0.01;
});
if (occupied_by_facility) {
continue;
}
var allCourses = INSTRUCTOR_COURSES[`${data[i].iname}`];
if (allCourses) {
allCourses = '(' + allCourses + ')';
} else {
allCourses = ''
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geolocLong)
});
var imgUrl = ''
if (data[i].faceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var locationInfo = `${data[i].location_name}, ${data[i].city}, ${data[i].state}`;
var detailUrl = '';
detailUrl = data[i].idinstructor
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${detailUrl}"> ${data[i].iname}</a></p>
<p class="card__text"><span>Phone</span>: <a class="mobile-tel" href="tel:${data[i].phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${data[i].phone}"> ${data[i].phone}</a></p>
<p class="card__text">Email: <a href="mailto:${data[i].email}">${data[i].email}</a></p>
<p class="card__text">${locationInfo}</p>
<p class='card__text'><a href="/fii/courses_by/${detailUrl}">All Courses List ${allCourses}</a></p>
[${data[i].number_of_courses} courses in this location]
</div>
</div>
</div>
`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9998);
points.push(point);
};
}
});
}
});
// Load facilities
var addFacilityLocation = function(facility) {
var lat = facility.geolocLat;
var lng = facility.geoloclong;
var address = facility.address + (facility.city ? ", " + facility.city : "") + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
if(!(lat && lng)) {
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
"address": address,
},
"success": function(addr) {
if(addr && addr.status && addr.status == 'OK' && addr.results && addr.results[0]) {
lat = addr.results[0].geometry.location.lat;
lng = addr.results[0].geometry.location.lng;
addFacility(facility, lat, lng);
}
}
});
}
else {
addFacility(facility, lat, lng);
}
}
var addFacility = function(facility, lat, lng) {
if (facility && (facility.idmembershiplevel == 5 || facility.name.toLowerCase() == 'iqsub')) {
var point = new google.maps.Marker({
"map": GMmap,
"icon": "https://freedivingproshop.com/img/frontend/content/fii_icon.png",
"position": new google.maps.LatLng(lat, lng)
});
var email = "";
if (facility.email) {
email = `<p class="card__text">Email: <a href="mailto:${facility.email}">${facility.email}</a></p>`;
}
var address = facility.address + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
var phone = facility.phone.split(' ').join('-');
// Number of courses available at the facility
var coursesInfo = facility.nrocoursesloc > 0
? `<p class="card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.nrocoursesloc} upcoming courses</a></p>`
: "<p class='card__text'>No courses currently available</p>";
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII FACILITY #${facility.FII_id}</p>
<p class="font-weight-bold text-placeholder-color card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.name}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}">${facility.phone}</a>
<a class="desktop-tel" href="callto://${phone}">${facility.phone}</a></p>
${email}
<p class="card__text">${address}</p>
${coursesInfo}
</div>
</div>
</div>`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
});
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
});
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9999);
if (pointsFacilities) pointsFacilities.push(point);
}
};
$.ajax({
"type": "GET",
"url": "/locator/facilities",
"dataType": "json",
"success": function(data) {
for(var i = 0; i < data.length; i++) {
var facility = data[i];
addFacilityLocation(data[i]);
}
}
});
}
}
init_map();
function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
function stringDateMapper(date) {
var months = {
01: 'Jan',
02: 'Feb',
03: 'Mar',
04: 'Apr',
05: 'May',
06: 'Jun',
07: 'Jul',
08: 'Aug',
09: 'Sep',
10: 'Oct',
11: 'Nov',
12: 'Dec'
}
var removeYear = date.slice(5)
var removeTimestamp = removeYear.replace('01:00:00', '');
var intoArray = removeTimestamp.split('-');
return `${months[Number(intoArray[0])]} ${intoArray[1]}`;
}
var fullscreen = false;
document.onfullscreenchange = function(event) {
fullscreen = !fullscreen;
if (!fullscreen && $( window ).width() < 1200) {
$('.row-map-view__toggle.row-map-view__toggle--to-list-view').click();
}
}
</script>
<!-- <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDHS8cBjXUwNpyPHDiwTkXniVmeReTGr38&language=en&callback=initMapMainMapSearch"></script> -->
<div class="modal micromodal-slide" id="modal-select-course-lvl" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-select-course-lvl-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-select-course-lvl-title">Select Course Level</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-course-lvl">
<button class="course-list__item course-item course-item--single js-course-item-select">All Courses</button>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-course-item-select">Level 1 Freediver</button>
<button class="course-item__name js-course-item-select">Level 2 Freediver</button>
<button class="course-item__name js-course-item-select">Level 3 Freediver</button>
<button class="course-item__name js-course-item-select">Junior Freediver</button>
<button class="course-item__name js-course-item-select">Level 1 Freediver POOL ONLY</button>
<button class="course-item__name js-course-item-select">Junior Freediver POOL ONLY</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-course-item-select">Introduction to Monofin</button>
<button class="course-item__name js-course-item-select">Advanced Freediving Safety</button>
<button class="course-item__name js-course-item-select">Basic Freediving Safety</button>
<button class="course-item__name js-course-item-select">Waterman Survival</button>
<button class="course-item__name js-course-item-select">Waterman Survival Extended</button>
<button class="course-item__name js-course-item-select">Spearfishing</button>
<button class="course-item__name js-course-item-select">Freediving Photography</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/professional.png">
<div class="course-item__content">
<p class="course-item__type">Professional Courses</p>
<button class="course-item__name js-course-item-select">Assistant Instructor</button>
<button class="course-item__name js-course-item-select">Freediving Instructor Exam</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-course-item-select">Practice Sessions and Trips</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="modal-professional-rating" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-professional-rating-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-professional-rating-title">Select Professional Rating</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-professional-rating">
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-professional-rating">Level 1 Instructor</button>
<button class="course-item__name js-professional-rating">Level 2 Instructor</button>
<button class="course-item__name js-professional-rating">Level 3 Instructor</button>
<button class="course-item__name js-professional-rating">Junior Freediver Instructor</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-professional-rating">SI-Basic Freediving Safety</button>
<button class="course-item__name js-professional-rating">Instructor Trainer</button>
<button class="course-item__name js-professional-rating">Waterman Survival Instructor</button>
<button class="course-item__name js-professional-rating">Monofin</button>
<button class="course-item__name js-professional-rating">SI-Advanced Freediving Safety</button>
<button class="course-item__name js-professional-rating">Spearfishing Instructor</button>
<button class="course-item__name js-professional-rating">SI-Freediving Photography</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-professional-rating">All Ratings</button>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script>
var submitFindCourseBtn = document.querySelector('.search_submit_course');
if (submitFindCourseBtn) {
submitFindCourseBtn
.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtn = document.getElementById('search_instructor_submit');
if (submitFindInstructorBtn) {
submitFindInstructorBtn.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtnSmall = document
.getElementById('search_instructor_small_submit')
if (submitFindInstructorBtnSmall) {
submitFindInstructorBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var submitFindCourseBtnSmall = document
.getElementById('search_course_small_submit');
if (submitFindCourseBtnSmall) {
submitFindCourseBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_course_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var inputs = document.querySelectorAll(".form-control__input js-input-location readonly")
if (inputs.length){
inputs.forEach(function(input) {
input.addEventListener("change", function(e) {
if (e.target.textContent.contains("Invalid location")) {
setTimeout(() => {
e.target.value = "";
}, 500);
}
})
})
}
var inputs_locations = document.querySelectorAll(".form-control__select-input")
if (inputs_locations.length) {
inputs_locations.forEach(function(input) {
input.addEventListener("keypress", function(e) {
if (e.code === "Enter")
e.preventDefault();
})
})
}
</script>
<script type="text/javascript">
$('input[name=\"location_str\"]').change(function(e) {
e.preventDefault();
var me = $(this);
var val = me.val();
me.prop("disabled", true).val("Please wait...");
$("input[type=\"submit\"]").prop("disabled", true);
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"address": val,
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
},
"dataType": "json",
"success": function(e) {
if(e && e.status && e.status == 'OK' && e.results
&& e.results[0]) {
me.next().val(
e.results[0].geometry.location.lat + "," +
e.results[0].geometry.location.lng
);
me.prop("disabled", false).val(e.results[0].formatted_address);
$("input[type=\"submit\"]").prop("disabled", false);
}
else {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
},
"error": function() {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
});
e.preventDefault();
});
if($('input[name=\"location_str\"]').val() != '') $('input[name=\"location_str\"]').trigger('change');
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const observer = new MutationObserver(() => {
const autoInput = document.querySelector('.js-input-location');
const realInput = document.querySelector('input[name="location_str"]');
const hiddenInput = document.querySelector('input[name="location"]');
if (!autoInput || !realInput || !hiddenInput) return;
const lat = autoInput.dataset.autoLat;
const lng = autoInput.dataset.autoLng;
if (!hiddenInput.value && lat && lng) {
const full = `${lat},${lng}`;
hiddenInput.value = full;
realInput.value = autoInput.value || realInput.value;
console.log("✅ Force-synced from geolocation:", full);
} else {
console.log("⏭️ Skipped sync —", {
lat,
lng,
hiddenVal: hiddenInput.value
});
}
});
const block = document.querySelector('.form-control--select');
if (block) {
observer.observe(block, { attributes: true, childList: true, subtree: true });
console.log("👁️ Watching location block for auto-fill...");
} else {
console.warn("❌ Geolocation block not found");
}
});
</script>
',
'scripts_for_layout' => '',
'title_for_layout' => 'Search Courses - Freediving Instructors International'
)
$courses = array(
(int) 0 => array(
'ClassicCourse' => array(
'idcourse' => '12922',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/08/15',
'end' => '2026/08/16',
'idinstructor' => '299',
'idlocation' => '1805',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '450',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-03 13:23:52',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '2',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://www.oceanstatespearguns.com/freedive',
'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' => '',
'premises2' => '',
'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' => '299',
'expMMBalert' => '0',
'FII_id' => '299',
'name' => 'Matthew Novakovich',
'firstname' => 'Matthew',
'lastname' => 'Novakovich',
'email' => 'Matthewnovakovich@gmail.com',
'idstatus' => '1',
'address' => '150 New London Tpke',
'apt' => '',
'city' => 'Wyoming',
'state' => 'Rhode Island',
'idcountry' => '1',
'zipcode' => '02898',
'phone' => '3016742103',
'gender' => '0',
'website' => '',
'notes' => 'auto created',
'created' => '2025-11-18 14:28:54',
'dob' => '1989-02-03 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '330',
'expOXY' => '2027-12-11 00:00:00',
'expCPR' => '2027-12-22 00:00:00',
'expINS' => '2026-11-23 00:00:00',
'expFAI' => '2027-12-22 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5035',
'idattachment_exp2' => '5043',
'idattachment_exp3' => '5048',
'idattachment_exp4' => '5047',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'matthewnovakovich@gmail.com',
'googlemerchant' => '',
'bio' => 'Since childhood, Matt has been fascinated with the sea, and what lay beneath the surface. This passion has driven every facet of his life; personally and professionally. After spending some time at sea as a marine engineer, has spent over a decade building and testing submarines. Building wooden spearguns quickly turned from a hobby into what is now known as Ocean State Spearguns. As a local speargun builder Matt has taken an active role in the New England spearfishing community. In this, saw a need for more education and training for freedivers, especially within the spearfishing community. After training with Newport RI’s own Dylan Currier, Matt is excited to help educate the next generation of freedivers and spearos about safe and efficient diving practices.
Follow Matt on Instagram @oceanstatespearguns or visit www.oceanstatespearguns.com to learn more.
',
'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' => 'matthew.novakovich',
'idstudent' => '19910',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1805',
'name' => 'Fort Wetherill',
'address' => '3 Fort Wetherill Rd',
'zipcode' => '02835',
'city' => 'Jamestown',
'state' => 'RI',
'idcountry' => '1',
'phones' => '',
'geolocLat' => '41.4778442',
'geoloclong' => '-71.3586225',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-01-03 13:23:52',
'timesused' => '13',
'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) 1 => array(
'ClassicCourse' => array(
'idcourse' => '13020',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/06/10',
'end' => '2026/06/27',
'idinstructor' => '124',
'idlocation' => '574',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '450',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-06 13:16:49',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '5',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://www.schooloffishswimandscuba.com/dive/freediving-class/',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => 'Level 1 Freediver June A',
'optionaldescription' => 'The Level-1 course is an introduction to the FII education system. It covers everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This freediving course is ideal for anyone wishing to master the correct basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters.
Details:
Classroom Session held VIA Zoom
Pool Sessions are held in a very comfortable 88F pool at School of Fish
Open Water Session - Will be conducted at Lake Hydra, Bethlehem PA.
$475 Tuition. Due when signing up (non-refundable)
There will be an additional $60 fee to enter Lake Hydra.
Course duration:
Minimum 4 hours of academic work (VIA Zoom, attendance is mandatory) 3 hours of confined water training.
1.5 - 3 hours of open water depth training (varies per location and class size).
* Minimum age requirement:
Participants must be 16 years or older.
Course prerequisites:
You must have competent swimming skills and be comfortable in the open water. This is not a class that is designed to help you overcome a fear of the water. If you have any doubts about your ability please feel free to give us a call so we can discuss your options.
You will need the following equipment to participate in this class
(Freediving specific gear is highly recommended but not required).
* Long blade fins
* Low profile mask
* Snorkel
* Rubber weight belt with appropriate weights
* Wetsuit
* Freediving computer (optional)
June 10, 6PM Lecture VIA Zoom
June 17, Pool Training (School of Fish, Rocky Point NY)
June 27, Open Water (Lake Hydra, Bethlehem PA)
',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => 'School of Fish Swim and SCUBA',
'premises2' => 'Lake Hydra',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>The Level-1 course is an introduction to the FII education system. It covers everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This freediving course is ideal for anyone wishing to master the correct basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. </p>
<p>
Details:
<br />
Classroom Session held VIA Zoom
<br />
Pool Sessions are held in a very comfortable 88F pool at School of Fish
Open Water Session - Will be conducted at Lake Hydra, Bethlehem PA.
</p>
<p>$475 Tuition. Due when signing up (non-refundable)
<br />
There will be an additional $60 fee to enter Lake Hydra.
</p>
<p>Course duration:<br />
Minimum 4 hours of academic work (VIA Zoom, attendance is mandatory) 3 hours of confined water training.<br />
1.5 - 3 hours of open water depth training (varies per location and class size).<br />
</p>
<ul>
<li>Minimum age requirement:
Participants must be 16 years or older.<br />
<br />
Course prerequisites:<br />
You must have competent swimming skills and be comfortable in the open water. This is not a class that is designed to help you overcome a fear of the water. If you have any doubts about your ability please feel free to give us a call so we can discuss your options. </li>
</ul>
<p>You will need the following equipment to participate in this class
(Freediving specific gear is highly recommended but not required).</p>
<ul>
<li>Long blade fins</li>
<li>Low profile mask</li>
<li>Snorkel</li>
<li>Rubber weight belt with appropriate weights</li>
<li>Wetsuit</li>
<li>Freediving computer (optional)</li>
</ul>
<p>June 10, 6PM Lecture VIA Zoom<br />
June 17, Pool Training (School of Fish, Rocky Point NY)<br />
June 27, Open Water (Lake Hydra, Bethlehem PA)</p>',
'optionaldescription_teaser' => '<p>The Level-1 course is an introduction to the FII education system. It covers everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This freediving course is ideal for anyone wishing to master </p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '124',
'expMMBalert' => '10',
'FII_id' => '124',
'name' => 'Dean McCormick',
'firstname' => 'Dean',
'lastname' => 'McCormick',
'email' => 'deanmc@optonline.net',
'idstatus' => '1',
'address' => '118 Glenwood Road',
'apt' => '',
'city' => 'Rocky Point',
'state' => 'New York',
'idcountry' => '1',
'zipcode' => '11778',
'phone' => '631-965-1330',
'gender' => '0',
'website' => '',
'notes' => 'notes',
'created' => '2015-02-18 16:27:04',
'dob' => '1964-09-25 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '146',
'expOXY' => '2027-12-30 00:00:00',
'expCPR' => '2027-12-30 00:00:00',
'expINS' => '2026-05-05 00:00:00',
'expFAI' => '2026-12-30 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4835',
'idattachment_exp2' => '5057',
'idattachment_exp3' => '4768',
'idattachment_exp4' => '5056',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'deanmc@optonline.net',
'googlemerchant' => '',
'bio' => 'I've been in the dive business teaching scuba since 1989. After taking my first freediving class in 2010 I made it my goal to learn as much as I could about this new (to me) sport. This lead me to Martin Stepanek and FII.
As an FII Instructor I look forward to helping students develop the skills they need to dive efficiently and to be safe while doing so. I also want to spread the word about what a great activity freediving is and how the FII system of education is the best way to go about learning!',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'dean.mccormick',
'idstudent' => '3885',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '574',
'name' => 'School of Fish',
'address' => '572 Route 25A',
'zipcode' => '11778',
'city' => 'Rocky Point',
'state' => 'New York',
'idcountry' => '1',
'phones' => '',
'geolocLat' => '40.9466740',
'geoloclong' => '-72.9274910',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-06 13:16:49',
'timesused' => '397',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 2 => array(
'ClassicCourse' => array(
'idcourse' => '12847',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/03/28',
'end' => '2026/03/29',
'idinstructor' => '29',
'idlocation' => '1532',
'idstatus' => '1',
'maxcapacity' => '8',
'tuitionfee' => '495',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-11-30 23:27:21',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '24',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '250',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'This course will be taught by 6x US national record holder, Daniel Koval. The course will begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water session will be held from 11:30am-4:30pm. Sunday, 8am-2pm. Course location TBD depending on conditions. Course details will be sent to your email a week before the course date. A non-refundable deposit of $250 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' => '2312f1c7f03a53c2e6f492b9639b97ba',
'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 begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water session will be held from 11:30am-4:30pm. Sunday, 8am-2pm. Course location TBD depending on conditions. Course details will be sent to your email a week before the course date. A non-refundable deposit of $250 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 begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '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) 3 => array(
'ClassicCourse' => array(
'idcourse' => '12848',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/18',
'end' => '2026/04/19',
'idinstructor' => '29',
'idlocation' => '1532',
'idstatus' => '1',
'maxcapacity' => '8',
'tuitionfee' => '495',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-11-30 23:28:13',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '7',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '24',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '250',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'This course will be taught by 6x US national record holder, Daniel Koval. The course will begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water session will be held from 11:30am-4:30pm. Sunday, 8am-2pm. Course location TBD depending on conditions. Course details will be sent to your email a week before the course date. A non-refundable deposit of $250 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' => '0d41af49a20ac25ac1ad76c63412834c',
'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 begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water session will be held from 11:30am-4:30pm. Sunday, 8am-2pm. Course location TBD depending on conditions. Course details will be sent to your email a week before the course date. A non-refundable deposit of $250 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 begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '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) 4 => array(
'ClassicCourse' => array(
'idcourse' => '12872',
'idclasslevel' => '6',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/28',
'end' => '2026/05/01',
'idinstructor' => '87',
'idlocation' => '1730',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '495',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-12-10 19:56:08',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '2',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '27',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'The next step in becoming a freediving professional.
This is FII entry-level professional certification allowing assistant instructors to co-teach with fully certified FII instructors and independently supervise or guide already certified freedivers.
Attaining FII Assistant Instructor certification is a prerequisite to entering the FII Instructor Program.',
'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' => 'Focus Freedive',
'premises2' => 'Spear America San Diego LLC',
'premises3' => '',
'premises4' => '',
'createdby' => '2',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>The next step in becoming a freediving professional. </p>
<p>This is FII entry-level professional certification allowing assistant instructors to co-teach with fully certified FII instructors and independently supervise or guide already certified freedivers.</p>
<p>Attaining FII Assistant Instructor certification is a prerequisite to entering the FII Instructor Program.</p>',
'optionaldescription_teaser' => '<p>The next step in becoming a freediving professional. </p>
<p>This is FII entry-level professional certification allowing assistant instructors to co-teach with fully certified FII instructors and independently supervise or guide already certified freedivers.</p>
<p>Attaining FII Assistant Instruc</p>...'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '87',
'expMMBalert' => '3',
'FII_id' => '83',
'name' => 'Brandon Zeek',
'firstname' => 'Brandon',
'lastname' => 'Zeek',
'email' => 'focusfreedive@gmail.com',
'idstatus' => '1',
'address' => '8425 Porter Hill Ter',
'apt' => '',
'city' => 'La Mesa',
'state' => 'California',
'idcountry' => '1',
'zipcode' => '91942',
'phone' => '442-300-4240',
'gender' => '1',
'website' => 'focus-freedive.com',
'notes' => 'notes',
'created' => '2013-09-23 13:35:31',
'dob' => '1987-07-02 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '107',
'expOXY' => '2028-02-12 00:00:00',
'expCPR' => '2028-02-12 00:00:00',
'expINS' => '2026-07-30 00:00:00',
'expFAI' => '2028-02-12 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4914',
'idattachment_exp2' => '5074',
'idattachment_exp3' => '5076',
'idattachment_exp4' => '5075',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'focusfreedive@gmail.com',
'googlemerchant' => '',
'bio' => 'Brandon Zeek is a passionate freediver and experienced spearfisherman. His journey began while living on Catalina Island in Southern California, where he was able to hone his skills as a freediver and hunter. Having lived there for six years, the experience and knowledge he has gathered is undeniably invaluable. The love for the ocean and his heart for people led him to participate in the organization Diving For A Cause. It gave him the chance to spearfish in places like Baja Mexico, Panama, Costa Rica and New Zealand, as well as being able to give back to the communities in those places.
Brandon continues to travel for and pursue the sport of spearfishing as well as freediving and daily witnesses the need for education in this unique community. With safety and responsibility being his primary concerns, he has passionately accepted the task of teaching safe and efficient freediving technique through FII. With Martin Stepanek and Mark Lozano as his instructors, he has received nothing but the best in training. Though experienced, Brandon continues to strive for personal best performances and is always seeking to learn more and grow as a diver and hunter.',
'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' => 'brandon.zeek',
'idstudent' => '3087',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1730',
'name' => 'Spear America SD',
'address' => '5401 Linda Vista Rd. Unit 402',
'zipcode' => '92110',
'city' => 'San Diego',
'state' => 'CA',
'idcountry' => '1',
'phones' => '+1 (619) 272-0200',
'geolocLat' => '32.7667161',
'geoloclong' => '-117.1952639',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2024-01-13 21:51:41',
'timesused' => '0',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '27',
'FII_id' => 'A24',
'name' => 'Focus Freedive',
'email' => 'focusfreedive@gmail.com',
'idstatus' => '1',
'address' => '8211 Vincetta Dr #13',
'apt' => '',
'city' => 'La Mesa',
'zipcode' => '91942',
'state' => 'California ',
'idcountry' => '1',
'phone' => '+1-442-300-4240',
'website' => 'www.focus-freedive.com',
'notes' => 'notes',
'created' => '2024-01-09 14:25:20',
'idlogin' => '317',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'idlocation' => '0',
'geolocLat' => '',
'geoloclong' => '',
'paypalemail' => 'focusfreedive@gmail.com',
'paypalemail2' => '',
'paypalemail3' => '',
'cnfname' => 'Brandon',
'cnlname' => 'Zeek',
'urlname' => 'focusfreedive',
'info' => '',
'faceshot' => '1',
'faceshot2' => '0',
'idmembershiplevel' => '4',
'expMembership' => '2026-08-31 00:00:00',
'accesshashAPI' => 'API39781131333082317084API',
'accessIP' => ''
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 5 => array(
'ClassicCourse' => array(
'idcourse' => '12873',
'idclasslevel' => '7',
'idgroup' => '0',
'idsubclasslevel' => '1',
'inperson' => '1',
'ini' => '2026/05/02',
'end' => '2026/05/03',
'idinstructor' => '87',
'idlocation' => '1730',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '495',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-12-10 19:58:25',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '27',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'For candidates interested in sharing their passion for freediving with others or to operate independent teaching businesses, instructor examinations are available for all course levels and specialties starting with FII Level 1 Instructor.',
'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' => 'Focus Freedive',
'premises2' => 'Spear America San Diego LLC',
'premises3' => '',
'premises4' => '',
'createdby' => '2',
'approvedbyinstructor' => '1',
'hashlink' => '00d6824cc3090ebe71eb4c05ee04f183',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>For candidates interested in sharing their passion for freediving with others or to operate independent teaching businesses, instructor examinations are available for all course levels and specialties starting with FII Level 1 Instructor.</p>',
'optionaldescription_teaser' => '<p>For candidates interested in sharing their passion for freediving with others or to operate independent teaching businesses, instructor examinations are available for all course levels and specialties starting with FII Level 1 Instructor.</p>'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '87',
'expMMBalert' => '3',
'FII_id' => '83',
'name' => 'Brandon Zeek',
'firstname' => 'Brandon',
'lastname' => 'Zeek',
'email' => 'focusfreedive@gmail.com',
'idstatus' => '1',
'address' => '8425 Porter Hill Ter',
'apt' => '',
'city' => 'La Mesa',
'state' => 'California',
'idcountry' => '1',
'zipcode' => '91942',
'phone' => '442-300-4240',
'gender' => '1',
'website' => 'focus-freedive.com',
'notes' => 'notes',
'created' => '2013-09-23 13:35:31',
'dob' => '1987-07-02 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '107',
'expOXY' => '2028-02-12 00:00:00',
'expCPR' => '2028-02-12 00:00:00',
'expINS' => '2026-07-30 00:00:00',
'expFAI' => '2028-02-12 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4914',
'idattachment_exp2' => '5074',
'idattachment_exp3' => '5076',
'idattachment_exp4' => '5075',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'focusfreedive@gmail.com',
'googlemerchant' => '',
'bio' => 'Brandon Zeek is a passionate freediver and experienced spearfisherman. His journey began while living on Catalina Island in Southern California, where he was able to hone his skills as a freediver and hunter. Having lived there for six years, the experience and knowledge he has gathered is undeniably invaluable. The love for the ocean and his heart for people led him to participate in the organization Diving For A Cause. It gave him the chance to spearfish in places like Baja Mexico, Panama, Costa Rica and New Zealand, as well as being able to give back to the communities in those places.
Brandon continues to travel for and pursue the sport of spearfishing as well as freediving and daily witnesses the need for education in this unique community. With safety and responsibility being his primary concerns, he has passionately accepted the task of teaching safe and efficient freediving technique through FII. With Martin Stepanek and Mark Lozano as his instructors, he has received nothing but the best in training. Though experienced, Brandon continues to strive for personal best performances and is always seeking to learn more and grow as a diver and hunter.',
'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' => 'brandon.zeek',
'idstudent' => '3087',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1730',
'name' => 'Spear America SD',
'address' => '5401 Linda Vista Rd. Unit 402',
'zipcode' => '92110',
'city' => 'San Diego',
'state' => 'CA',
'idcountry' => '1',
'phones' => '+1 (619) 272-0200',
'geolocLat' => '32.7667161',
'geoloclong' => '-117.1952639',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2024-01-13 21:51:41',
'timesused' => '0',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '27',
'FII_id' => 'A24',
'name' => 'Focus Freedive',
'email' => 'focusfreedive@gmail.com',
'idstatus' => '1',
'address' => '8211 Vincetta Dr #13',
'apt' => '',
'city' => 'La Mesa',
'zipcode' => '91942',
'state' => 'California ',
'idcountry' => '1',
'phone' => '+1-442-300-4240',
'website' => 'www.focus-freedive.com',
'notes' => 'notes',
'created' => '2024-01-09 14:25:20',
'idlogin' => '317',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'idlocation' => '0',
'geolocLat' => '',
'geoloclong' => '',
'paypalemail' => 'focusfreedive@gmail.com',
'paypalemail2' => '',
'paypalemail3' => '',
'cnfname' => 'Brandon',
'cnlname' => 'Zeek',
'urlname' => 'focusfreedive',
'info' => '',
'faceshot' => '1',
'faceshot2' => '0',
'idmembershiplevel' => '4',
'expMembership' => '2026-08-31 00:00:00',
'accesshashAPI' => 'API39781131333082317084API',
'accessIP' => ''
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 6 => array(
'ClassicCourse' => array(
'idcourse' => '12928',
'idclasslevel' => '15',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/03/28',
'end' => '2026/03/29',
'idinstructor' => '230',
'idlocation' => '1701',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '495',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-03 22:51:02',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '26',
'nickname' => '',
'moreinfoURL' => 'http://www.hypoxichunters.com',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => '###Zero To Master Spearo
**This classes focuses fully on the sport of spearfishing**
*Please note that there isn't any deep diving involved in this class (Line training), it only involves everything spearo related.*
**The course schedule is as follows**
**Day 1**
- 5 hours of theory
**Day 2**
- 3 hours open water
**Course Description**
*This class will teach you the skills needed to exponentially get better at landing your own dinner. It's time to take the guess work out of your spearfishing & start learning how to land those fish you keep seeing.*
*We cover many topics in this class, most important is safety when it comes to spearfishing. We will also learn how to find fish, attract them to come to you, learn what makes them behave the way they do, and many more things. We will learn how do safety drills while handling "loaded" equipment. Everything from how to manage floatlines, to learning about every piece of spearfishing equipment, this class almost offers too much information about spearfishing!*
*Even if you have been spearfishing for many years, this course still has a lot of extra info in it. This course is the biggest resource of spearfishing information in one place! Taught by a competitive spearfisher who has traveled all over the world teaching and spearing.*
*This class uses dummy guns for safety purposes. The guns do not shoot, so even though we will be using them as though they are real, we will not actually be shooting fish during the course dates. After certification, and depending on weather, we will have a chance to actually go hunting.*
**Required equipment for this class**
- Mask
- Snorkel
- Wetsuit
- Fins
- Weight belt
- Gloves
',
'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' => '',
'premises3' => 'Over and Outlanders LLC',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<h3>Zero To Master Spearo</h3>
<p><strong>This classes focuses fully on the sport of spearfishing</strong></p>
<p><em>Please note that there isn't any deep diving involved in this class (Line training), it only involves everything spearo related.</em></p>
<p><strong>The course schedule is as follows</strong></p>
<p><strong>Day 1</strong></p>
<ul>
<li>5 hours of theory</li>
</ul>
<p><strong>Day 2</strong></p>
<ul>
<li>3 hours open water</li>
</ul>
<p><strong>Course Description</strong></p>
<p><em>This class will teach you the skills needed to exponentially get better at landing your own dinner. It's time to take the guess work out of your spearfishing & start learning how to land those fish you keep seeing.</em></p>
<p><em>We cover many topics in this class, most important is safety when it comes to spearfishing. We will also learn how to find fish, attract them to come to you, learn what makes them behave the way they do, and many more things. We will learn how do safety drills while handling "loaded" equipment. Everything from how to manage floatlines, to learning about every piece of spearfishing equipment, this class almost offers too much information about spearfishing!</em></p>
<p><em>Even if you have been spearfishing for many years, this course still has a lot of extra info in it. This course is the biggest resource of spearfishing information in one place! Taught by a competitive spearfisher who has traveled all over the world teaching and spearing.</em></p>
<p><em>This class uses dummy guns for safety purposes. The guns do not shoot, so even though we will be using them as though they are real, we will not actually be shooting fish during the course dates. After certification, and depending on weather, we will have a chance to actually go hunting.</em> </p>
<p><strong>Required equipment for this class</strong></p>
<ul>
<li>Mask</li>
<li>Snorkel</li>
<li>Wetsuit</li>
<li>Fins</li>
<li>Weight belt</li>
<li>Gloves</li>
</ul>',
'optionaldescription_teaser' => '<h3>Zero To Master Spearo</h3>
<p><strong>This classes focuses fully on the sport of spearfishing</strong></p>
<p><em>Please note that there isn't any deep diving involved in this class (Line training), it only involves everything spearo related.</em></p>
<p><strong>The course schedule is as follows</strong></p>...'
),
'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'
),
'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) 7 => array(
'ClassicCourse' => array(
'idcourse' => '12934',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/25',
'end' => '2026/04/26',
'idinstructor' => '265',
'idlocation' => '1648',
'idstatus' => '1',
'maxcapacity' => '10',
'tuitionfee' => '495',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-05 12:07:54',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '10',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '0',
'amountallowed' => '1',
'optionaltitle' => '',
'optionaldescription' => 'Learn the essential fundamentals of freediving and safety, helping you safely hold your breath for up to 3 minutes and dive as deep as 66 ft (20 m).
**Saturday @ West Shore Scuba, Harrisburg**
7:30am - 12:00pm: Classroom
1:00pm - 4:30pm: Confined Water Session
**Sunday @ Lake Allure, Quarryville**
9:00am - 2:00pm Open water session
**Own equipment required:**
Wetsuit, Mask, Snorkel, Fins, weight belt & weight
',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Learn the essential fundamentals of freediving and safety, helping you safely hold your breath for up to 3 minutes and dive as deep as 66 ft (20 m).</p>
<p><strong>Saturday @ West Shore Scuba, Harrisburg</strong><br />
7:30am - 12:00pm: Classroom<br />
1:00pm - 4:30pm: Confined Water Session</p>
<p><strong>Sunday @ Lake Allure, Quarryville</strong><br />
9:00am - 2:00pm Open water session</p>
<p><strong>Own equipment required:</strong><br />
Wetsuit, Mask, Snorkel, Fins, weight belt & weight </p>',
'optionaldescription_teaser' => '<p>Learn the essential fundamentals of freediving and safety, helping you safely hold your breath for up to 3 minutes and dive as deep as 66 ft (20 m).</p>
<p><strong>Saturday @ West Shore Scuba, Harrisburg</strong><br>
7:30am - 12:00pm: Classroom<br>
1:00pm - 4:30pm: Confined Water Session</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '265',
'expMMBalert' => '2',
'FII_id' => '265',
'name' => 'Andreas Palm',
'firstname' => 'Andreas',
'lastname' => 'Palm',
'email' => 'andreas.palm90@gmail.com',
'idstatus' => '1',
'address' => '240 Kokomo Ave',
'apt' => '',
'city' => 'Hummelstown',
'state' => 'Pennsylvania',
'idcountry' => '1',
'zipcode' => '17036',
'phone' => '',
'gender' => '0',
'website' => '',
'notes' => 'auto created',
'created' => '2022-09-05 17:53:42',
'dob' => '1990-06-18 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '294',
'expOXY' => '2026-07-19 00:00:00',
'expCPR' => '2026-07-16 00:00:00',
'expINS' => '2026-04-05 00:00:00',
'expFAI' => '2026-07-16 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '1',
'idattachment_exp1' => '4821',
'idattachment_exp2' => '4643',
'idattachment_exp3' => '4637',
'idattachment_exp4' => '4636',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'andreas.palm90@gmail.com',
'googlemerchant' => '',
'bio' => 'Andreas Palm, originally from Germany, has always loved being in and around water. When not playing baseball or soccer, he would be found swimming or practicing dynamic apnea.
But it is his first freediving experience with sharks in Hawaii that truly revealed a new side of himself and convinced him to pursue his new passion and love for the marine life.
With Martin Stepanek (13x World record holder & founder of F.I.I.), Errol Putigna (highly recognized international freediving instructor) and Zachary Small (founder of Hypoxic Hunters) as his instructors, he has received nothing but the best in training to become a longer, deeper, but most importantly, safer diver.
As an F.I.I. instructor, Andreas is now eager to help others bring out their true potential under the water, safely discover the magic of the big blue, and discover freediving as a perfect blend of sport and meditation to balance a busy life.
** If listed course dates don't match with your schedule, please contact about possibly setting up either a private course, or setting up a course for you and your friends.
** If you are already a certified diver and would like to set up a coaching session to further better your skills, feel free to contact as well.
',
'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' => 'andreas.palm',
'idstudent' => '19647',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1648',
'name' => 'Lake Allure',
'address' => '140 North Church Street',
'zipcode' => '17566',
'city' => 'Quarryville',
'state' => 'Pennsylvania',
'idcountry' => '1',
'phones' => '',
'geolocLat' => '39.9011697',
'geoloclong' => '-76.1670846',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-01-05 12:07:54',
'timesused' => '21',
'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) 8 => array(
'ClassicCourse' => array(
'idcourse' => '12937',
'idclasslevel' => '1',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/05/02',
'end' => '2026/05/03',
'idinstructor' => '29',
'idlocation' => '1532',
'idstatus' => '1',
'maxcapacity' => '8',
'tuitionfee' => '495',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-05 18:42:40',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '7',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '24',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '250',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'This course will be taught by 6x US national record holder, Daniel Koval. The course will begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water session will be held from 11:30am-4:30pm. Sunday, 8am-2pm. Course location TBD depending on conditions. Course details will be sent to your email a week before the course date. A non-refundable deposit of $250 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' => '',
'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 begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water session will be held from 11:30am-4:30pm. Sunday, 8am-2pm. Course location TBD depending on conditions. Course details will be sent to your email a week before the course date. A non-refundable deposit of $250 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 begin with the classroom session online via Zoom Friday evening before the 1st day of the course from 5pm-8pm. Saturday will have a continued short classroom session via Zoom from 8am-10:30am. Confined water</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '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'
)
)
)
$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://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" required placeholder="Select Course Level" type="text" name="level" value="">
</label>
<div class="form-control search-box__control form-control--select select_course_small"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_course_small">
<input class="form-control__select-input" placeholder="Enter city name" name="location_str" value=>
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder="Name" name="instructor" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_course_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
<div class="tabs-content-list__item tabs-content-list__item--box" id="tab-modal-verify-search-freediver">
<form method="get" action="https://freedivingproshop.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-professional-rating"><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" required placeholder="Select Rating" type="text" name="instructor_types" value="">
</label>
<div class="form-control search-box__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor_small">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name <span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_instructor_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container accordion-wrap">
<div class="accordion">
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find a Course</p>
</div>
<form name="form-course" class="accordion__content" method="get" action="https://freedivingproshop.com/fii/search" >
<label class="form-control accordion__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" name="level" required placeholder="Select Course Level" type="text" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left: 3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select" >
<input name="location_str" class="form-control__select-input" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button type="submit" class="btn btn--primary accordion__apply-btn search_submit_course" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div>
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find an Instructor</p>
</div>
<form class="accordion__content" action="https://freedivingproshop.com/fii/search" method="get">
<label class="form-control accordion__control" data-micromodal-trigger="modal-professional-rating" ><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" placeholder="Select Rating" type="text" required name="instructor_types" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder=" Name" type="text" name="instructor" value="">
<input name="searchtype" value="type_instructor" type="hidden">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary accordion__apply-btn" id="search_instructor_submit" type="submit" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div><!--<a class="accordion__item accordion__item--link" href="/fii/online_courses">
<div class="accordion__header">
<p class="accordion__title">Learn Online</p>
</div></a>-->
</div>
</div>
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc5bf863-trace').style.display = (document.getElementById('cakeErr69bb1cc5bf863-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="cakeErr69bb1cc5bf863-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc5bf863-code').style.display = (document.getElementById('cakeErr69bb1cc5bf863-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cc5bf863-context').style.display = (document.getElementById('cakeErr69bb1cc5bf863-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1cc5bf863-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="cakeErr69bb1cc5bf863-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/5613714078/8082097008/310-345-0446/4077652821/page:3/sort:ClassicCourse.ini/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:3/sort:ClassicClasslevel.name/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_name">ClassicClasslevel Name</a><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:3/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:" 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">
Aug 15, 2026 - Aug 16, 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/12922">12922 - Level 1 Freediver</a></p>
<p class="card__text">
Fort Wetherill, Jamestown, RI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/299" >
Matthew Novakovich </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://3016742103">
3016742103 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:3016742103">
3016742103 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 450 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('12922');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Jun 10, 2026 - Jun 27, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13020">13020 - Level 1 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">Level 1 Freediver June A</p>
<p class="card__text">
School of Fish, Rocky Point, New York
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/124" >
Dean McCormick </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://631-965-1330">
631-965-1330 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:631-965-1330">
631-965-1330 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 450 USD </p>
<p class="font-weight-bold text-color card__text">
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('13020');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 28, 2026 - Mar 29, 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/12847">12847 - Level 1 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 250 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('12847');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 18, 2026 - Apr 19, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12848">12848 - Level 1 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 250 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('12848');" >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 28, 2026 - May 01, 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/12872">12872 - Assistant Instructor</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/87" >
Brandon Zeek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://442-300-4240">
442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:442-300-4240">
442-300-4240 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 495 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('12872');" >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 02, 2026 - May 03, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12873">12873 - Freediving Instructor Exam</a></p>
<p class="card__text">
Spear America SD, San Diego, CA
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/87" >
Brandon Zeek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://442-300-4240">
442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:442-300-4240">
442-300-4240 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/27">Focus Freedive</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+1-442-300-4240">
+1-442-300-4240 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+1-442-300-4240">
+1-442-300-4240 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 495 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('12873');" >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 28, 2026 - Mar 29, 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/12928">12928 - Spearfishing</a></p>
<p class="card__text">
Main, Fort Lauderdale, Florida
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 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('12928');" >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 25, 2026 - Apr 26, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12934">12934 - Level 1 Freediver</a></p>
<p class="card__text">
Lake Allure, Quarryville, Pennsylvania
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.com/fii/courses_by/265" >
Andreas Palm </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://">
</a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:">
</a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 495 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('12934');" >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 02, 2026 - May 03, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12937">12937 - Level 1 Freediver</a></p>
<p class="card__text">
Main, Honolulu, HI
</p>
<p class="card__text">
Instructor: <a href="https://freedivingproshop.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: $ 495 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 250 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('12937');" >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/5613714078/8082097008/310-345-0446/4077652821/page:2/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:" class="pagination__arr pagination__arr--left" rel="prev"></a><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">1</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:2/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">2</a></span><span class="pagination__item pagination__item--active pagination__item">3</span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:4/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">4</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:5/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">5</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:6/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">6</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:7/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">7</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:8/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">8</a></span><span class="pagination__item"><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:9/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:">9</a></span><a href="/fii/search/5613714078/8082097008/310-345-0446/4077652821/page:4/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:" class="pagination__arr pagination__arr--right" rel="next"></a> </div>
</div>
<div class="d-block text-center-mobile"><a class="btn btn--link btn--link-dark" href="/app/webroot/files/levelinfo/flowchart.jpg" target="_blank">Not sure where to start?</a></div>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var pp = new google.maps.InfoWindow();
google.maps.event.addDomListener(window, 'load', function(){
initialize(initLat, initLng);
});
$("#order_by").change(function(e) {
location.href = $('#' + $("#order_by").val()).attr("href");
});
var init_map = function() {
var FACILITIES = [
{ lat: 26.2615219, lng: -80.09862869999999 },
{ lat: 19.6477165, lng: -155.9985406 },
{ lat: 33.6872868, lng: -117.8586696 },
{ lat: 30.3934117, lng: -86.49931169999999 },
{ lat: 24.7105192, lng: -81.0976064 },
{ lat: 25.2864004, lng: 51.5328925 },
{ lat: 49.8370002, lng: 18.2830054 }
]
var INSTRUCTOR_COURSES = {
// instructor-name: number_of_courses;
}
if(!window.GMmap) setTimeout(init_map, 100);
else {
var bounds = new google.maps.LatLngBounds();
//current courses on maP
// Load instructors
$.ajax({
"type": "POST",
"url": "/locator/instructors",
"dataType": "json",
"success": function(data) {
// for (i = 0; i < point.length; i++) point[i].setMap(null);
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geoloclong) <= 0.01;
})
if(!INSTRUCTOR_COURSES[`${data[i].namehtml}`]) {
INSTRUCTOR_COURSES[`${data[i].namehtml}`] = data[i].nrocourses;
}
if (occupied_by_facility) {
continue;
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geoloclong)
});
phone = "";
if(data[i].phone) {
phone = $("<div><br><big></big></div>");
phone.find("big").text("Phone: " + data[i].phone);
phone = phone.html();
}
email = "";
if(data[i].email) {
email = $("<div><span></span><a></a></div>");
email.find("span").text("Email: ");
email.find("a").attr("href", "mailto:" + data[i].email);
email.find("a").text(data[i].email);
email = email.html() + "<br>";
}
if(data[i].levels) point.levels = data[i].levels;
else point.levels = "0";
point.idinstructor = data[i].idinstructor;
var strurl = data[i].idinstructor;
var instructorAddress = '';
if (data[i].address) {
instructorAddress += data[i].address;
}
if (data[i].city && data[i].address) {
instructorAddress += `, ${data[i].city}`
} else {
instructorAddress += `${data[i].city}`
}
if (data[i].state && data[i].cname && data[i].state !== data[i].cname) {
instructorAddress += `, ${data[i].state}`;
}
if (!data[i].state && data[i].cname) {
instructorAddress += `, ${data[i].cname}`;
}
var imgUrl = ''
if (data[i].ifaceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var phone = data[i].phone.split(' ').join('-');
var strcontent = `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content"><p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${strurl}"> ${data[i].namehtml}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${phone}"> ${data[i].phone}</a></p>
<p class="card__text">${email}</p>`
strcontent += `<p class='card__text'>${instructorAddress}</p>`;
if (data[i].nrocourses > 0) {
strcontent += "<p class='card__text'><a href='/fii/courses_by/"+ strurl + "'>All Courses List (" + data[i].nrocourses +")</a></p> ";
}
if (data[i].nrocoursesloc > 0) {
strcontent += "[ "+ data[i].nrocoursesloc+" Courses in this Location ]" ;
}else {
strcontent += "<p class='card__text'><a href='mailto:"+data[i].email+"?subject=I would like to request a freediving course on your location "+data[i].lname+"'>Request a course on this location</a></p>" ;
}
strcontent += `</div></div>`;
point.infowindow = new google.maps.InfoWindow({
content: strcontent
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
//alert(pp.infowindow);
if (pp.infowindow != undefined) { pp.infowindow.close();}
this.infowindow.open(GMmap, this);
pp = this ;
});
points.push(point);
}
},
"complete": function() {
$.ajax({
"type": "GET",
"url": "/locator/courses",
"dataType": "json",
"success": function(data) {
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geolocLong) <= 0.01;
});
if (occupied_by_facility) {
continue;
}
var allCourses = INSTRUCTOR_COURSES[`${data[i].iname}`];
if (allCourses) {
allCourses = '(' + allCourses + ')';
} else {
allCourses = ''
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geolocLong)
});
var imgUrl = ''
if (data[i].faceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var locationInfo = `${data[i].location_name}, ${data[i].city}, ${data[i].state}`;
var detailUrl = '';
detailUrl = data[i].idinstructor
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://freedivingproshop.com/fii/courses_by/${detailUrl}"> ${data[i].iname}</a></p>
<p class="card__text"><span>Phone</span>: <a class="mobile-tel" href="tel:${data[i].phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${data[i].phone}"> ${data[i].phone}</a></p>
<p class="card__text">Email: <a href="mailto:${data[i].email}">${data[i].email}</a></p>
<p class="card__text">${locationInfo}</p>
<p class='card__text'><a href="/fii/courses_by/${detailUrl}">All Courses List ${allCourses}</a></p>
[${data[i].number_of_courses} courses in this location]
</div>
</div>
</div>
`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9998);
points.push(point);
};
}
});
}
});
// Load facilities
var addFacilityLocation = function(facility) {
var lat = facility.geolocLat;
var lng = facility.geoloclong;
var address = facility.address + (facility.city ? ", " + facility.city : "") + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
if(!(lat && lng)) {
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
"address": address,
},
"success": function(addr) {
if(addr && addr.status && addr.status == 'OK' && addr.results && addr.results[0]) {
lat = addr.results[0].geometry.location.lat;
lng = addr.results[0].geometry.location.lng;
addFacility(facility, lat, lng);
}
}
});
}
else {
addFacility(facility, lat, lng);
}
}
var addFacility = function(facility, lat, lng) {
if (facility && (facility.idmembershiplevel == 5 || facility.name.toLowerCase() == 'iqsub')) {
var point = new google.maps.Marker({
"map": GMmap,
"icon": "https://freedivingproshop.com/img/frontend/content/fii_icon.png",
"position": new google.maps.LatLng(lat, lng)
});
var email = "";
if (facility.email) {
email = `<p class="card__text">Email: <a href="mailto:${facility.email}">${facility.email}</a></p>`;
}
var address = facility.address + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
var phone = facility.phone.split(' ').join('-');
// Number of courses available at the facility
var coursesInfo = facility.nrocoursesloc > 0
? `<p class="card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.nrocoursesloc} upcoming courses</a></p>`
: "<p class='card__text'>No courses currently available</p>";
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII FACILITY #${facility.FII_id}</p>
<p class="font-weight-bold text-placeholder-color card__text"><a href="https://freedivingproshop.com/fii/courses_by_facility/${facility.idfacility}">${facility.name}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}">${facility.phone}</a>
<a class="desktop-tel" href="callto://${phone}">${facility.phone}</a></p>
${email}
<p class="card__text">${address}</p>
${coursesInfo}
</div>
</div>
</div>`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
});
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
});
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9999);
if (pointsFacilities) pointsFacilities.push(point);
}
};
$.ajax({
"type": "GET",
"url": "/locator/facilities",
"dataType": "json",
"success": function(data) {
for(var i = 0; i < data.length; i++) {
var facility = data[i];
addFacilityLocation(data[i]);
}
}
});
}
}
init_map();
function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
function stringDateMapper(date) {
var months = {
01: 'Jan',
02: 'Feb',
03: 'Mar',
04: 'Apr',
05: 'May',
06: 'Jun',
07: 'Jul',
08: 'Aug',
09: 'Sep',
10: 'Oct',
11: 'Nov',
12: 'Dec'
}
var removeYear = date.slice(5)
var removeTimestamp = removeYear.replace('01:00:00', '');
var intoArray = removeTimestamp.split('-');
return `${months[Number(intoArray[0])]} ${intoArray[1]}`;
}
var fullscreen = false;
document.onfullscreenchange = function(event) {
fullscreen = !fullscreen;
if (!fullscreen && $( window ).width() < 1200) {
$('.row-map-view__toggle.row-map-view__toggle--to-list-view').click();
}
}
</script>
<!-- <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDHS8cBjXUwNpyPHDiwTkXniVmeReTGr38&language=en&callback=initMapMainMapSearch"></script> -->
<div class="modal micromodal-slide" id="modal-select-course-lvl" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-select-course-lvl-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-select-course-lvl-title">Select Course Level</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-course-lvl">
<button class="course-list__item course-item course-item--single js-course-item-select">All Courses</button>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-course-item-select">Level 1 Freediver</button>
<button class="course-item__name js-course-item-select">Level 2 Freediver</button>
<button class="course-item__name js-course-item-select">Level 3 Freediver</button>
<button class="course-item__name js-course-item-select">Junior Freediver</button>
<button class="course-item__name js-course-item-select">Level 1 Freediver POOL ONLY</button>
<button class="course-item__name js-course-item-select">Junior Freediver POOL ONLY</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-course-item-select">Introduction to Monofin</button>
<button class="course-item__name js-course-item-select">Advanced Freediving Safety</button>
<button class="course-item__name js-course-item-select">Basic Freediving Safety</button>
<button class="course-item__name js-course-item-select">Waterman Survival</button>
<button class="course-item__name js-course-item-select">Waterman Survival Extended</button>
<button class="course-item__name js-course-item-select">Spearfishing</button>
<button class="course-item__name js-course-item-select">Freediving Photography</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/professional.png">
<div class="course-item__content">
<p class="course-item__type">Professional Courses</p>
<button class="course-item__name js-course-item-select">Assistant Instructor</button>
<button class="course-item__name js-course-item-select">Freediving Instructor Exam</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-course-item-select">Practice Sessions and Trips</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="modal-professional-rating" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-professional-rating-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-professional-rating-title">Select Professional Rating</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-professional-rating">
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-professional-rating">Level 1 Instructor</button>
<button class="course-item__name js-professional-rating">Level 2 Instructor</button>
<button class="course-item__name js-professional-rating">Level 3 Instructor</button>
<button class="course-item__name js-professional-rating">Junior Freediver Instructor</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-professional-rating">SI-Basic Freediving Safety</button>
<button class="course-item__name js-professional-rating">Instructor Trainer</button>
<button class="course-item__name js-professional-rating">Waterman Survival Instructor</button>
<button class="course-item__name js-professional-rating">Monofin</button>
<button class="course-item__name js-professional-rating">SI-Advanced Freediving Safety</button>
<button class="course-item__name js-professional-rating">Spearfishing Instructor</button>
<button class="course-item__name js-professional-rating">SI-Freediving Photography</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-professional-rating">All Ratings</button>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script>
var submitFindCourseBtn = document.querySelector('.search_submit_course');
if (submitFindCourseBtn) {
submitFindCourseBtn
.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtn = document.getElementById('search_instructor_submit');
if (submitFindInstructorBtn) {
submitFindInstructorBtn.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtnSmall = document
.getElementById('search_instructor_small_submit')
if (submitFindInstructorBtnSmall) {
submitFindInstructorBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var submitFindCourseBtnSmall = document
.getElementById('search_course_small_submit');
if (submitFindCourseBtnSmall) {
submitFindCourseBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_course_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var inputs = document.querySelectorAll(".form-control__input js-input-location readonly")
if (inputs.length){
inputs.forEach(function(input) {
input.addEventListener("change", function(e) {
if (e.target.textContent.contains("Invalid location")) {
setTimeout(() => {
e.target.value = "";
}, 500);
}
})
})
}
var inputs_locations = document.querySelectorAll(".form-control__select-input")
if (inputs_locations.length) {
inputs_locations.forEach(function(input) {
input.addEventListener("keypress", function(e) {
if (e.code === "Enter")
e.preventDefault();
})
})
}
</script>
<script type="text/javascript">
$('input[name=\"location_str\"]').change(function(e) {
e.preventDefault();
var me = $(this);
var val = me.val();
me.prop("disabled", true).val("Please wait...");
$("input[type=\"submit\"]").prop("disabled", true);
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"address": val,
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
},
"dataType": "json",
"success": function(e) {
if(e && e.status && e.status == 'OK' && e.results
&& e.results[0]) {
me.next().val(
e.results[0].geometry.location.lat + "," +
e.results[0].geometry.location.lng
);
me.prop("disabled", false).val(e.results[0].formatted_address);
$("input[type=\"submit\"]").prop("disabled", false);
}
else {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
},
"error": function() {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
});
e.preventDefault();
});
if($('input[name=\"location_str\"]').val() != '') $('input[name=\"location_str\"]').trigger('change');
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const observer = new MutationObserver(() => {
const autoInput = document.querySelector('.js-input-location');
const realInput = document.querySelector('input[name="location_str"]');
const hiddenInput = document.querySelector('input[name="location"]');
if (!autoInput || !realInput || !hiddenInput) return;
const lat = autoInput.dataset.autoLat;
const lng = autoInput.dataset.autoLng;
if (!hiddenInput.value && lat && lng) {
const full = `${lat},${lng}`;
hiddenInput.value = full;
realInput.value = autoInput.value || realInput.value;
console.log("✅ Force-synced from geolocation:", full);
} else {
console.log("⏭️ Skipped sync —", {
lat,
lng,
hiddenVal: hiddenInput.value
});
}
});
const block = document.querySelector('.form-control--select');
if (block) {
observer.observe(block, { attributes: true, childList: true, subtree: true });
console.log("👁️ Watching location block for auto-fill...");
} else {
console.warn("❌ Geolocation block not found");
}
});
</script>
'
$scripts_for_layout = ''
$title_for_layout = 'Search Courses - Freediving Instructors International'include - APP/View/Layouts/fii.ctp, line 536
View::_evaluate() - CORE/Cake/View/View.php, line 971
View::_render() - CORE/Cake/View/View.php, line 933
View::renderLayout() - CORE/Cake/View/View.php, line 546
View::render() - CORE/Cake/View/View.php, line 481
Controller::render() - CORE/Cake/Controller/Controller.php, line 963
FiiController::search() - APP/Controller/FiiController.php, line 1249
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167
[main] - APP/webroot/index.php, line 109
0"
data-intent="course"
onclick="fiiStartCourseLogin(null, this)">
Registered FII Student