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://marin.freedivinginstructors.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" required placeholder="Select Course Level" type="text" name="level" value="">
</label>
<div class="form-control search-box__control form-control--select select_course_small"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_course_small">
<input class="form-control__select-input" placeholder="Enter city name" name="location_str" value=>
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder="Name" name="instructor" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_course_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
<div class="tabs-content-list__item tabs-content-list__item--box" id="tab-modal-verify-search-freediver">
<form method="get" action="https://marin.freedivinginstructors.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-professional-rating"><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" required placeholder="Select Rating" type="text" name="instructor_types" value="">
</label>
<div class="form-control search-box__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor_small">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name <span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_instructor_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container accordion-wrap">
<div class="accordion">
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find a Course</p>
</div>
<form name="form-course" class="accordion__content" method="get" action="https://marin.freedivinginstructors.com/fii/search" >
<label class="form-control accordion__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" name="level" required placeholder="Select Course Level" type="text" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left: 3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select" >
<input name="location_str" class="form-control__select-input" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button type="submit" class="btn btn--primary accordion__apply-btn search_submit_course" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div>
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find an Instructor</p>
</div>
<form class="accordion__content" action="https://marin.freedivinginstructors.com/fii/search" method="get">
<label class="form-control accordion__control" data-micromodal-trigger="modal-professional-rating" ><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" placeholder="Select Rating" type="text" required name="instructor_types" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder=" Name" type="text" name="instructor" value="">
<input name="searchtype" value="type_instructor" type="hidden">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary accordion__apply-btn" id="search_instructor_submit" type="submit" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div><!--<a class="accordion__item accordion__item--link" href="/fii/online_courses">
<div class="accordion__header">
<p class="accordion__title">Learn Online</p>
</div></a>-->
</div>
</div>
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cb2cba06-trace').style.display = (document.getElementById('cakeErr69bb1cb2cba06-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="cakeErr69bb1cb2cba06-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cb2cba06-code').style.display = (document.getElementById('cakeErr69bb1cb2cba06-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cb2cba06-context').style.display = (document.getElementById('cakeErr69bb1cb2cba06-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1cb2cba06-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="cakeErr69bb1cb2cba06-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/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.ini/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicClasslevel.name/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_name">ClassicClasslevel Name</a><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_fee" class="desc">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">
Nov 28, 2026 - Dec 12, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12744">12744 - Level 2 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">BALI ocean kurz 2</p>
<p class="card__text">
BALI INDONESIA, QH2F+6FM, Kubu, Karangasem Regency, Bali
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/73" >
Martin Chenicek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+420-777-266-305">
+420 777 266 305 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+420-777-266-305">
+420 777 266 305 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: 9900 CZK </p>
<p class="font-weight-bold text-color card__text">
Deposit: 4500 CZK
</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('12744');" >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/12970">12970 - Level 1 Freediver POOL ONLY</a></p>
<p class="font-weight-bold text-title-color card__text">Chtěli bychom vas s Mirkou pozvat na dvoudenni bazenovy kurz do Prahy. Budeme se ucit mnoho o fyziologii, technice ponoru, spravnem rozdychani, vybaveni pro freediving a probereme i bezpečnost, a pripravu na velke hloubky. To vse v Praze, v hlubokem 8mi metrovem bazenu v Čestlicich. Veskere informace vam zasleme na email. Dekujeme</p>
<p class="card__text">
Bazénový kurz Praha - Čestlice, Dobřejovice, Czech
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/73" >
Martin Chenicek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+420-777-266-305">
+420 777 266 305 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+420-777-266-305">
+420 777 266 305 </a>
</div>
</p>
<p class="card__text">
Language: Czech
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: 4900 CZK </p>
<p class="font-weight-bold text-color card__text">
Deposit: 2900 CZK
</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('12970');" >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 09, 2026 - May 10, 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/13027">13027 - Level 1 Freediver POOL ONLY</a></p>
<p class="card__text">
Main, Ostrava, Czech Republic
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/1" >
David Cani </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+420-777-250-714">
+420-777-250-714 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+420-777-250-714">
+420-777-250-714 </a>
</div>
</p>
<p class="card__text">
Language: Czech
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: 4900 CZK </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('13027');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 25, 2026 - Mar 26, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13025">13025 - Junior Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">PRIVATE JUNIOR COURSE - Erin & Family</p>
<p class="card__text">
Key West Location, Key West, Florida
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/241" >
Tracy Wollschlager </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://954-559-4774">
954-559-4774 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-559-4774">
954-559-4774 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 4000 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 4000 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('13025');" >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">
Jul 03, 2026 - Jul 10, 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/12843">12843 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">FII Maldives Freediving Camp 2026. Join us for a week of fun and adventure! Please contact Errol Putigna or Fawaz Alnuaimi for more details and payment information. To hold a spot in the camp a $1000 USD will be required. </p>
<p class="card__text">
Main, Malé,
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/18" >
Errol Putigna </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://5613714078">
5613714078 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:5613714078">
5613714078 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 3995 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('12843');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 19, 2026 - Mar 22, 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/12956">12956 - Waterman Survival Extended</a></p>
<p class="card__text">
Taino Divers, Rincon, Puerto Rico
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/49" >
Joe Sheridan </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://910-352-6371">
910-352-6371 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:910-352-6371">
910-352-6371 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 1595 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('12956');" >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">
Oct 17, 2026 - Oct 24, 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/12991">12991 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">FII Kona Freediving Camp 2026</p>
<p class="card__text">
Main, Kailua-Kona, Hawaii
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/24" >
Martin Stepanek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-212-0012">
808-212-0012 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-212-0012">
808-212-0012 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/19">Kona Freedivers</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://808-464-6584">
808-464-6584 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-464-6584">
808-464-6584 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 975 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 275 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('12991');" >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 19, 2026 - Jun 22, 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/12942">12942 - Level 3 Freediver</a></p>
<p class="card__text">
Hypoxic Hunters, Fort Lauderdale, FL
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/29" >
Daniel Koval </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/24">Deep Freediving Instruction</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 895 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 495 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('12942');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 03, 2026 - Apr 05, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12931">12931 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">Explore Between Breath</p>
<p class="card__text">
Big Island Hawai'i, Kona, HI
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/275" >
Ryan Strong </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://206-681-0897">
206-681-0897 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:206-681-0897">
206-681-0897 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 875 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 400 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('12931');" >register</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="text-center">
<div class="pagination pagination--mb">
<div class="pagination__list">
<!--https://book.cakephp.org/2/en/core-libraries/helpers/paginator.html#PaginatorHelper> -->
<a class="pagination__arr pagination__arr--left"></a><span class="pagination__item pagination__item--active pagination__item">1</span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:2">2</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:3">3</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:4">4</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:5">5</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:6">6</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:7">7</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:8">8</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:9">9</a></span><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:2" 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://marin.freedivinginstructors.com/fii/courses_by/${strurl}"> ${data[i].namehtml}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${phone}"> ${data[i].phone}</a></p>
<p class="card__text">${email}</p>`
strcontent += `<p class='card__text'>${instructorAddress}</p>`;
if (data[i].nrocourses > 0) {
strcontent += "<p class='card__text'><a href='/fii/courses_by/"+ strurl + "'>All Courses List (" + data[i].nrocourses +")</a></p> ";
}
if (data[i].nrocoursesloc > 0) {
strcontent += "[ "+ data[i].nrocoursesloc+" Courses in this Location ]" ;
}else {
strcontent += "<p class='card__text'><a href='mailto:"+data[i].email+"?subject=I would like to request a freediving course on your location "+data[i].lname+"'>Request a course on this location</a></p>" ;
}
strcontent += `</div></div>`;
point.infowindow = new google.maps.InfoWindow({
content: strcontent
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
//alert(pp.infowindow);
if (pp.infowindow != undefined) { pp.infowindow.close();}
this.infowindow.open(GMmap, this);
pp = this ;
});
points.push(point);
}
},
"complete": function() {
$.ajax({
"type": "GET",
"url": "/locator/courses",
"dataType": "json",
"success": function(data) {
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geolocLong) <= 0.01;
});
if (occupied_by_facility) {
continue;
}
var allCourses = INSTRUCTOR_COURSES[`${data[i].iname}`];
if (allCourses) {
allCourses = '(' + allCourses + ')';
} else {
allCourses = ''
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geolocLong)
});
var imgUrl = ''
if (data[i].faceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var locationInfo = `${data[i].location_name}, ${data[i].city}, ${data[i].state}`;
var detailUrl = '';
detailUrl = data[i].idinstructor
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://marin.freedivinginstructors.com/fii/courses_by/${detailUrl}"> ${data[i].iname}</a></p>
<p class="card__text"><span>Phone</span>: <a class="mobile-tel" href="tel:${data[i].phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${data[i].phone}"> ${data[i].phone}</a></p>
<p class="card__text">Email: <a href="mailto:${data[i].email}">${data[i].email}</a></p>
<p class="card__text">${locationInfo}</p>
<p class='card__text'><a href="/fii/courses_by/${detailUrl}">All Courses List ${allCourses}</a></p>
[${data[i].number_of_courses} courses in this location]
</div>
</div>
</div>
`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9998);
points.push(point);
};
}
});
}
});
// Load facilities
var addFacilityLocation = function(facility) {
var lat = facility.geolocLat;
var lng = facility.geoloclong;
var address = facility.address + (facility.city ? ", " + facility.city : "") + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
if(!(lat && lng)) {
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
"address": address,
},
"success": function(addr) {
if(addr && addr.status && addr.status == 'OK' && addr.results && addr.results[0]) {
lat = addr.results[0].geometry.location.lat;
lng = addr.results[0].geometry.location.lng;
addFacility(facility, lat, lng);
}
}
});
}
else {
addFacility(facility, lat, lng);
}
}
var addFacility = function(facility, lat, lng) {
if (facility && (facility.idmembershiplevel == 5 || facility.name.toLowerCase() == 'iqsub')) {
var point = new google.maps.Marker({
"map": GMmap,
"icon": "https://marin.freedivinginstructors.com/img/frontend/content/fii_icon.png",
"position": new google.maps.LatLng(lat, lng)
});
var email = "";
if (facility.email) {
email = `<p class="card__text">Email: <a href="mailto:${facility.email}">${facility.email}</a></p>`;
}
var address = facility.address + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
var phone = facility.phone.split(' ').join('-');
// Number of courses available at the facility
var coursesInfo = facility.nrocoursesloc > 0
? `<p class="card__text"><a href="https://marin.freedivinginstructors.com/fii/courses_by_facility/${facility.idfacility}">${facility.nrocoursesloc} upcoming courses</a></p>`
: "<p class='card__text'>No courses currently available</p>";
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII FACILITY #${facility.FII_id}</p>
<p class="font-weight-bold text-placeholder-color card__text"><a href="https://marin.freedivinginstructors.com/fii/courses_by_facility/${facility.idfacility}">${facility.name}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}">${facility.phone}</a>
<a class="desktop-tel" href="callto://${phone}">${facility.phone}</a></p>
${email}
<p class="card__text">${address}</p>
${coursesInfo}
</div>
</div>
</div>`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
});
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
});
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9999);
if (pointsFacilities) pointsFacilities.push(point);
}
};
$.ajax({
"type": "GET",
"url": "/locator/facilities",
"dataType": "json",
"success": function(data) {
for(var i = 0; i < data.length; i++) {
var facility = data[i];
addFacilityLocation(data[i]);
}
}
});
}
}
init_map();
function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
function stringDateMapper(date) {
var months = {
01: 'Jan',
02: 'Feb',
03: 'Mar',
04: 'Apr',
05: 'May',
06: 'Jun',
07: 'Jul',
08: 'Aug',
09: 'Sep',
10: 'Oct',
11: 'Nov',
12: 'Dec'
}
var removeYear = date.slice(5)
var removeTimestamp = removeYear.replace('01:00:00', '');
var intoArray = removeTimestamp.split('-');
return `${months[Number(intoArray[0])]} ${intoArray[1]}`;
}
var fullscreen = false;
document.onfullscreenchange = function(event) {
fullscreen = !fullscreen;
if (!fullscreen && $( window ).width() < 1200) {
$('.row-map-view__toggle.row-map-view__toggle--to-list-view').click();
}
}
</script>
<!-- <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDHS8cBjXUwNpyPHDiwTkXniVmeReTGr38&language=en&callback=initMapMainMapSearch"></script> -->
<div class="modal micromodal-slide" id="modal-select-course-lvl" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-select-course-lvl-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-select-course-lvl-title">Select Course Level</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-course-lvl">
<button class="course-list__item course-item course-item--single js-course-item-select">All Courses</button>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-course-item-select">Level 1 Freediver</button>
<button class="course-item__name js-course-item-select">Level 2 Freediver</button>
<button class="course-item__name js-course-item-select">Level 3 Freediver</button>
<button class="course-item__name js-course-item-select">Junior Freediver</button>
<button class="course-item__name js-course-item-select">Level 1 Freediver POOL ONLY</button>
<button class="course-item__name js-course-item-select">Junior Freediver POOL ONLY</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-course-item-select">Introduction to Monofin</button>
<button class="course-item__name js-course-item-select">Advanced Freediving Safety</button>
<button class="course-item__name js-course-item-select">Basic Freediving Safety</button>
<button class="course-item__name js-course-item-select">Waterman Survival</button>
<button class="course-item__name js-course-item-select">Waterman Survival Extended</button>
<button class="course-item__name js-course-item-select">Spearfishing</button>
<button class="course-item__name js-course-item-select">Freediving Photography</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/professional.png">
<div class="course-item__content">
<p class="course-item__type">Professional Courses</p>
<button class="course-item__name js-course-item-select">Assistant Instructor</button>
<button class="course-item__name js-course-item-select">Freediving Instructor Exam</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-course-item-select">Practice Sessions and Trips</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="modal-professional-rating" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-professional-rating-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-professional-rating-title">Select Professional Rating</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-professional-rating">
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-professional-rating">Level 1 Instructor</button>
<button class="course-item__name js-professional-rating">Level 2 Instructor</button>
<button class="course-item__name js-professional-rating">Level 3 Instructor</button>
<button class="course-item__name js-professional-rating">Junior Freediver Instructor</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-professional-rating">SI-Basic Freediving Safety</button>
<button class="course-item__name js-professional-rating">Instructor Trainer</button>
<button class="course-item__name js-professional-rating">Waterman Survival Instructor</button>
<button class="course-item__name js-professional-rating">Monofin</button>
<button class="course-item__name js-professional-rating">SI-Advanced Freediving Safety</button>
<button class="course-item__name js-professional-rating">Spearfishing Instructor</button>
<button class="course-item__name js-professional-rating">SI-Freediving Photography</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-professional-rating">All Ratings</button>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script>
var submitFindCourseBtn = document.querySelector('.search_submit_course');
if (submitFindCourseBtn) {
submitFindCourseBtn
.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtn = document.getElementById('search_instructor_submit');
if (submitFindInstructorBtn) {
submitFindInstructorBtn.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtnSmall = document
.getElementById('search_instructor_small_submit')
if (submitFindInstructorBtnSmall) {
submitFindInstructorBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var submitFindCourseBtnSmall = document
.getElementById('search_course_small_submit');
if (submitFindCourseBtnSmall) {
submitFindCourseBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_course_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var inputs = document.querySelectorAll(".form-control__input js-input-location readonly")
if (inputs.length){
inputs.forEach(function(input) {
input.addEventListener("change", function(e) {
if (e.target.textContent.contains("Invalid location")) {
setTimeout(() => {
e.target.value = "";
}, 500);
}
})
})
}
var inputs_locations = document.querySelectorAll(".form-control__select-input")
if (inputs_locations.length) {
inputs_locations.forEach(function(input) {
input.addEventListener("keypress", function(e) {
if (e.code === "Enter")
e.preventDefault();
})
})
}
</script>
<script type="text/javascript">
$('input[name=\"location_str\"]').change(function(e) {
e.preventDefault();
var me = $(this);
var val = me.val();
me.prop("disabled", true).val("Please wait...");
$("input[type=\"submit\"]").prop("disabled", true);
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"address": val,
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
},
"dataType": "json",
"success": function(e) {
if(e && e.status && e.status == 'OK' && e.results
&& e.results[0]) {
me.next().val(
e.results[0].geometry.location.lat + "," +
e.results[0].geometry.location.lng
);
me.prop("disabled", false).val(e.results[0].formatted_address);
$("input[type=\"submit\"]").prop("disabled", false);
}
else {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
},
"error": function() {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
});
e.preventDefault();
});
if($('input[name=\"location_str\"]').val() != '') $('input[name=\"location_str\"]').trigger('change');
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const observer = new MutationObserver(() => {
const autoInput = document.querySelector('.js-input-location');
const realInput = document.querySelector('input[name="location_str"]');
const hiddenInput = document.querySelector('input[name="location"]');
if (!autoInput || !realInput || !hiddenInput) return;
const lat = autoInput.dataset.autoLat;
const lng = autoInput.dataset.autoLng;
if (!hiddenInput.value && lat && lng) {
const full = `${lat},${lng}`;
hiddenInput.value = full;
realInput.value = autoInput.value || realInput.value;
console.log("✅ Force-synced from geolocation:", full);
} else {
console.log("⏭️ Skipped sync —", {
lat,
lng,
hiddenVal: hiddenInput.value
});
}
});
const block = document.querySelector('.form-control--select');
if (block) {
observer.observe(block, { attributes: true, childList: true, subtree: true });
console.log("👁️ Watching location block for auto-fill...");
} else {
console.warn("❌ Geolocation block not found");
}
});
</script>
',
'scripts_for_layout' => '',
'title_for_layout' => 'Search Courses - Freediving Instructors International'
)
$courses = array(
(int) 0 => array(
'ClassicCourse' => array(
'idcourse' => '12744',
'idclasslevel' => '2',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/11/28',
'end' => '2026/12/12',
'idinstructor' => '73',
'idlocation' => '325',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '9900',
'idcurrency' => '3',
'notes' => '',
'created' => '2025-09-11 01:26:36',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '4',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://www.pimpyourlife.cz',
'acceptedpayment' => '0',
'optionaldeposit' => '4500',
'amountallowed' => '0',
'optionaltitle' => 'BALI ocean kurz 2',
'optionaldescription' => 'US below...
14 ti denní kemp freedivingu na Bali, v nasem vlastnim resortu s velkym 25m bazenem, přimo na břehu moře. Cena včetně jogy, videokoučinku, bojek, lan, pujčení vybaveni, atd. Ubytovani na apartmanech za 30 euro na noc. Wifi Free.
Vice info : +420777266305
Nebo email : Pimpyourlife@outlook.com
US
14 day freediving camp in Bali, in our own resort with a large 25m pool, right on the seashore. Price includes yoga, video coaching, buoys, ropes, equipment rental, etc. Accommodation in apartments for 30 euros per night. Wifi Free.
More info: +420777266305
Or email: Pimpyourlife@outlook.com',
'courseterms' => ' none
',
'idregionalbranch' => '2',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>US below...</p>
<p>14 ti denní kemp freedivingu na Bali, v nasem vlastnim resortu s velkym 25m bazenem, přimo na břehu moře. Cena včetně jogy, videokoučinku, bojek, lan, pujčení vybaveni, atd. Ubytovani na apartmanech za 30 euro na noc. Wifi Free. </p>
<p>Vice info : +420777266305<br />
Nebo email : Pimpyourlife@outlook.com</p>
<p>US<br />
14 day freediving camp in Bali, in our own resort with a large 25m pool, right on the seashore. Price includes yoga, video coaching, buoys, ropes, equipment rental, etc. Accommodation in apartments for 30 euros per night. Wifi Free. </p>
<p>More info: +420777266305<br />
Or email: Pimpyourlife@outlook.com</p>',
'optionaldescription_teaser' => '<p>US below...</p>
<p>14 ti denní kemp freedivingu na Bali, v nasem vlastnim resortu s velkym 25m bazenem, přimo na břehu moře. Cena včetně jogy, videokoučinku, bojek, lan, pujčení vybaveni, atd. Ubytovani na apartmanech za 30 euro na noc. Wifi Free. </p>
<p>Vice info : +420777266305<br>
Nebo emai</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '2',
'name' => 'Level 2 Freediver',
'idclasstype' => '1',
'orden' => '3',
'AllowCertification' => '1',
'code' => 'L2',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=13',
'notes' => 'The FII Level 2 Freediver course runs over four days, its is perfect for spearfishermen and freediver's whom are already confident with breathhold activities, the use of freediving specific equipment and blue water diving. Throughout this course we will introduce you to your natural inborn aquatic abilities and teach you specific techniques to unlock them!',
'minage' => '16',
'certificationseq' => '1186',
'instructorrating' => 'I2',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '35'
),
'ClassicInstructor' => array(
'idinstructor' => '73',
'expMMBalert' => '30',
'FII_id' => '69',
'name' => 'Martin Chenicek',
'firstname' => 'Martin',
'lastname' => 'Chenicek',
'email' => 'seven20@volny.cz',
'idstatus' => '1',
'address' => 'Kotnovska 183',
'apt' => '',
'city' => 'Tabor',
'state' => 'CZECH',
'idcountry' => '3',
'zipcode' => '39001',
'phone' => '+420 777 266 305',
'gender' => '1',
'website' => 'http://www.PimpYourLife.cz',
'notes' => 'notes',
'created' => '2013-04-24 14:48:10',
'dob' => '1977-09-08 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '88',
'expOXY' => '2026-04-30 00:00:00',
'expCPR' => '2026-04-30 00:00:00',
'expINS' => '2027-03-26 00:00:00',
'expFAI' => '2026-04-30 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5089',
'idattachment_exp2' => '4248',
'idattachment_exp3' => '4250',
'idattachment_exp4' => '4249',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => '',
'googlemerchant' => '',
'bio' => 'Jmenuji se Martin Chenicek, dlouhodobe ucim freediving na Bali v Indonesii, Mexicu, Chorvatsku, Africe a Cechach, cestuji po celem svete za krasami freedivingu s vami, nasimi studenty a pro jeho rozvoj a pokrok a vyzkum na poli mediciny delam maximum.
Sta 7:13, DYN : 172m, CWT 72m.
Contact : +420777266305,
MAIL : seven20@volny.cz
WEB : PimpYourLife.cz',
'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' => '2',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'martin.chenicek',
'idstudent' => '1882',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '325',
'name' => 'BALI INDONESIA',
'address' => 'The-Ocean-Freedive-Resort-Bali',
'zipcode' => '80853',
'city' => 'QH2F+6FM, Kubu, Karangasem Regency',
'state' => 'Bali',
'idcountry' => '104',
'phones' => '+420777266305',
'geolocLat' => '-8.2489074',
'geoloclong' => '115.5730585',
'notes' => 'I build this The Ocean Freedive Resort in beautiful Island of Bali like oportunity to move ourself for winter trainink in 31℃ water. We have 25m pool for training with 2 lines, and fully equiped base included Counter balast system, buoys, ropes, etc.',
'showonlocator' => '1',
'lasttimeused' => '2025-05-19 02:48:53',
'timesused' => '41',
'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' => '3',
'name' => 'CZK',
'symbol' => '',
'code' => 'CZK'
)
),
(int) 1 => array(
'ClassicCourse' => array(
'idcourse' => '12970',
'idclasslevel' => '14',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/18',
'end' => '2026/04/19',
'idinstructor' => '73',
'idlocation' => '1720',
'idstatus' => '1',
'maxcapacity' => '10',
'tuitionfee' => '4900',
'idcurrency' => '3',
'notes' => '',
'created' => '2026-01-25 12:48:51',
'idlanguage' => '3',
'availability' => '0',
'vacancy' => '10',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://www.pimpyourlife.cz',
'acceptedpayment' => '0',
'optionaldeposit' => '2900',
'amountallowed' => '0',
'optionaltitle' => 'Chtěli bychom vas s Mirkou pozvat na dvoudenni bazenovy kurz do Prahy. Budeme se ucit mnoho o fyziologii, technice ponoru, spravnem rozdychani, vybaveni pro freediving a probereme i bezpečnost, a pripravu na velke hloubky. To vse v Praze, v hlubokem 8mi metrovem bazenu v Čestlicich. Veskere informace vam zasleme na email. Dekujeme',
'optionaldescription' => 'Chtěli bychom vas s Mirkou pozvat na dvoudenni bazenovy kurz do Prahy. Budeme se ucit mnoho o fyziologii, technice ponoru, spravnem rozdychani, vybaveni pro freediving a probereme i bezpečnost, a pripravu na velke hloubky. To vse v Praze, v hlubokem 8mi metrovem bazenu v Čestlicich. Veskere informace vam zasleme na email. Dekujeme',
'courseterms' => '
none
',
'idregionalbranch' => '2',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Chtěli bychom vas s Mirkou pozvat na dvoudenni bazenovy kurz do Prahy. Budeme se ucit mnoho o fyziologii, technice ponoru, spravnem rozdychani, vybaveni pro freediving a probereme i bezpečnost, a pripravu na velke hloubky. To vse v Praze, v hlubokem 8mi metrovem bazenu v Čestlicich. Veskere informace vam zasleme na email. Dekujeme</p>',
'optionaldescription_teaser' => '<p>Chtěli bychom vas s Mirkou pozvat na dvoudenni bazenovy kurz do Prahy. Budeme se ucit mnoho o fyziologii, technice ponoru, spravnem rozdychani, vybaveni pro freediving a probereme i bezpečnost, a pripravu na velke hloubky. To vse v Praze, v hlubokem 8mi metrovem bazenu v Čestlicich. Veskere infor</p>...'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '73',
'expMMBalert' => '30',
'FII_id' => '69',
'name' => 'Martin Chenicek',
'firstname' => 'Martin',
'lastname' => 'Chenicek',
'email' => 'seven20@volny.cz',
'idstatus' => '1',
'address' => 'Kotnovska 183',
'apt' => '',
'city' => 'Tabor',
'state' => 'CZECH',
'idcountry' => '3',
'zipcode' => '39001',
'phone' => '+420 777 266 305',
'gender' => '1',
'website' => 'http://www.PimpYourLife.cz',
'notes' => 'notes',
'created' => '2013-04-24 14:48:10',
'dob' => '1977-09-08 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '88',
'expOXY' => '2026-04-30 00:00:00',
'expCPR' => '2026-04-30 00:00:00',
'expINS' => '2027-03-26 00:00:00',
'expFAI' => '2026-04-30 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5089',
'idattachment_exp2' => '4248',
'idattachment_exp3' => '4250',
'idattachment_exp4' => '4249',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => '',
'googlemerchant' => '',
'bio' => 'Jmenuji se Martin Chenicek, dlouhodobe ucim freediving na Bali v Indonesii, Mexicu, Chorvatsku, Africe a Cechach, cestuji po celem svete za krasami freedivingu s vami, nasimi studenty a pro jeho rozvoj a pokrok a vyzkum na poli mediciny delam maximum.
Sta 7:13, DYN : 172m, CWT 72m.
Contact : +420777266305,
MAIL : seven20@volny.cz
WEB : PimpYourLife.cz',
'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' => '2',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'martin.chenicek',
'idstudent' => '1882',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1720',
'name' => 'Bazénový kurz Praha - Čestlice',
'address' => 'U Kapličky 44, Dobřejovice',
'zipcode' => '25101',
'city' => 'Dobřejovice',
'state' => 'Czech',
'idcountry' => '3',
'phones' => '777266305',
'geolocLat' => '49.9825339',
'geoloclong' => '14.5831903',
'notes' => 'Zveme vás na bazénový kurz v hlubokém 8m bazéni v Praze - čestlicích, kde probereme vše od teorie, praxe, a i výuky těch nejefektnivnějších sestupů do hloubek..',
'showonlocator' => '1',
'lasttimeused' => '2026-03-17 03:32:47',
'timesused' => '20',
'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' => '3',
'name' => 'CZECH',
'orden' => '3',
'flagurl' => '/app/images/flags/cz.png',
'code' => 'CZ'
),
'ClassicCurrency' => array(
'idcurrency' => '3',
'name' => 'CZK',
'symbol' => '',
'code' => 'CZK'
)
),
(int) 2 => array(
'ClassicCourse' => array(
'idcourse' => '13027',
'idclasslevel' => '14',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/05/09',
'end' => '2026/05/10',
'idinstructor' => '1',
'idlocation' => '74',
'idstatus' => '1',
'maxcapacity' => '10',
'tuitionfee' => '4900',
'idcurrency' => '3',
'notes' => '',
'created' => '2026-03-13 09:23:55',
'idlanguage' => '3',
'availability' => '0',
'vacancy' => '7',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '0',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => '',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '2',
'premises1' => '',
'premises2' => '',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '1',
'expMMBalert' => '23',
'FII_id' => '2',
'name' => 'David Cani',
'firstname' => 'David',
'lastname' => 'Cani',
'email' => 'david@freedivinginstructors.com',
'idstatus' => '1',
'address' => 'Petrvald 205',
'apt' => '',
'city' => 'Ostrava',
'state' => '',
'idcountry' => '3',
'zipcode' => '74260',
'phone' => '+420-777-250-714',
'gender' => '0',
'website' => '',
'notes' => '',
'created' => '2011-03-25 19:59:17',
'dob' => '1976-03-14 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '39',
'expOXY' => '2030-09-30 00:00:00',
'expCPR' => '2030-09-30 00:00:00',
'expINS' => '2027-02-21 00:00:00',
'expFAI' => '2030-09-30 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5090',
'idattachment_exp2' => '4682',
'idattachment_exp3' => '4683',
'idattachment_exp4' => '4681',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => '',
'googlemerchant' => '',
'bio' => '',
'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' => '2',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'david.cani',
'idstudent' => '10119',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '74',
'name' => 'Main',
'address' => '',
'zipcode' => '',
'city' => 'Ostrava',
'state' => 'Czech Republic',
'idcountry' => '3',
'phones' => '',
'geolocLat' => '49.8209226',
'geoloclong' => '18.2625243',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-13 09:23:55',
'timesused' => '42',
'priority' => '1',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '3',
'name' => 'CZECH',
'orden' => '3',
'flagurl' => '/app/images/flags/cz.png',
'code' => 'CZ'
),
'ClassicCurrency' => array(
'idcurrency' => '3',
'name' => 'CZK',
'symbol' => '',
'code' => 'CZK'
)
),
(int) 3 => array(
'ClassicCourse' => array(
'idcourse' => '13025',
'idclasslevel' => '8',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/03/25',
'end' => '2026/03/26',
'idinstructor' => '241',
'idlocation' => '1705',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '4000',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-03-12 10:26:58',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '4',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'Freedivekeywest.com',
'acceptedpayment' => '0',
'optionaldeposit' => '4000',
'amountallowed' => '0',
'optionaltitle' => 'PRIVATE JUNIOR COURSE - Erin & Family',
'optionaldescription' => 'Private Junior Course (Ages 12-15)
Day 1 - Classroom and Confined Water
Day 2 - Open Water Session Line Diving
During this course, students train the fundamentals of the FII education system in an easy-to-learn course format operating between the classroom, pool and open water setting. With a high emphasis on freedive safety training and technique development, students master the proper skills to effectively freedive up to depths of 49 feet/15 meters.
Whether a complete beginner or an informally trained freediver/spearfisherman with years of experience, this course will set you on the right path to eliminate bad habits and show you the most efficient and safe freedive techniques.
Course Syllabus
-Level 1 Safety & Problem Management
-Freediving Equipment
-Physics and Physiology for the Level 1 Freediver
-Correct Breathing for Freediving
-Breath-Hold/Static Apnea Technique Development
-Freediving Technique Development
To pass this course level, students must attend all sessions and demonstrate mastery of the F.I.I. Level 1 Freediver skills and knowledge.
Course Duration:
2-day program. Minimum 4 hours of academic work, 3 hours of confined water training, and 3 hours of open water depth training (varies per location and size of class).
Prerequisites:
Competent swimming skills and comfortable in open water.
Age Requirement:
Juniors courses are offered for ages 12-15
Required Equipment:
Wetsuit, mask, snorkel, fins, weight belt, weights and timing device.
Freedive Key West has great gear available for a great price. Please ask about the gear availability upon registering.
Cost includes all travel expenses and plane ticket.',
'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>Private Junior Course (Ages 12-15)<br />
Day 1 - Classroom and Confined Water<br />
Day 2 - Open Water Session Line Diving</p>
<p>During this course, students train the fundamentals of the FII education system in an easy-to-learn course format operating between the classroom, pool and open water setting. With a high emphasis on freedive safety training and technique development, students master the proper skills to effectively freedive up to depths of 49 feet/15 meters.</p>
<p>Whether a complete beginner or an informally trained freediver/spearfisherman with years of experience, this course will set you on the right path to eliminate bad habits and show you the most efficient and safe freedive techniques.</p>
<p>Course Syllabus<br />
-Level 1 Safety & Problem Management<br />
-Freediving Equipment<br />
-Physics and Physiology for the Level 1 Freediver<br />
-Correct Breathing for Freediving<br />
-Breath-Hold/Static Apnea Technique Development<br />
-Freediving Technique Development<br />
To pass this course level, students must attend all sessions and demonstrate mastery of the F.I.I. Level 1 Freediver skills and knowledge.</p>
<p>Course Duration:<br />
2-day program. Minimum 4 hours of academic work, 3 hours of confined water training, and 3 hours of open water depth training (varies per location and size of class).</p>
<p>Prerequisites:<br />
Competent swimming skills and comfortable in open water.</p>
<p>Age Requirement:<br />
Juniors courses are offered for ages 12-15</p>
<p>Required Equipment:<br />
Wetsuit, mask, snorkel, fins, weight belt, weights and timing device.</p>
<p>Freedive Key West has great gear available for a great price. Please ask about the gear availability upon registering.</p>
<p>Cost includes all travel expenses and plane ticket.</p>',
'optionaldescription_teaser' => '<p>Private Junior Course (Ages 12-15)<br>
Day 1 - Classroom and Confined Water<br>
Day 2 - Open Water Session Line Diving</p>
<p>During this course, students train the fundamentals of the FII education system in an easy-to-learn course format operating between the classroom, pool and open water </p>...'
),
'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'
),
'ClassicInstructor' => array(
'idinstructor' => '241',
'expMMBalert' => '2',
'FII_id' => '241',
'name' => 'Tracy Wollschlager',
'firstname' => 'Tracy',
'lastname' => 'Wollschlager',
'email' => 'tracy@freedivekeywest.com',
'idstatus' => '1',
'address' => 'PO Box 1853',
'apt' => '',
'city' => 'Key West',
'state' => 'Fl',
'idcountry' => '1',
'zipcode' => '33041',
'phone' => '954-559-4774',
'gender' => '0',
'website' => 'freedivekeywest.com',
'notes' => 'auto created',
'created' => '2021-06-14 11:50:36',
'dob' => '1990-07-15 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '270',
'expOXY' => '2027-05-05 00:00:00',
'expCPR' => '2027-04-21 00:00:00',
'expINS' => '2026-07-12 00:00:00',
'expFAI' => '2027-04-21 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4885',
'idattachment_exp2' => '4871',
'idattachment_exp3' => '4874',
'idattachment_exp4' => '4873',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'tracy@marinebrokering.com',
'googlemerchant' => '',
'bio' => 'FII Level 1, Juniors, & Level 2 assistant freediving instructor, Tracy Wollschlager, teaches both in the Florida Keys and also travels for private courses! Tracy's love for the ocean began at a young age, and it has since become her life's passion. With over a decade of experience in the world of freediving, she has explored the wonders of the deep blue in her backyard, the Florida Keys, as well as some of the most breathtaking locations on Earth. Tracy's teaching philosophy centers around safety, respect for marine life, and a deep connection to the underwater world. Her courses are tailored to all levels, from beginners seeking to discover the magic of breath-hold diving to advanced practitioners aiming to refine their techniques.
What to Expect:
Personalized instruction
Breath-holding techniques
Equalization mastery
Dive planning and safety
Mindfulness and relaxation practices
Join Tracy and embark on a transformative underwater adventure!',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'tracy.wollschlager',
'idstudent' => '11290',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1705',
'name' => 'Key West Location',
'address' => '',
'zipcode' => '33040',
'city' => 'Key West',
'state' => 'Florida',
'idcountry' => '1',
'phones' => '954-559-4774',
'geolocLat' => '24.5550593',
'geoloclong' => '-81.7799871',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-12 10:26:58',
'timesused' => '114',
'priority' => '1',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 4 => array(
'ClassicCourse' => array(
'idcourse' => '12843',
'idclasslevel' => '10',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/07/03',
'end' => '2026/07/10',
'idinstructor' => '18',
'idlocation' => '1739',
'idstatus' => '1',
'maxcapacity' => '16',
'tuitionfee' => '3995',
'idcurrency' => '1',
'notes' => '',
'created' => '2025-11-26 21:40:14',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '12',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '0',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => 'FII Maldives Freediving Camp 2026. Join us for a week of fun and adventure! Please contact Errol Putigna or Fawaz Alnuaimi for more details and payment information. To hold a spot in the camp a $1000 USD will be required. ',
'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' => '10',
'name' => 'Practice Sessions and Trips',
'idclasstype' => '2',
'orden' => '99',
'AllowCertification' => '0',
'code' => 'PST',
'status' => '1',
'allowcustomname' => '1',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '1',
'instructorrating' => '',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'ClassicInstructor' => array(
'idinstructor' => '18',
'expMMBalert' => '15',
'FII_id' => '13',
'name' => 'Errol Putigna',
'firstname' => 'Errol',
'lastname' => 'Putigna',
'email' => 'errol@freedivinginstructors.com',
'idstatus' => '1',
'address' => '163 Hampton Cir',
'apt' => '',
'city' => 'Jupiter',
'state' => 'FL',
'idcountry' => '1',
'zipcode' => '33458',
'phone' => '5613714078',
'gender' => '1',
'website' => 'www.freedivinginstructors.com/errolputigna',
'notes' => 'notes',
'created' => '2011-04-06 16:02:52',
'dob' => '1973-09-19 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '17',
'expOXY' => '2026-06-03 00:00:00',
'expCPR' => '2026-06-03 00:00:00',
'expINS' => '2026-12-26 00:00:00',
'expFAI' => '2026-06-03 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '5049',
'idattachment_exp2' => '4612',
'idattachment_exp3' => '4613',
'idattachment_exp4' => '4611',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'eputigna@yahoo.com',
'googlemerchant' => '',
'bio' => 'Errol Putigna, originally from Toronto, Canada and son of an avid Italian spearfisherman, he has been in the water since day one. Errol Putigna is an internationally recognized Freediving Instructor who works with Freediving Instructors International (FII) and 13 time world-record holding freediver and creator/founder of FII, Martin Stepanek. He helped develop freedive curricula along side Martin Stepanek, such as FII's Junior Freediver program and is one of the most sought after freediving instructors in the world, having taught professional athletes, such as Cameron Kirkconnell (Professional Spearfishing guide and Saltlife athlete), Cheyenne Lee (Saltlife model and athlete) , Adam Hayward, Matt Roth (NFL) and Luke Rockhold (UFC) and Forbes 400 business entrepreneurs among others. He teaches both recreational level and professional level certification courses all over the United States, Bahamas, Puerto Rico, Spain and Qatar. In addition, he has translated and adapted FII's materials for the Spanish speaking market. He is also an avid spearfisherman and underwater photographer. His images have been published in prestigious magazines such as Oryx (Official magazine of Qatar Airways), Hawaii Skin Diver, Desert Rider and California Diver among many others. ',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'errol.putigna',
'idstudent' => '2426',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1739',
'name' => 'Main',
'address' => '',
'zipcode' => '',
'city' => 'Malé',
'state' => '',
'idcountry' => '134',
'phones' => '',
'geolocLat' => '4.1752709',
'geoloclong' => '73.5091172',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2024-10-13 20:27:27',
'timesused' => '18',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 5 => array(
'ClassicCourse' => array(
'idcourse' => '12956',
'idclasslevel' => '12',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/03/19',
'end' => '2026/03/22',
'idinstructor' => '49',
'idlocation' => '306',
'idstatus' => '1',
'maxcapacity' => '4',
'tuitionfee' => '1595',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-15 09:47:53',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '0',
'optionaldeposit' => '0',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'The Waterman Survival Extended Course combines the Level 1 Freediver Course and the Waterman Survival Course during four days of freediving and breath hold survival training. The course includes classroom, pool and two ocean sessions. This course is for anyone interested in learning how to freedive using proper technique and safety for best performance and learn valuable survival skills during potential breath hold related emergencies. Extend your urge to breathe safely during involuntary breath holds. This course is for both beginners and experienced water people who have never been professionally trained. Join us for a very unique breath hold training experience that emphasizes safety and technique for maximum performance and confidence underwater. All payments are final. Payments are non-refundable and cannot be used as credit for a future course. Spots are not reserved until full payment is confirmed. Travel insurance is recommended in case of unforeseen circumstances or need to cancel. This is the ultimate breath hold training experience! 2026 marks our 15th season training Puerto Rico! ',
'courseterms' => '**Student Reschedule or Cancellations**
If you have paid a deposit or the full course fee and need to reschedule or cancel, the following terms apply:
- **14+ Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **15% of the full tuition fee**
- **7-13 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **25% of the full tuition fee**
- **48 Hours to 6 Days Before Course Start Date:** Contact your instructor or facility, you may transfer your enrollment to a different course location or start date (subject to availability) for an administrative fee of **50% of the full tuition fee**
- **Within 48 Hours of Course Start:** Contact your instructor or facility, but no refunds or transfers are available.
**Please note:** All deposits and payments made for **boat fees, private training, events, and trips** are **non-refundable** and **final**
**Instructor Cancellations**
FII Instructors make every effort to ensure courses are conducted as scheduled. However, freediving is subject to external conditions beyond our control. Instructors reserve the right to cancel or reschedule courses due to:
- **Inclement Weather:** If the instructor or boat captain determines that weather conditions are unsafe for open-water freediving, the session may be postponed or canceled. In such cases, students may complete the canceled ocean session during a future course (subject to availability) at no additional cost, except for standard boat fees.
- **Insufficient Enrollment:** To maintain safety, student peer support, and optimal instructor-to-student ratios, courses require a minimum of three enrolled students. If enrollment is insufficient, the instructor may cancel or postpone the course. In this case, students will be offered a transfer to the next available course or a full refund of all fees paid.
By checking the "Terms and Conditions" box on the registration form, you confirm that you have read, understood, and agree to the Terms and Conditions, including the Refund and Cancellation Policy outlined above. ',
'idregionalbranch' => '1',
'premises1' => 'Colinas de Ensenada',
'premises2' => 'Captain Alan Cannella',
'premises3' => 'Out of the Blue Charters',
'premises4' => 'Captain Justin Griego',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>The Waterman Survival Extended Course combines the Level 1 Freediver Course and the Waterman Survival Course during four days of freediving and breath hold survival training. The course includes classroom, pool and two ocean sessions. This course is for anyone interested in learning how to freedive using proper technique and safety for best performance and learn valuable survival skills during potential breath hold related emergencies. Extend your urge to breathe safely during involuntary breath holds. This course is for both beginners and experienced water people who have never been professionally trained. Join us for a very unique breath hold training experience that emphasizes safety and technique for maximum performance and confidence underwater. All payments are final. Payments are non-refundable and cannot be used as credit for a future course. Spots are not reserved until full payment is confirmed. Travel insurance is recommended in case of unforeseen circumstances or need to cancel. This is the ultimate breath hold training experience! 2026 marks our 15th season training Puerto Rico! </p>',
'optionaldescription_teaser' => '<p>The Waterman Survival Extended Course combines the Level 1 Freediver Course and the Waterman Survival Course during four days of freediving and breath hold survival training. The course includes classroom, pool and two ocean sessions. This course is for anyone interested in learning how to free</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '12',
'name' => 'Waterman Survival Extended',
'idclasstype' => '2',
'orden' => '13',
'AllowCertification' => '1',
'code' => 'WSE',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '374',
'instructorrating' => 'SI-WSC',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'ClassicInstructor' => array(
'idinstructor' => '49',
'expMMBalert' => '19',
'FII_id' => '46',
'name' => 'Joe Sheridan',
'firstname' => 'Joe',
'lastname' => 'Sheridan',
'email' => 'joesheridanjr@gmail.com',
'idstatus' => '1',
'address' => '#5 Colinas de Ensenada',
'apt' => '',
'city' => 'Rincon',
'state' => 'Puerto Rico',
'idcountry' => '177',
'zipcode' => '00677',
'phone' => '910-352-6371',
'gender' => '0',
'website' => '',
'notes' => 'Joe Sheridan
830 Shinn Point Rd.
Wilmington, NC 28409',
'created' => '2012-03-22 09:27:48',
'dob' => '1971-06-01 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '63',
'expOXY' => '2028-02-17 00:00:00',
'expCPR' => '2028-01-05 00:00:00',
'expINS' => '2026-06-04 00:00:00',
'expFAI' => '2028-01-05 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4879',
'idattachment_exp2' => '5081',
'idattachment_exp3' => '5059',
'idattachment_exp4' => '5058',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'joesheridanjr@gmail.com',
'googlemerchant' => '',
'bio' => 'Joe has always had a genuine passion for exploration and the water. Being underwater has been natural and comfortable since he was young. Joe splits his time living in Wilmington, NC and Rincon, PR and runs a sales agency in the action sports industry. His company has serviced the mid-Atlantic states for the last 25 years in the surf, outdoor, snow and sports industry. Joe holds a Bachelor of Science degree in Business from North Carolina State University. After college Joe served as an Infantry Officer in US Military.
In 2006, Joe and some dive buddies from Wilmington got into spearfishing and freediving. After taking a freediving course in Florida, Joe was immediately hooked on breath hold diving. Joe continued to take advanced level freediving courses, compete in spearfishing tournaments and freediving competitions, eventually becoming a freediving and waterman survival instructor with F.I.I.
Joe's background and experience provides a unique and comfortable learning environment for students of all skill levels. Joe's passion for our sport of freediving shows in his courses and teaching style. Joe teaches the Level 1 and Level 2 Freediver Courses, the Waterman Survival Course, the Waterman Survival Extended Course, Advanced Freediving Safety Course, the Waterman Survival Instructor Course and the Level 1 Freediver Instructor Course. Joe caters to training in Puerto Rico with over a decade of training all levels helping keep people safe and confident in the water. Go to www.watermansurvival.com to register for an upcoming course and learn more about the F.I.I. courses available. ',
'courseterms' => 'To reserve a confirmed spot in each course, students must register and make the full payment to secure their space in that class.
All course payments are final, non-refundable and non-transferable to another class. There are limited spots available in each class. In the event of possible last minute cancellations by students, we recommend travel insurance or students may transfer their spot to another student but that is the responsibility of the student
Weather at times may be a factor in offshore training. If that situation occurs during the days of the scheduled course, the instructor will ensure that only safe conditions are available for effective training. All training that can be conducted in a safe learning environment will continue. If safe conditions are not available, students have up to one year to make up the ocean training.',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'joe.sheridan',
'idstudent' => '230',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '306',
'name' => 'Taino Divers',
'address' => '564 Calle Black Eagle',
'zipcode' => '00677',
'city' => 'Rincon',
'state' => 'Puerto Rico',
'idcountry' => '177',
'phones' => '',
'geolocLat' => '18.3451656',
'geoloclong' => '-67.2597067',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-03-10 10:26:53',
'timesused' => '360',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 6 => array(
'ClassicCourse' => array(
'idcourse' => '12991',
'idclasslevel' => '10',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/10/17',
'end' => '2026/10/24',
'idinstructor' => '24',
'idlocation' => '1000',
'idstatus' => '1',
'maxcapacity' => '16',
'tuitionfee' => '975',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-02-11 14:58:48',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '13',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '19',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '275',
'amountallowed' => '1',
'optionaltitle' => 'FII Kona Freediving Camp 2026',
'optionaldescription' => 'Join us for our **25th Semiannual FII Kona Freediving Camp** in beautiful Kailua-Kona, Hawaii. The camp week includes six days of freediving adventures including daily depth training with 13x World Record Freediver Martin Stepanek, big animal offshore freediving trips (optional add-on), a bbq beach day featuring organic, locally sourced ingredients, freediving clinics and more.
This fun week is ideal for individuals, families and groups of all levels. The Big Island of Hawaii is one of the top freediving destinations in the world! Check out IG #fiikonacamp & @fii_freedive "Story Highlights" "Kona Camp". Deposit of $275.00 secures your spot and the balance is due Sep 2026. Freediving certification required. For more info contact us at 808-212-0012 or email us at stepanek@freedivinginstructors.com for more info. This is our fav week of the year! We look forward to diving with you!',
'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' => 'Kona Kai Divers, Inc.',
'premises2' => 'Wild Hawaii Aquatic Adventures',
'premises3' => '',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>Join us for our <strong>25th Semiannual FII Kona Freediving Camp</strong> in beautiful Kailua-Kona, Hawaii. The camp week includes six days of freediving adventures including daily depth training with 13x World Record Freediver Martin Stepanek, big animal offshore freediving trips (optional add-on), a bbq beach day featuring organic, locally sourced ingredients, freediving clinics and more.</p>
<p>This fun week is ideal for individuals, families and groups of all levels. The Big Island of Hawaii is one of the top freediving destinations in the world! Check out IG #fiikonacamp & @fii_freedive "Story Highlights" "Kona Camp". Deposit of $275.00 secures your spot and the balance is due Sep 2026. Freediving certification required. For more info contact us at 808-212-0012 or email us at stepanek@freedivinginstructors.com for more info. This is our fav week of the year! We look forward to diving with you!</p>',
'optionaldescription_teaser' => '<p>Join us for our <strong>25th Semiannual FII Kona Freediving Camp</strong> in beautiful Kailua-Kona, Hawaii. The camp week includes six days of freediving adventures including daily depth training with 13x World Record Freediver Martin Stepanek, big animal offshore freediving trips (optional add-</p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '10',
'name' => 'Practice Sessions and Trips',
'idclasstype' => '2',
'orden' => '99',
'AllowCertification' => '0',
'code' => 'PST',
'status' => '1',
'allowcustomname' => '1',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '1',
'instructorrating' => '',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'ClassicInstructor' => array(
'idinstructor' => '24',
'expMMBalert' => '41',
'FII_id' => '1',
'name' => 'Martin Stepanek',
'firstname' => 'Martin',
'lastname' => 'Stepanek',
'email' => 'stepanek@freedivinginstructors.com',
'idstatus' => '1',
'address' => '49 N Federal Hwy',
'apt' => 'Suite #296',
'city' => 'Pompano Beach',
'state' => 'Florida',
'idcountry' => '1',
'zipcode' => '33062',
'phone' => '808-212-0012',
'gender' => '1',
'website' => '',
'notes' => 'adad',
'created' => '2011-04-21 18:45:17',
'dob' => '1977-06-05 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '20',
'expOXY' => '2028-02-17 00:00:00',
'expCPR' => '2027-02-28 00:00:00',
'expINS' => '2026-09-23 00:00:00',
'expFAI' => '2027-02-07 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4972',
'idattachment_exp2' => '5080',
'idattachment_exp3' => '2828',
'idattachment_exp4' => '4169',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '3',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'payment@freedivinginstructors.com',
'googlemerchant' => '',
'bio' => 'Martin Stepanek is a freediving pioneer, having gone to depths never before - over 400 feet on a single breath of air. He claimed his first freediving world record in 2001, and has since gone on to become one of the world's top freedivers in history, setting 13 world records throughout his competitive career. <br><br>
Martin's strong desire to improve the effectiveness and safety of freediving education led him to start Freediving Instructors International(F.I.I.). Martin has trained thousands of students worldwide utilizing this proven freediving training method including some of the world's elite sportsman and women.<br><br>
When he's not traveling around the world, Martin lives in Kailua-Kona, Hawaii where he enjoys teaching freediving and hosting the FII Kona Freediving Camps.<br><br>
Martin is available for public and private freediving courses and training sessions. For more information, please email stepanek@freedivinginstructors.com.
',
'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' => 'martin.stepanek',
'idstudent' => '1331',
'accesshashAPI' => '1193898206810579'
),
'ClassicLocation' => array(
'idlocation' => '1000',
'name' => 'Main',
'address' => '74-5583 Luhia St B11',
'zipcode' => '96740',
'city' => 'Kailua-Kona',
'state' => 'Hawaii',
'idcountry' => '1',
'phones' => '(808)464-6584',
'geolocLat' => '19.6477425',
'geoloclong' => '-155.9985376',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-02-14 01:46:19',
'timesused' => '470',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => '19',
'FII_id' => '011',
'name' => 'Kona Freedivers',
'email' => 'info@konafreedivers.com',
'idstatus' => '1',
'address' => '74-5583 Luhia St B11',
'apt' => '',
'city' => 'Kailua-Kona',
'zipcode' => '96740',
'state' => 'Hawaii',
'idcountry' => '1',
'phone' => '808-464-6584',
'website' => 'www.konafreedivers.com',
'notes' => 'notes',
'created' => '2019-01-11 18:16:57',
'idlogin' => '236',
'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' => 'virginia@konahonudivers.com',
'paypalemail2' => '',
'paypalemail3' => '',
'cnfname' => 'Byron',
'cnlname' => 'Kay',
'urlname' => 'konafreedivers',
'info' => 'Kona Freedivers is Hawaii's only facility offering freediving specific gear and training. Our facility includes a classroom, gear rental, and retail shop carrying specialized freediving equipment. We also offer diving from our 46' boat and International group trips. We are the only facility to offer FII intro to freediving courses. Visit our site to learn more about upcoming freediving courses, training, gear, and trips. We love teaching freediving and we have fun doing it!',
'faceshot' => '1',
'faceshot2' => '1',
'idmembershiplevel' => '5',
'expMembership' => '2026-07-31 00:00:00',
'accesshashAPI' => '',
'accessIP' => ''
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
),
(int) 7 => array(
'ClassicCourse' => array(
'idcourse' => '12942',
'idclasslevel' => '3',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/06/19',
'end' => '2026/06/22',
'idinstructor' => '29',
'idlocation' => '1806',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '895',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-05 19:24:42',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '24',
'nickname' => '',
'moreinfoURL' => '',
'acceptedpayment' => '1',
'optionaldeposit' => '495',
'amountallowed' => '0',
'optionaltitle' => '',
'optionaldescription' => 'This course will be taught by 6x US national record holder, Daniel Koval. Daily schedule is 8am-5pm Friday-Monday, starting Thursday evening 5-8pm. Course location TBD depending on conditions. There is 4 additional boat fee of $100 for each open water session. Course details will be sent to your email a week before the course date. A non-refundable deposit of $495 will secure your spot. Please contact us through email daniel@deepfreediving.com or by phone (808)436-7046. This course will be taught by 6x US national record holder, Daniel Koval.',
'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' => '',
'premises4' => '',
'createdby' => '2',
'approvedbyinstructor' => '1',
'hashlink' => 'cd12f3234f8286f11ddd6e8258f6ca23',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<p>This course will be taught by 6x US national record holder, Daniel Koval. Daily schedule is 8am-5pm Friday-Monday, starting Thursday evening 5-8pm. Course location TBD depending on conditions. There is 4 additional boat fee of $100 for each open water session. Course details will be sent to your email a week before the course date. A non-refundable deposit of $495 will secure your spot. Please contact us through email daniel@deepfreediving.com or by phone (808)436-7046. This course will be taught by 6x US national record holder, Daniel Koval.</p>',
'optionaldescription_teaser' => '<p>This course will be taught by 6x US national record holder, Daniel Koval. Daily schedule is 8am-5pm Friday-Monday, starting Thursday evening 5-8pm. Course location TBD depending on conditions. There is 4 additional boat fee of $100 for each open water session. Course details will be sent to your </p>...'
),
'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'
),
'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' => '1806',
'name' => 'Hypoxic Hunters',
'address' => '1317 SE 17th St',
'zipcode' => '33316',
'city' => 'Fort Lauderdale',
'state' => 'FL',
'idcountry' => '1',
'phones' => '(808) 339-1615',
'geolocLat' => '26.1016334',
'geoloclong' => '-80.1303613',
'notes' => '',
'showonlocator' => '0',
'lasttimeused' => '2026-01-05 19:26:18',
'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) 8 => array(
'ClassicCourse' => array(
'idcourse' => '12931',
'idclasslevel' => '10',
'idgroup' => '0',
'idsubclasslevel' => '0',
'inperson' => '1',
'ini' => '2026/04/03',
'end' => '2026/04/05',
'idinstructor' => '275',
'idlocation' => '1775',
'idstatus' => '1',
'maxcapacity' => '6',
'tuitionfee' => '875',
'idcurrency' => '1',
'notes' => '',
'created' => '2026-01-04 02:30:05',
'idlanguage' => '1',
'availability' => '0',
'vacancy' => '3',
'waitlist' => '0',
'waitlist_count' => '0',
'isprivate' => '0',
'idfacility' => '0',
'nickname' => '',
'moreinfoURL' => 'https://freediveseattle.com/',
'acceptedpayment' => '1',
'optionaldeposit' => '400',
'amountallowed' => '2',
'optionaltitle' => 'Explore Between Breath',
'optionaldescription' => '### Explore Between Breath
*3-Day Intensive Freedive Training and Exploration*
**April 3-5 | Kona, Hawai‘i**
**Limited to 6 participants**
Join us for three days of intensive freedive training and exploration in the warm, clear waters of Hawai‘i. Diving in Kona offers pristine conditions, depth, and vibrant reef and marine life, creating an inspirational environment that supports learning, refinement, and comfort in open water.
This small group experience is designed for thoughtful, unhurried training with an emphasis on safety, technique, efficiency, and presence in the water, without pressure to rush depth. Sessions take place across multiple Kona locations, moving between calm reef environments and open blue water.
A highlight of the experience is a full offshore freedive expedition by boat with See Through Sea, offering the opportunity to explore deep blue water and, conditions permitting, encounter pelagic marine life such as dolphins, sharks, and whales in their natural environment.
All participants will dive within their deepest certified depth, with coaching adapted to individual experience and comfort.
### Prerequisites
- Certified freedivers from any recognized agency
- Renssant Freedive students who have participated in a Level 1 course or pool-only course and are working toward full certification
### What’s Included
- Three days of personalized freediving coaching
- Line diving sessions focused on comfort, technique, and safety
- Breathwork, stretching, and relaxation practices
- Video review and group discussion
- Reef and blue water diving at multiple Kona sites
- Offshore freedive expedition with See Through Sea
- Boat fees included
- Small group size for individualized attention
***Travel, lodging, meals, and gear rentals are not included.***
',
'courseterms' => '### Renssant Freedive
**Cancellation & Transfer Policy**
### General Terms
By registering for any course, coaching session, or retreat with Renssant Freedive, you agree to the following terms regarding cancellations, transfers, and refunds. These policies are designed to ensure fairness while protecting the operational costs and planning involved in offering high quality freediving education.
### Deposits
- All deposits are non-refundable, unless the course does not run due to low enrollment.
- Deposit amounts vary by offering and are listed clearly at registration
- Some coaching sessions may require full prepayment instead of a deposit to reserve your spot
### Student Cancellations and Transfers
If you need to cancel or transfer your enrollment, the following terms apply:
**31 or more days before course start**
- No cancellation fee
- One time transfer to a future course on a space available basis
**22-30 days before course start**
- 15 percent of full tuition retained
- Transfer to a future course on a space available basis
**8-21 days before course start**
- 25 percent of full tuition retained
- Transfer only, no refunds
**48 hours to 7 days before course start**
- 50 percent of full tuition retained
- Transfer only, no refunds
**Less than 48 hours before course start**
- No transfer or refund
- Forfeiture of full tuition
Additional terms:
- Transfers are limited to one per registration
- Additional changes may be treated as cancellations and subject to standard fees
- Cancellation fees are calculated based on the full tuition cost, regardless of any discounts or promotions
### Gear Rentals, Boat Fees, Private Training, Events, and Trips
All payments toward equipment rentals, boat fees, private sessions, events, and retreats are non-refundable and non-transferable.
### Instructor Cancellations and Course Adjustments
Renssant Freedive makes every effort to run courses as scheduled. However, freediving is subject to environmental and logistical constraints beyond our control.
Courses may be postponed or adjusted due to the following:
**Weather or environmental conditions**
- If conditions are deemed unsafe by the instructor or boat captain, open water sessions may be rescheduled
- Make up sessions may be completed during a future course on a space available basis
- No additional instructional fee will be charged
- Standard boat fees still apply
**Instructor illness or emergency**
- In rare cases where the instructor must cancel due to illness or emergency, students may choose between a full refund or a transfer to a future course
**Low enrollment**
- To maintain safety and teaching quality, courses may be postponed if fewer than three students are enrolled
- Students will be offered a transfer to a future course
- Refunds are not available
### Missed Sessions and No Shows
- Missing a course without prior communication is considered a no show
- No refunds or transfers will be provided for no shows
- If you attend part of a course but cannot complete it due to illness or emergency, we may offer a one time opportunity to rejoin a future session on a space available basis within twelve months
### How to Request a Transfer or Cancellation
To request a transfer or cancellation, please email **ryan@renssantfreedive.com** with your full name, course dates, and reason for the change.
Requests must be submitted by **11:59 PM on the last eligible day of the applicable notice window**.
### Substitutions
- You may transfer your registration to another person at no additional cost, provided they meet course prerequisites
- Substitution requests must be submitted at least 72 hours before the course start
- If your spot is filled by another paying student, your fee may be transferred or refunded according to the applicable cancellation window
### Force Majeure
Renssant Freedive is not liable for cancellations, delays, or rescheduling due to circumstances beyond our control, including but not limited to natural disasters, pandemics, government restrictions, or acts of God.
In such cases, we will make every reasonable effort to reschedule your course or transfer your enrollment to a future offering.
### Refund Method and Timing
If a refund is approved:
- Refunds will be issued using the original method of payment
- Refunds will be processed within 7-10 business days of approval
- Refunds will not be provided in cash
- Refund timing may be subject to third party transaction processing times ',
'idregionalbranch' => '1',
'premises1' => 'Hawaii County Parks & Recreation',
'premises2' => 'Native Ocean Tours LLC',
'premises3' => 'Dylan Currier',
'premises4' => '',
'createdby' => '1',
'approvedbyinstructor' => '1',
'hashlink' => '',
'hashlinkexp' => '0000-00-00 00:00:00',
'optionaldescription_html' => '<h3>Explore Between Breath</h3>
<p><em>3-Day Intensive Freedive Training and Exploration</em><br />
<strong>April 3-5 | Kona, Hawai‘i</strong><br />
<strong>Limited to 6 participants</strong> </p>
<p>Join us for three days of intensive freedive training and exploration in the warm, clear waters of Hawai‘i. Diving in Kona offers pristine conditions, depth, and vibrant reef and marine life, creating an inspirational environment that supports learning, refinement, and comfort in open water.</p>
<p>This small group experience is designed for thoughtful, unhurried training with an emphasis on safety, technique, efficiency, and presence in the water, without pressure to rush depth. Sessions take place across multiple Kona locations, moving between calm reef environments and open blue water.</p>
<p>A highlight of the experience is a full offshore freedive expedition by boat with See Through Sea, offering the opportunity to explore deep blue water and, conditions permitting, encounter pelagic marine life such as dolphins, sharks, and whales in their natural environment.</p>
<p>All participants will dive within their deepest certified depth, with coaching adapted to individual experience and comfort.</p>
<h3>Prerequisites</h3>
<ul>
<li>
<p>Certified freedivers from any recognized agency </p>
</li>
<li>
<p>Renssant Freedive students who have participated in a Level 1 course or pool-only course and are working toward full certification</p>
<h3>What’s Included</h3>
</li>
<li>
<p>Three days of personalized freediving coaching </p>
</li>
<li>
<p>Line diving sessions focused on comfort, technique, and safety </p>
</li>
<li>
<p>Breathwork, stretching, and relaxation practices </p>
</li>
<li>
<p>Video review and group discussion </p>
</li>
<li>
<p>Reef and blue water diving at multiple Kona sites </p>
</li>
<li>
<p>Offshore freedive expedition with See Through Sea </p>
</li>
<li>
<p>Boat fees included </p>
</li>
<li>
<p>Small group size for individualized attention </p>
</li>
</ul>
<p><strong><em>Travel, lodging, meals, and gear rentals are not included.</em></strong></p>',
'optionaldescription_teaser' => '<h3>Explore Between Breath</h3>
<p><em>3-Day Intensive Freedive Training and Exploration</em><br>
<strong>April 3-5 | Kona, Hawai‘i</strong><br>
<strong>Limited to 6 participants</strong> </p>
<p>Join us for three days of intensive freedive training and exploration in the warm, clear waters of </p>...'
),
'ClassicClasslevel' => array(
'idclasslevel' => '10',
'name' => 'Practice Sessions and Trips',
'idclasstype' => '2',
'orden' => '99',
'AllowCertification' => '0',
'code' => 'PST',
'status' => '1',
'allowcustomname' => '1',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '1',
'instructorrating' => '',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'ClassicInstructor' => array(
'idinstructor' => '275',
'expMMBalert' => '2',
'FII_id' => '275',
'name' => 'Ryan Strong',
'firstname' => 'Ryan',
'lastname' => 'Strong',
'email' => 'ryan@freediveseattle.com',
'idstatus' => '1',
'address' => '5021 Bowen PL S.',
'apt' => '',
'city' => 'Seattle',
'state' => 'WA',
'idcountry' => '1',
'zipcode' => '98118',
'phone' => '206-681-0897',
'gender' => '0',
'website' => 'https://freediveseattle.com/',
'notes' => 'auto created',
'created' => '2023-04-12 17:34:25',
'dob' => '1979-02-21 00:00:00',
'certifiedsince' => '0000-00-00 00:00:00',
'idlogin' => '304',
'expOXY' => '2027-02-15 00:00:00',
'expCPR' => '2027-02-15 00:00:00',
'expINS' => '2026-05-02 00:00:00',
'expFAI' => '2027-02-15 00:00:00',
'expOXYalert' => '0',
'expCPRalert' => '0',
'expFAIalert' => '0',
'expINSalert' => '0',
'idattachment_exp1' => '4838',
'idattachment_exp2' => '4788',
'idattachment_exp3' => '4794',
'idattachment_exp4' => '4793',
'expMembership' => '2026-07-31 00:00:00',
'idmembershiplevel' => '1',
'idmembershipstatus' => '1',
'faceshot' => '1',
'faceshot2' => '1',
'paypalemail' => 'strongrr@gmail.com',
'googlemerchant' => '',
'bio' => 'Hello, I am Ryan Strong, a Seattle-based outdoor enthusiast and freediving instructor. While I've spent over a decade working in the outdoor climbing and skiing industry, my true passion lies in exploring the oceans of the world. Since taking my first freediving course on the Island of Hawai’i, I've been obsessed with the meditative, beautiful experience of holding my breath and diving into the depths.
As a certified FII Level 1 Freediver instructor, I'm thrilled to offer courses in the Seattle area starting this summer 2023. My goal is to share the transformative power of freediving with others and to help students develop the skills and confidence needed to safely explore the underwater world.
I've had the privilege of instructing and guiding individuals through the rugged terrain of the PNW, and have witnessed firsthand the transformative power of outdoor experiences. While my roots started in the mountains, I’ve found that freediving offers a unique opportunity to connect with oneself and the natural world. The feeling of being part of the ocean, enveloped in tranquility, is truly one-of-a-kind.
When I'm not teaching or diving, I'm a proud parent to an amazing three-year-old and a glass artist who teaches weekly beginning glass blowing classes at Pratt Fine Art Center. I believe that a life lived in pursuit of passion and exploration is a life well-lived, and I look forward to sharing my passion for freediving and exploring the underwater world.
Join me in the Pacific Northwest for an unforgettable freediving experience. Let's dive together soon!
',
'courseterms' => '### Renssant Freedive
**Cancellation & Transfer Policy**
### General Terms
By registering for any course, coaching session, or retreat with Renssant Freedive, you agree to the following terms regarding cancellations, transfers, and refunds. These policies are designed to ensure fairness while protecting the operational costs and planning involved in offering high quality freediving education.
### Deposits
- All deposits are non-refundable, unless the course does not run due to low enrollment.
- Deposit amounts vary by offering and are listed clearly at registration
- Some coaching sessions may require full prepayment instead of a deposit to reserve your spot
### Student Cancellations and Transfers
If you need to cancel or transfer your enrollment, the following terms apply:
**31 or more days before course start**
- No cancellation fee
- One time transfer to a future course on a space available basis
**22-30 days before course start**
- 15 percent of full tuition retained
- Transfer to a future course on a space available basis
**8-21 days before course start**
- 25 percent of full tuition retained
- Transfer only, no refunds
**48 hours to 7 days before course start**
- 50 percent of full tuition retained
- Transfer only, no refunds
**Less than 48 hours before course start**
- No transfer or refund
- Forfeiture of full tuition
Additional terms:
- Transfers are limited to one per registration
- Additional changes may be treated as cancellations and subject to standard fees
- Cancellation fees are calculated based on the full tuition cost, regardless of any discounts or promotions
### Gear Rentals, Boat Fees, Private Training, Events, and Trips
All payments toward equipment rentals, boat fees, private sessions, events, and retreats are non-refundable and non-transferable.
### Instructor Cancellations and Course Adjustments
Renssant Freedive makes every effort to run courses as scheduled. However, freediving is subject to environmental and logistical constraints beyond our control.
Courses may be postponed or adjusted due to the following:
**Weather or environmental conditions**
- If conditions are deemed unsafe by the instructor or boat captain, open water sessions may be rescheduled
- Make up sessions may be completed during a future course on a space available basis
- No additional instructional fee will be charged
- Standard boat fees still apply
**Instructor illness or emergency**
- In rare cases where the instructor must cancel due to illness or emergency, students may choose between a full refund or a transfer to a future course
**Low enrollment**
- To maintain safety and teaching quality, courses may be postponed if fewer than three students are enrolled
- Students will be offered a transfer to a future course
- Refunds are not available
### Missed Sessions and No Shows
- Missing a course without prior communication is considered a no show
- No refunds or transfers will be provided for no shows
- If you attend part of a course but cannot complete it due to illness or emergency, we may offer a one time opportunity to rejoin a future session on a space available basis within twelve months
### How to Request a Transfer or Cancellation
To request a transfer or cancellation, please email **ryan@renssantfreedive.com** with your full name, course dates, and reason for the change.
Requests must be submitted by **11:59 PM on the last eligible day of the applicable notice window**.
### Substitutions
- You may transfer your registration to another person at no additional cost, provided they meet course prerequisites
- Substitution requests must be submitted at least 72 hours before the course start
- If your spot is filled by another paying student, your fee may be transferred or refunded according to the applicable cancellation window
### Force Majeure
Renssant Freedive is not liable for cancellations, delays, or rescheduling due to circumstances beyond our control, including but not limited to natural disasters, pandemics, government restrictions, or acts of God.
In such cases, we will make every reasonable effort to reschedule your course or transfer your enrollment to a future offering.
### Refund Method and Timing
If a refund is approved:
- Refunds will be issued using the original method of payment
- Refunds will be processed within 7-10 business days of approval
- Refunds will not be provided in cash
- Refund timing may be subject to third party transaction processing times',
'idregionalbranch' => '1',
'paypalemail2' => '',
'paypalemail3' => '',
'teachlevelmaxID' => '0',
'urlname' => 'ryan.strong',
'idstudent' => '19457',
'accesshashAPI' => ''
),
'ClassicLocation' => array(
'idlocation' => '1775',
'name' => 'Big Island Hawai'i',
'address' => '',
'zipcode' => '',
'city' => 'Kona',
'state' => 'HI',
'idcountry' => '1',
'phones' => '206-681-0897',
'geolocLat' => '19.6419129',
'geoloclong' => '-155.9962255',
'notes' => '',
'showonlocator' => '1',
'lasttimeused' => '2026-01-04 02:30:08',
'timesused' => '16',
'priority' => '0',
'ClassicCountry' => array(
[maximum depth reached]
)
),
'ClassicFacility' => array(
'idfacility' => null,
'FII_id' => null,
'name' => null,
'email' => null,
'idstatus' => null,
'address' => null,
'apt' => null,
'city' => null,
'zipcode' => null,
'state' => null,
'idcountry' => null,
'phone' => null,
'website' => null,
'notes' => null,
'created' => null,
'idlogin' => null,
'courseterms' => null,
'idregionalbranch' => null,
'idlocation' => null,
'geolocLat' => null,
'geoloclong' => null,
'paypalemail' => null,
'paypalemail2' => null,
'paypalemail3' => null,
'cnfname' => null,
'cnlname' => null,
'urlname' => null,
'info' => null,
'faceshot' => null,
'faceshot2' => null,
'idmembershiplevel' => null,
'expMembership' => null,
'accesshashAPI' => null,
'accessIP' => null
),
'ClassicCourseStatus' => array(
'idstatus' => '1',
'name' => 'Active'
),
'Language_l' => array(
'idlanguage' => '1',
'name' => 'ENGLISH',
'orden' => '1',
'flagurl' => '/app/images/flags/gb.png',
'code' => 'EN'
),
'ClassicCurrency' => array(
'idcurrency' => '1',
'name' => 'US Dollar',
'symbol' => '$',
'code' => 'USD'
)
)
)
$speciality_instructor_types = array(
(int) 0 => 'SI-Basic Freediving Safety',
(int) 1 => 'Instructor Trainer',
(int) 3 => 'Waterman Survival Instructor',
(int) 5 => 'Monofin',
(int) 6 => 'SI-Advanced Freediving Safety',
(int) 7 => 'Spearfishing Instructor',
(int) 8 => 'SI-Freediving Photography'
)
$core_instructor_types = array(
(int) 0 => 'Level 1 Instructor',
(int) 2 => 'Level 2 Instructor',
(int) 3 => 'Level 3 Instructor',
(int) 4 => 'Junior Freediver Instructor'
)
$course_levels = array(
(int) 0 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '1',
'name' => 'Level 1 Freediver',
'idclasstype' => '1',
'orden' => '1',
'AllowCertification' => '1',
'code' => 'L1',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=1',
'notes' => 'The FII Level 1 course is an introduction to the FII education system, it is a 1.5 day course covering everything from safety & problem management, breathing techniques, & equipment selection to correct freediving methods for gradual depth progression. This course is ideal for scuba divers & spearfisherman wishing to master the basic freediving techniques of our system enabling you to confidently freedive to depths up to 66 feet/20 meters. We highly recommend taking the Level 1 Freediver course before proceeding on to the Level 2 course. ',
'minage' => '16',
'certificationseq' => '11814',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 1 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '2',
'name' => 'Level 2 Freediver',
'idclasstype' => '1',
'orden' => '3',
'AllowCertification' => '1',
'code' => 'L2',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=13',
'notes' => 'The FII Level 2 Freediver course runs over four days, its is perfect for spearfishermen and freediver's whom are already confident with breathhold activities, the use of freediving specific equipment and blue water diving. Throughout this course we will introduce you to your natural inborn aquatic abilities and teach you specific techniques to unlock them!',
'minage' => '16',
'certificationseq' => '1186',
'instructorrating' => 'I2',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '35'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 2 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '3',
'name' => 'Level 3 Freediver',
'idclasstype' => '1',
'orden' => '4',
'AllowCertification' => '1',
'code' => 'L3',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=14',
'notes' => 'The F.I.I. Level 3 course is suited to FII Level 2 graduates or equivalent, looking to expand their knowledge on training for freediving. Throughout the FII Level 3 course we show you how to change your physiology to become a better diver. This high intensity course leaves participants armed with the knowledge to attain personal goals by utilizing training techniques developed by World Champion Freediver & FII Director of Education, Martin Stepanek. It is truly the ultimate experience for the dedicated freediver.',
'minage' => '16',
'certificationseq' => '154',
'instructorrating' => 'I3',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '35'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 3 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '4',
'name' => 'Introduction to Monofin',
'idclasstype' => '2',
'orden' => '11',
'AllowCertification' => '1',
'code' => 'ITM',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=monofin',
'notes' => 'Not only is the monofin an energy efficient tool for freediving, but more and more people are selecting it for fitness. This is one of the most effective ways to tone up the torso and lower body, all while doing something enjoyable! Our unique 1 hour, compressed training program is your introduction to learn this rewarding sport. Beginning with correct equipment selection, we take you through the bio-mechanics of monofin technique and targeted stretching, before hitting the pool for your in-water technique development. With the unique combination of dry land exercises, pool development skills and video technique review, you’ll find this a rewarding start to the world of monofinning! Cost includes: tuition, course dvd & pool fees. ',
'minage' => '16',
'certificationseq' => '105',
'instructorrating' => 'SI-ITM',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 4 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '5',
'name' => 'Advanced Freediving Safety',
'idclasstype' => '2',
'orden' => '8',
'AllowCertification' => '1',
'code' => 'AFS',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=24',
'notes' => 'Interested in learning more advanced freediving safety procedures and precautions used and employed in freediving competitions and during freediving events? Would you like to become a freediving instructor, help to teach freediving or be a safety freediver? Or are you just comfortable with your freediving abilities and want to become safer? If any of these questions apply, then this is the right course for you. Class is a full day, with 1 x boat trip and you have to be certified as minimum Level 1 Freediver or equivalent. ',
'minage' => '16',
'certificationseq' => '323',
'instructorrating' => 'SI-AFS',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 5 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '6',
'name' => 'Assistant Instructor',
'idclasstype' => '3',
'orden' => '14',
'AllowCertification' => '1',
'code' => 'AI',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=22',
'notes' => 'To become an instructor you don’t have to finish all three recreational levels! You do however have to successfully pass the particular level you intend to teach, then you can enroll in our four day Assistant Instructor course and on passing this you'll be invited into our Instructor Exam. Topics covered throughout the Assistant Instructor course: FII Standards & Procedures; How to Utilize the FII Teaching Scripts; Procedures for Conducting Confined Water sessions; Procedures for Conducting Open Water sessions; Mastering all Skills to Demonstration Level. ',
'minage' => '18',
'certificationseq' => '276',
'instructorrating' => 'IT',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 6 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '7',
'name' => 'Freediving Instructor Exam',
'idclasstype' => '3',
'orden' => '15',
'AllowCertification' => '1',
'code' => 'FI',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=23',
'notes' => 'Teach the FII standardized freediving educational system with confidence and pride that you are offering your students the highest level of freediving training available worldwide. FII offers its instructors full freediving specific insurance, comprehensive instructor manuals, teaching scripts, student manuals and learning aids. Become an FII Instructor and offer independent freediving course worldwide',
'minage' => '18',
'certificationseq' => '359',
'instructorrating' => 'IT',
'allowmultiplecc' => '1',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 7 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '8',
'name' => 'Junior Freediver',
'idclasstype' => '2',
'orden' => '9',
'AllowCertification' => '1',
'code' => 'JFD',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=29',
'notes' => 'This 2 day program offers junior freedivers the opportunity to master the fundamentals of the FII freediving techniques in a relaxed, fun, safe environment. ',
'minage' => '12',
'certificationseq' => '203',
'instructorrating' => 'SI-JFD',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 8 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '9',
'name' => 'Basic Freediving Safety',
'idclasstype' => '2',
'orden' => '7',
'AllowCertification' => '1',
'code' => 'BFS',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => 'http://www.fiiheadquarters.com/index.php?stranka=category&c=28',
'notes' => 'The information in this course may save your buddy, husband, son, or daughter’s life. This course should be looked upon as a minimum requirement for everyone participating in any form of freediving activities. ',
'minage' => '12',
'certificationseq' => '383',
'instructorrating' => 'SI-BFS',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '20'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
),
(int) 3 => array(
[maximum depth reached]
)
)
),
(int) 9 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '10',
'name' => 'Practice Sessions and Trips',
'idclasstype' => '2',
'orden' => '99',
'AllowCertification' => '0',
'code' => 'PST',
'status' => '1',
'allowcustomname' => '1',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '1',
'instructorrating' => '',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '0',
'manual_price' => '0'
),
'LevelInfo' => array()
),
(int) 10 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '11',
'name' => 'Waterman Survival',
'idclasstype' => '2',
'orden' => '12',
'AllowCertification' => '1',
'code' => 'WSC',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '12',
'certificationseq' => '237',
'instructorrating' => 'SI-WSC',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '20'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 11 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '12',
'name' => 'Waterman Survival Extended',
'idclasstype' => '2',
'orden' => '13',
'AllowCertification' => '1',
'code' => 'WSE',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '374',
'instructorrating' => 'SI-WSC',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
),
(int) 1 => array(
[maximum depth reached]
),
(int) 2 => array(
[maximum depth reached]
)
)
),
(int) 12 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '14',
'name' => 'Level 1 Freediver POOL ONLY',
'idclasstype' => '1',
'orden' => '2',
'AllowCertification' => '1',
'code' => 'L1P',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '1831',
'instructorrating' => 'I1',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '1',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
)
)
),
(int) 13 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '15',
'name' => 'Spearfishing',
'idclasstype' => '2',
'orden' => '5',
'AllowCertification' => '1',
'code' => 'SPF',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '16',
'certificationseq' => '247',
'instructorrating' => 'SI-SPF',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
)
)
),
(int) 14 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '16',
'name' => 'Junior Freediver POOL ONLY',
'idclasstype' => '1',
'orden' => '10',
'AllowCertification' => '1',
'code' => 'JFP',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '12',
'certificationseq' => '23',
'instructorrating' => 'SI-JFD',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '25',
'manual_avail' => '1',
'manual_price' => '25'
),
'LevelInfo' => array()
),
(int) 15 => array(
'ClassicClasslevel' => array(
'idclasslevel' => '17',
'name' => 'Freediving Photography',
'idclasstype' => '2',
'orden' => '6',
'AllowCertification' => '1',
'code' => 'FPH',
'status' => '1',
'allowcustomname' => '0',
'moreinfoURL' => '',
'notes' => '',
'minage' => '12',
'certificationseq' => '11',
'instructorrating' => 'SI-FPH',
'allowmultiplecc' => '0',
'showonlocator' => '1',
'idparent' => '0',
'ebook_avail' => '0',
'ebook_price' => '27',
'manual_avail' => '1',
'manual_price' => '39'
),
'LevelInfo' => array(
(int) 0 => array(
[maximum depth reached]
)
)
)
)
$radius = ''
$location_str = null
$searchtype = null
$location = null
$level = null
$instructor = ''
$order = 'sort_fee'
$content_for_layout = '<main class="main main-search-section" style="background-color: #f7f7f9;">
<div class="section section-map-view section-other" style="background-color: #f7f7f9;">
<div class="d-block d-md-none">
<div class="search-box search-box--expand">
<input class="search-box__input search-box__input--sm search-box__input--prepand-icon" type="text" readonly placeholder="Search" value="" data-lvl="" data-location="" data-instuctor="">
<button class="search-box__btn search-box__btn--prepand search-box__btn--sm search-box__btn--opacity-hover" aria-label="start search"><img class="search-box__icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-search-secondary" alt="Magnifier"></button>
<div class="search-box__content">
<button class="search-box__close" aria-label="Close" type="button"> </button>
<div class="tabs-list">
<button class="tabs-list__item tabs-list__item--active tabs-list__item--mobile-friendly tabs-list__item--search-box" data-target="tab-modal-verify-search-instructor" type="button"> <span class="d-none d-md-inline-block">Find a </span> Course </button>
<button class="tabs-list__item tabs-list__item--mobile-friendly tabs-list__item--search-box" data-target="tab-modal-verify-search-freediver" type="button"> <span class="d-none d-md-inline-block">Find an </span> Instructor </button>
</div>
<div class="tabs-content-list">
<div class="tabs-content-list__item tabs-content-list__item--box tabs-content-list__item--active" id="tab-modal-verify-search-instructor">
<form name="form-course" method="get" action="https://marin.freedivinginstructors.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" required placeholder="Select Course Level" type="text" name="level" value="">
</label>
<div class="form-control search-box__control form-control--select select_course_small"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_course_small">
<input class="form-control__select-input" placeholder="Enter city name" name="location_str" value=>
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder="Name" name="instructor" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_course_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
<div class="tabs-content-list__item tabs-content-list__item--box" id="tab-modal-verify-search-freediver">
<form method="get" action="https://marin.freedivinginstructors.com/fii/search">
<label class="form-control search-box__control" data-micromodal-trigger="modal-professional-rating"><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" required placeholder="Select Rating" type="text" name="instructor_types" value="">
</label>
<div class="form-control search-box__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor_small">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control search-box__control"><span class="form-control__caption">Instructor Name <span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary search-box__apply" type="submit" id="search_instructor_small_submit">Apply Filters</button>
<input name="radius" hidden="true">
</form>
</div>
</div>
</div>
</div>
</div>
<div class="container accordion-wrap">
<div class="accordion">
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find a Course</p>
</div>
<form name="form-course" class="accordion__content" method="get" action="https://marin.freedivinginstructors.com/fii/search" >
<label class="form-control accordion__control" data-micromodal-trigger="modal-select-course-lvl"><span class="form-control__caption">Course Level</span>
<input class="form-control__input js-input-course-lvl js-input-lvl readonly" name="level" required placeholder="Select Course Level" type="text" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left: 3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select" >
<input name="location_str" class="form-control__select-input" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" name="instructor" placeholder="Name" type="text" value="">
</label>
<input name="searchtype" value="type_course" hidden="true">
<button type="submit" class="btn btn--primary accordion__apply-btn search_submit_course" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div>
<div class="accordion__item accordion__item--with-content">
<div class="accordion__header">
<p class="accordion__title">Find an Instructor</p>
</div>
<form class="accordion__content" action="https://marin.freedivinginstructors.com/fii/search" method="get">
<label class="form-control accordion__control" data-micromodal-trigger="modal-professional-rating" ><span class="form-control__caption">Professional Rating</span>
<input class="form-control__input js-input-professional-rating js-input-lvl readonly" placeholder="Select Rating" type="text" required name="instructor_types" value="">
</label>
<div class="form-control accordion__control form-control--select"><span class="form-control__caption">Location<span style="margin-left:3px;" class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-location readonly" placeholder="Enter city name and choose radius." type="text" value="">
<div class="form-control__select-content" id="search_radius_select_instructor">
<input class="form-control__select-input" name="location_str" placeholder="Enter city name" value="">
<input name="location" value="" type="hidden">
<button class="form-control__select-item" >100</button>
<button class="form-control__select-item">500</button>
<button class="form-control__select-item">1000</button>
<button class="form-control__select-item">2000</button><span class="form-control__select-caption">+ Radius, mi</span>
<div class="form-control__select-wrap">
<button class="form-control__select-apply btn btn--primary">Confirm</button>
</div>
</div>
</div>
<label class="form-control accordion__control"><span class="form-control__caption">Instructor Name <span class="form-control__caption-detail">optional</span></span>
<input class="form-control__input js-input-instructor" placeholder=" Name" type="text" name="instructor" value="">
<input name="searchtype" value="type_instructor" type="hidden">
</label>
<input name="searchtype" value="type_instructor" hidden="true">
<button class="btn btn--primary accordion__apply-btn" id="search_instructor_submit" type="submit" aria-label="Apply filter"></button>
<input name="radius" hidden="true">
</form>
</div><!--<a class="accordion__item accordion__item--link" href="/fii/online_courses">
<div class="accordion__header">
<p class="accordion__title">Learn Online</p>
</div></a>-->
</div>
</div>
<pre class="cake-error"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cb2cba06-trace').style.display = (document.getElementById('cakeErr69bb1cb2cba06-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="cakeErr69bb1cb2cba06-trace" class="cake-stack-trace" style="display: none;"><a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cb2cba06-code').style.display = (document.getElementById('cakeErr69bb1cb2cba06-code').style.display == 'none' ? '' : 'none')">Code</a> <a href="javascript:void(0);" onclick="document.getElementById('cakeErr69bb1cb2cba06-context').style.display = (document.getElementById('cakeErr69bb1cb2cba06-context').style.display == 'none' ? '' : 'none')">Context</a><pre id="cakeErr69bb1cb2cba06-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="cakeErr69bb1cb2cba06-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/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.ini/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_date">ClassicCourse Ini</a><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicClasslevel.name/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_name">ClassicClasslevel Name</a><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:asc/callto%5B0%5D:/callto%5B1%5D:" id="sort_fee" class="desc">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">
Nov 28, 2026 - Dec 12, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12744">12744 - Level 2 Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">BALI ocean kurz 2</p>
<p class="card__text">
BALI INDONESIA, QH2F+6FM, Kubu, Karangasem Regency, Bali
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/73" >
Martin Chenicek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+420-777-266-305">
+420 777 266 305 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+420-777-266-305">
+420 777 266 305 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: 9900 CZK </p>
<p class="font-weight-bold text-color card__text">
Deposit: 4500 CZK
</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('12744');" >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/12970">12970 - Level 1 Freediver POOL ONLY</a></p>
<p class="font-weight-bold text-title-color card__text">Chtěli bychom vas s Mirkou pozvat na dvoudenni bazenovy kurz do Prahy. Budeme se ucit mnoho o fyziologii, technice ponoru, spravnem rozdychani, vybaveni pro freediving a probereme i bezpečnost, a pripravu na velke hloubky. To vse v Praze, v hlubokem 8mi metrovem bazenu v Čestlicich. Veskere informace vam zasleme na email. Dekujeme</p>
<p class="card__text">
Bazénový kurz Praha - Čestlice, Dobřejovice, Czech
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/73" >
Martin Chenicek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+420-777-266-305">
+420 777 266 305 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+420-777-266-305">
+420 777 266 305 </a>
</div>
</p>
<p class="card__text">
Language: Czech
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: 4900 CZK </p>
<p class="font-weight-bold text-color card__text">
Deposit: 2900 CZK
</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('12970');" >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 09, 2026 - May 10, 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/13027">13027 - Level 1 Freediver POOL ONLY</a></p>
<p class="card__text">
Main, Ostrava, Czech Republic
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/1" >
David Cani </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://+420-777-250-714">
+420-777-250-714 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:+420-777-250-714">
+420-777-250-714 </a>
</div>
</p>
<p class="card__text">
Language: Czech
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: 4900 CZK </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('13027');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 25, 2026 - Mar 26, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/13025">13025 - Junior Freediver</a></p>
<p class="font-weight-bold text-title-color card__text">PRIVATE JUNIOR COURSE - Erin & Family</p>
<p class="card__text">
Key West Location, Key West, Florida
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/241" >
Tracy Wollschlager </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://954-559-4774">
954-559-4774 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:954-559-4774">
954-559-4774 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 4000 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 4000 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('13025');" >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">
Jul 03, 2026 - Jul 10, 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/12843">12843 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">FII Maldives Freediving Camp 2026. Join us for a week of fun and adventure! Please contact Errol Putigna or Fawaz Alnuaimi for more details and payment information. To hold a spot in the camp a $1000 USD will be required. </p>
<p class="card__text">
Main, Malé,
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/18" >
Errol Putigna </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://5613714078">
5613714078 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:5613714078">
5613714078 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 3995 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('12843');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Mar 19, 2026 - Mar 22, 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/12956">12956 - Waterman Survival Extended</a></p>
<p class="card__text">
Taino Divers, Rincon, Puerto Rico
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/49" >
Joe Sheridan </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://910-352-6371">
910-352-6371 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:910-352-6371">
910-352-6371 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 1595 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('12956');" >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">
Oct 17, 2026 - Oct 24, 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/12991">12991 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">FII Kona Freediving Camp 2026</p>
<p class="card__text">
Main, Kailua-Kona, Hawaii
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/24" >
Martin Stepanek </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-212-0012">
808-212-0012 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-212-0012">
808-212-0012 </a>
</div>
</p>
<p class="card__text">
FII Facility: <a href="/fii/courses_by_facility/19">Kona Freedivers</a>
<br>
<div style="display:flex;">
<span>Tel:</span><a style="margin-left: 3px;" class="desktop-tel" href="callto://808-464-6584">
808-464-6584 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-464-6584">
808-464-6584 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 975 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 275 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('12991');" >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 19, 2026 - Jun 22, 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/12942">12942 - Level 3 Freediver</a></p>
<p class="card__text">
Hypoxic Hunters, Fort Lauderdale, FL
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/29" >
Daniel Koval </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </a>
</div>
</p>
<p class="card__text">
<a href="/fii/courses_by_facility/24">Deep Freediving Instruction</a>
<br>
<div style="display:flex;">
<span>Tel: </span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://808-436-7046">
808-436-7046 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:808-436-7046">
808-436-7046 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 895 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 495 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('12942');" >register</a>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
</script>
<div class="col-md-4">
<div class="card card--mb-row">
<div class="card__meta">
<span class="card__meta-item">
Apr 03, 2026 - Apr 05, 2026 </span>
<div class="card__meta-item card__meta-item--icon card__meta-item--icon-always hint--html hint--bottom"><img class="card__meta-icon" src="/app/webroot/images/newDesign/sprites/main.stack.svg#image-human-group-meta" alt="Group">
<div class="hint__content">
<p class="hint__title">Fully In-Person</p>
<div class="hint__text">
<p>Students must be available to take both the theoretical and practical portions of this course in-person with a certified FII instructor.</p>
</div>
</div>
</div>
</div>
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text"><a href="/fii/course_detail/12931">12931 - Practice Sessions and Trips</a></p>
<p class="font-weight-bold text-title-color card__text">Explore Between Breath</p>
<p class="card__text">
Big Island Hawai'i, Kona, HI
</p>
<p class="card__text">
Instructor: <a href="https://marin.freedivinginstructors.com/fii/courses_by/275" >
Ryan Strong </a>
<br>
<div style="display: flex;">
<span>Tel:</span> <a style="margin-left: 3px;" class="desktop-tel" href="callto://206-681-0897">
206-681-0897 </a>
<a style="margin-left: 3px;" class="mobile-tel" href="tel:206-681-0897">
206-681-0897 </a>
</div>
</p>
<p class="card__text">
Language: English
</p>
<p class="font-weight-bold text-color card__text">
Tuition Fee: $ 875 USD </p>
<p class="font-weight-bold text-color card__text">
Deposit: $ 400 USD
</p>
</div>
<div class="card__actions">
<div class="card__btns">
<a
data-micromodal-trigger="modal-register-on-course"
href="#"
class="btn btn--link btn--link-primary"
onclick="javascript:registeroncourse('12931');" >register</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="text-center">
<div class="pagination pagination--mb">
<div class="pagination__list">
<!--https://book.cakephp.org/2/en/core-libraries/helpers/paginator.html#PaginatorHelper> -->
<a class="pagination__arr pagination__arr--left"></a><span class="pagination__item pagination__item--active pagination__item">1</span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:2">2</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:3">3</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:4">4</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:5">5</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:6">6</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:7">7</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:8">8</a></span><span class="pagination__item"><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:9">9</a></span><a href="/fii/search/%28808%29-896-0296/4077652821/808-212-0012/sort:ClassicCourse.tuitionfee/direction:desc/callto%5B0%5D:/callto%5B1%5D:/page:2" 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://marin.freedivinginstructors.com/fii/courses_by/${strurl}"> ${data[i].namehtml}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${phone}"> ${data[i].phone}</a></p>
<p class="card__text">${email}</p>`
strcontent += `<p class='card__text'>${instructorAddress}</p>`;
if (data[i].nrocourses > 0) {
strcontent += "<p class='card__text'><a href='/fii/courses_by/"+ strurl + "'>All Courses List (" + data[i].nrocourses +")</a></p> ";
}
if (data[i].nrocoursesloc > 0) {
strcontent += "[ "+ data[i].nrocoursesloc+" Courses in this Location ]" ;
}else {
strcontent += "<p class='card__text'><a href='mailto:"+data[i].email+"?subject=I would like to request a freediving course on your location "+data[i].lname+"'>Request a course on this location</a></p>" ;
}
strcontent += `</div></div>`;
point.infowindow = new google.maps.InfoWindow({
content: strcontent
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
//alert(pp.infowindow);
if (pp.infowindow != undefined) { pp.infowindow.close();}
this.infowindow.open(GMmap, this);
pp = this ;
});
points.push(point);
}
},
"complete": function() {
$.ajax({
"type": "GET",
"url": "/locator/courses",
"dataType": "json",
"success": function(data) {
for(i = 0; i < data.length; i++) {
var occupied_by_facility = FACILITIES.find(function(facility) {
return Math.abs(facility.lat - data[i].geolocLat) <= 0.01 && Math.abs(facility.lng - data[i].geolocLong) <= 0.01;
});
if (occupied_by_facility) {
continue;
}
var allCourses = INSTRUCTOR_COURSES[`${data[i].iname}`];
if (allCourses) {
allCourses = '(' + allCourses + ')';
} else {
allCourses = ''
}
var icon="/app/webroot/images/newDesign/icons/map-marker-primary.svg";
var point = new google.maps.Marker({
"map": GMmap,
"icon":icon ,
"position": new google.maps.LatLng(data[i].geolocLat, data[i].geolocLong)
});
var imgUrl = ''
if (data[i].faceshot2 == 1) {
imgUrl = `http://extranet.freedivinginstructors.com/app/images/faceshots/FS2I${data[i].idinstructor}.jpg`;
}
var locationInfo = `${data[i].location_name}, ${data[i].city}, ${data[i].state}`;
var detailUrl = '';
detailUrl = data[i].idinstructor
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII professional #${data[i].FII_id}</p>
<img width=75 height=84 src="${imgUrl}">
<p class="font-weight-bold text-title-color card__text"><a href="https://marin.freedivinginstructors.com/fii/courses_by/${detailUrl}"> ${data[i].iname}</a></p>
<p class="card__text"><span>Phone</span>: <a class="mobile-tel" href="tel:${data[i].phone}"> ${data[i].phone}</a><a class="desktop-tel" href="callto://${data[i].phone}"> ${data[i].phone}</a></p>
<p class="card__text">Email: <a href="mailto:${data[i].email}">${data[i].email}</a></p>
<p class="card__text">${locationInfo}</p>
<p class='card__text'><a href="/fii/courses_by/${detailUrl}">All Courses List ${allCourses}</a></p>
[${data[i].number_of_courses} courses in this location]
</div>
</div>
</div>
`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
})
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
})
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9998);
points.push(point);
};
}
});
}
});
// Load facilities
var addFacilityLocation = function(facility) {
var lat = facility.geolocLat;
var lng = facility.geoloclong;
var address = facility.address + (facility.city ? ", " + facility.city : "") + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
if(!(lat && lng)) {
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
"address": address,
},
"success": function(addr) {
if(addr && addr.status && addr.status == 'OK' && addr.results && addr.results[0]) {
lat = addr.results[0].geometry.location.lat;
lng = addr.results[0].geometry.location.lng;
addFacility(facility, lat, lng);
}
}
});
}
else {
addFacility(facility, lat, lng);
}
}
var addFacility = function(facility, lat, lng) {
if (facility && (facility.idmembershiplevel == 5 || facility.name.toLowerCase() == 'iqsub')) {
var point = new google.maps.Marker({
"map": GMmap,
"icon": "https://marin.freedivinginstructors.com/img/frontend/content/fii_icon.png",
"position": new google.maps.LatLng(lat, lng)
});
var email = "";
if (facility.email) {
email = `<p class="card__text">Email: <a href="mailto:${facility.email}">${facility.email}</a></p>`;
}
var address = facility.address + (facility.state ? ", " + facility.state : "") + ", " + facility.country;
var phone = facility.phone.split(' ').join('-');
// Number of courses available at the facility
var coursesInfo = facility.nrocoursesloc > 0
? `<p class="card__text"><a href="https://marin.freedivinginstructors.com/fii/courses_by_facility/${facility.idfacility}">${facility.nrocoursesloc} upcoming courses</a></p>`
: "<p class='card__text'>No courses currently available</p>";
point.infowindow = new google.maps.InfoWindow({
content: `
<div class="card card--info-window">
<div class="card__body">
<div class="card__content">
<p class="font-weight-bold text-placeholder-color card__text">FII FACILITY #${facility.FII_id}</p>
<p class="font-weight-bold text-placeholder-color card__text"><a href="https://marin.freedivinginstructors.com/fii/courses_by_facility/${facility.idfacility}">${facility.name}</a></p>
<p class="card__text">Phone: <a class="mobile-tel" href="tel:${phone}">${facility.phone}</a>
<a class="desktop-tel" href="callto://${phone}">${facility.phone}</a></p>
${email}
<p class="card__text">${address}</p>
${coursesInfo}
</div>
</div>
</div>`
});
google.maps.event.addListener(point, 'click', function() {
if (pointsFacilities && pointsFacilities.length > 0) {
pointsFacilities.forEach(function(e) {
e.infowindow.close();
});
}
if (points && points.length > 0) {
points.forEach(function(e) {
e.infowindow.close();
});
}
this.infowindow.open(GMmap, this);
});
point.setZIndex(9999);
if (pointsFacilities) pointsFacilities.push(point);
}
};
$.ajax({
"type": "GET",
"url": "/locator/facilities",
"dataType": "json",
"success": function(data) {
for(var i = 0; i < data.length; i++) {
var facility = data[i];
addFacilityLocation(data[i]);
}
}
});
}
}
init_map();
function HtmlEncode(s)
{
var el = document.createElement("div");
el.innerText = el.textContent = s;
s = el.innerHTML;
return s;
}
function stringDateMapper(date) {
var months = {
01: 'Jan',
02: 'Feb',
03: 'Mar',
04: 'Apr',
05: 'May',
06: 'Jun',
07: 'Jul',
08: 'Aug',
09: 'Sep',
10: 'Oct',
11: 'Nov',
12: 'Dec'
}
var removeYear = date.slice(5)
var removeTimestamp = removeYear.replace('01:00:00', '');
var intoArray = removeTimestamp.split('-');
return `${months[Number(intoArray[0])]} ${intoArray[1]}`;
}
var fullscreen = false;
document.onfullscreenchange = function(event) {
fullscreen = !fullscreen;
if (!fullscreen && $( window ).width() < 1200) {
$('.row-map-view__toggle.row-map-view__toggle--to-list-view').click();
}
}
</script>
<!-- <script defer src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDHS8cBjXUwNpyPHDiwTkXniVmeReTGr38&language=en&callback=initMapMainMapSearch"></script> -->
<div class="modal micromodal-slide" id="modal-select-course-lvl" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-select-course-lvl-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-select-course-lvl-title">Select Course Level</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-course-lvl">
<button class="course-list__item course-item course-item--single js-course-item-select">All Courses</button>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-course-item-select">Level 1 Freediver</button>
<button class="course-item__name js-course-item-select">Level 2 Freediver</button>
<button class="course-item__name js-course-item-select">Level 3 Freediver</button>
<button class="course-item__name js-course-item-select">Junior Freediver</button>
<button class="course-item__name js-course-item-select">Level 1 Freediver POOL ONLY</button>
<button class="course-item__name js-course-item-select">Junior Freediver POOL ONLY</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-course-item-select">Introduction to Monofin</button>
<button class="course-item__name js-course-item-select">Advanced Freediving Safety</button>
<button class="course-item__name js-course-item-select">Basic Freediving Safety</button>
<button class="course-item__name js-course-item-select">Waterman Survival</button>
<button class="course-item__name js-course-item-select">Waterman Survival Extended</button>
<button class="course-item__name js-course-item-select">Spearfishing</button>
<button class="course-item__name js-course-item-select">Freediving Photography</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/professional.png">
<div class="course-item__content">
<p class="course-item__type">Professional Courses</p>
<button class="course-item__name js-course-item-select">Assistant Instructor</button>
<button class="course-item__name js-course-item-select">Freediving Instructor Exam</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-course-item-select">Practice Sessions and Trips</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal micromodal-slide" id="modal-professional-rating" aria-hidden="true">
<div class="modal__overlay" tabindex="-1" data-micromodal-close="">
<div class="modal__container modal__container--sm bg-white" role="dialog" aria-modal="true" aria-labelledby="modal-professional-rating-title">
<button class="modal__close" aria-label="Close modal" data-micromodal-close=""></button>
<div class="modal__header modal__header--desk-hidden">
<p class="modal__title" id="modal-professional-rating-title">Select Professional Rating</p>
</div>
<div class="modal__content">
<div class="modal__content-in">
<div class="course-list" data-target=".js-input-professional-rating">
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="our community" src="/app/webroot/images/newDesign/course-select/core.png">
<div class="course-item__content">
<p class="course-item__type">Core Courses</p>
<button class="course-item__name js-professional-rating">Level 1 Instructor</button>
<button class="course-item__name js-professional-rating">Level 2 Instructor</button>
<button class="course-item__name js-professional-rating">Level 3 Instructor</button>
<button class="course-item__name js-professional-rating">Junior Freediver Instructor</button>
</div>
</div>
<div class="course-list__item course-item"><img class="course-item__thumbnail" alt="two divers under water" src="/app/webroot/images/newDesign/course-select/speciality.png">
<div class="course-item__content">
<p class="course-item__type">Speciality Courses</p>
<button class="course-item__name js-professional-rating">SI-Basic Freediving Safety</button>
<button class="course-item__name js-professional-rating">Instructor Trainer</button>
<button class="course-item__name js-professional-rating">Waterman Survival Instructor</button>
<button class="course-item__name js-professional-rating">Monofin</button>
<button class="course-item__name js-professional-rating">SI-Advanced Freediving Safety</button>
<button class="course-item__name js-professional-rating">Spearfishing Instructor</button>
<button class="course-item__name js-professional-rating">SI-Freediving Photography</button>
</div>
</div>
<button class="course-list__item course-item course-item--single js-professional-rating">All Ratings</button>
</div>
</div>
</div>
</div>
</div>
</div>
</main>
<script>
var submitFindCourseBtn = document.querySelector('.search_submit_course');
if (submitFindCourseBtn) {
submitFindCourseBtn
.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtn = document.getElementById('search_instructor_submit');
if (submitFindInstructorBtn) {
submitFindInstructorBtn.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
});
}
var submitFindInstructorBtnSmall = document
.getElementById('search_instructor_small_submit')
if (submitFindInstructorBtnSmall) {
submitFindInstructorBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_instructor_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var submitFindCourseBtnSmall = document
.getElementById('search_course_small_submit');
if (submitFindCourseBtnSmall) {
submitFindCourseBtnSmall.addEventListener('click', function (e) {
var selectNodes = document.getElementById('search_radius_select_course_small').children;
var radiusValue = 500;
for(var i = 0; i <= selectNodes.length; i++) {
if(selectNodes[i] && selectNodes[i].classList.contains('form-control__select-item--active')) {
radiusValue = selectNodes[i].innerHTML;
break;
}
}
e.target.nextElementSibling.value = radiusValue;
})
}
var inputs = document.querySelectorAll(".form-control__input js-input-location readonly")
if (inputs.length){
inputs.forEach(function(input) {
input.addEventListener("change", function(e) {
if (e.target.textContent.contains("Invalid location")) {
setTimeout(() => {
e.target.value = "";
}, 500);
}
})
})
}
var inputs_locations = document.querySelectorAll(".form-control__select-input")
if (inputs_locations.length) {
inputs_locations.forEach(function(input) {
input.addEventListener("keypress", function(e) {
if (e.code === "Enter")
e.preventDefault();
})
})
}
</script>
<script type="text/javascript">
$('input[name=\"location_str\"]').change(function(e) {
e.preventDefault();
var me = $(this);
var val = me.val();
me.prop("disabled", true).val("Please wait...");
$("input[type=\"submit\"]").prop("disabled", true);
$.ajax({
"url": "https://maps.googleapis.com/maps/api/geocode/json",
"type": "GET",
"data": {
"address": val,
"sensor": false,
"key": "AIzaSyB0RQSp24aFr_o0FO0B0To96RBETu3XP7Q",
},
"dataType": "json",
"success": function(e) {
if(e && e.status && e.status == 'OK' && e.results
&& e.results[0]) {
me.next().val(
e.results[0].geometry.location.lat + "," +
e.results[0].geometry.location.lng
);
me.prop("disabled", false).val(e.results[0].formatted_address);
$("input[type=\"submit\"]").prop("disabled", false);
}
else {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
},
"error": function() {
setTimeout(function() {
me.prop("disabled", false).val("");
$("input[type=\"submit\"]").prop("disabled", false);
}, 3000);
}
});
e.preventDefault();
});
if($('input[name=\"location_str\"]').val() != '') $('input[name=\"location_str\"]').trigger('change');
</script>
<script>
document.addEventListener("DOMContentLoaded", () => {
const observer = new MutationObserver(() => {
const autoInput = document.querySelector('.js-input-location');
const realInput = document.querySelector('input[name="location_str"]');
const hiddenInput = document.querySelector('input[name="location"]');
if (!autoInput || !realInput || !hiddenInput) return;
const lat = autoInput.dataset.autoLat;
const lng = autoInput.dataset.autoLng;
if (!hiddenInput.value && lat && lng) {
const full = `${lat},${lng}`;
hiddenInput.value = full;
realInput.value = autoInput.value || realInput.value;
console.log("✅ Force-synced from geolocation:", full);
} else {
console.log("⏭️ Skipped sync —", {
lat,
lng,
hiddenVal: hiddenInput.value
});
}
});
const block = document.querySelector('.form-control--select');
if (block) {
observer.observe(block, { attributes: true, childList: true, subtree: true });
console.log("👁️ Watching location block for auto-fill...");
} else {
console.warn("❌ Geolocation block not found");
}
});
</script>
'
$scripts_for_layout = ''
$title_for_layout = 'Search Courses - Freediving Instructors International'include - APP/View/Layouts/fii.ctp, line 536
View::_evaluate() - CORE/Cake/View/View.php, line 971
View::_render() - CORE/Cake/View/View.php, line 933
View::renderLayout() - CORE/Cake/View/View.php, line 546
View::render() - CORE/Cake/View/View.php, line 481
Controller::render() - CORE/Cake/Controller/Controller.php, line 963
FiiController::search() - APP/Controller/FiiController.php, line 1249
ReflectionMethod::invokeArgs() - [internal], line ??
Controller::invokeAction() - CORE/Cake/Controller/Controller.php, line 491
Dispatcher::_invoke() - CORE/Cake/Routing/Dispatcher.php, line 193
Dispatcher::dispatch() - CORE/Cake/Routing/Dispatcher.php, line 167
[main] - APP/webroot/index.php, line 109
0"
data-intent="course"
onclick="fiiStartCourseLogin(null, this)">
Registered FII Student