Private attention
Your guide looks after only your group, allowing more time for questions, support and local insight.
strong{ display:block; margin:0 0 3px; color:inherit; font-size:17px; line-height:1.3; } #pgsd-short .pgsd-date__result > p{ margin:0; color:inherit; } #pgsd-short .pgsd-date__result a{ color:inherit; font-weight:800; text-decoration:underline; text-underline-offset:2px; } #pgsd-short .pgsd-date__continue{ display:inline-flex !important; align-items:center; justify-content:center; min-height:48px; margin:13px 0 0 !important; padding:10px 18px !important; border:2px solid #216e4b !important; border-radius:9px !important; background:#216e4b !important; box-shadow:none !important; color:#fff !important; cursor:pointer; font:inherit; font-size:15px !important; font-weight:800 !important; line-height:1.2 !important; text-align:center; text-decoration:none !important; } #pgsd-short .pgsd-date__continue:hover, #pgsd-short .pgsd-date__continue:focus{ border-color:#174f36 !important; background:#174f36 !important; } #pgsd-short .pgsd-date__continue:focus{ box-shadow:0 0 0 4px rgba(33,110,75,.18) !important; outline:0 !important; } #pgsd-short .pgsd-date__continue:disabled{ border-color:#6d8f7e !important; background:#6d8f7e !important; cursor:wait; } #pgsd-short .pgsd-date__result--checking{ border-color:#70b9d0; background:#eaf7fc; color:#064e68; } #pgsd-short .pgsd-date__result--unavailable{ border-color:#d7563e; background:#fff3ef; color:#842c1d; } #pgsd-short .pgsd-date__result--error{ border-color:#d09020; background:#fff9e9; color:#714800; } #pgsd-short .pgsd-date__result--success{ border-color:#2f8b62; background:#effaf4; color:#185c3e; } #pgsd-short .pgsd-date__noscript{ margin:15px 0 0; padding:12px 14px; border-left:4px solid #d09020; background:#fff9e9; color:#714800; } @media (max-width:640px){ #pgsd-short .pgsd-date{ padding:18px 16px; border-radius:13px; } #pgsd-short .pgsd-date__controls{ display:block; max-width:none; } #pgsd-short .pgsd-date__button{ width:100%; min-width:0; margin-top:10px !important; } #pgsd-short .pgsd-date__continue{ width:100%; } } (function () { if (window.__pgsdPrivateDateCheckV2) return; window.__pgsdPrivateDateCheckV2 = true; var path = location.pathname || \"\"; if (!/^\\/charters\\/[^\\/]+\\/?$/i.test(path)) return; var root = document.getElementById(\"pgsd-short\"); var form = document.getElementById(\"pgsdDateForm\"); var input = document.getElementById(\"pgsdDateInput\"); var btn = document.getElementById(\"pgsdDateGo\"); var result = document.getElementById(\"pgsdDateResult\"); if (!root || !form || !input || !btn || !result) return; var pendingPartId = null; var pendingLabel = \"\"; function pad2(n) { n = String(n); return n.length === 1 ? \"0\" + n : n; } function toYMD(d) { return d.getFullYear() + \"-\" + pad2(d.getMonth() + 1) + \"-\" + pad2(d.getDate()); } function makeDate(year, month, day) { var d = new Date(year, month - 1, day, 12, 0, 0, 0); if ( d.getFullYear() !== year || d.getMonth() !== month - 1 || d.getDate() !== day ) return null; return d; } function parseInputToDate(raw) { raw = String(raw || \"\").trim(); if (!raw) return null; var local = raw.match(/^(\\d{1,2})[\\/.\\-](\\d{1,2})[\\/.\\-](\\d{4})$/); if (local) return makeDate(Number(local[3]), Number(local[2]), Number(local[1])); var iso = raw.match(/^(\\d{4})-(\\d{2})-(\\d{2})$/); if (iso) return makeDate(Number(iso[1]), Number(iso[2]), Number(iso[3])); return null; } function formatLabel(dateObj) { try { return dateObj.toLocaleDateString(\"en-AU\", { weekday:\"long\", day:\"numeric\", month:\"long\", year:\"numeric\" }); } catch (e) { return pad2(dateObj.getDate()) + \"-\" + pad2(dateObj.getMonth() + 1) + \"-\" + dateObj.getFullYear(); } } function setResult(state, title, message, shouldFocus) { result.className = \"pgsd-date__result pgsd-date__result--\" + state; result.innerHTML = \"\" + title + \"\" + message + \"\"; result.hidden = false; if (shouldFocus) { try { result.focus(); } catch (e) {} } } function clearResult() { pendingPartId = null; pendingLabel = \"\"; result.hidden = true; result.innerHTML = \"\"; result.className = \"pgsd-date__result\"; input.removeAttribute(\"aria-invalid\"); } function setBusy(on) { btn.disabled = !!on; input.disabled = !!on; form.setAttribute(\"aria-busy\", on ? \"true\" : \"false\"); btn.querySelector(\".pgsd-date__button-label\").textContent = on ? \"Checking\\u2026\" : \"Check availability\"; } function storeLabel(label) { try { sessionStorage.setItem(\"pgsd_booking_date_label\", label || \"\"); } catch (e) {} } function injectLabel() { var modal = document.getElementById(\"add_new_popup\"); if (!modal) return; var label = \"\"; try { label = sessionStorage.getItem(\"pgsd_booking_date_label\") || \"\"; } catch (e) {} if (!label) return; var host = modal.querySelector(\".modal-body\") || modal; if (!host) return; var existing = host.querySelector(\"#pgsdBookingDateBadge\"); if (existing) { var existingLabel = existing.querySelector(\"span\"); if (existingLabel) existingLabel.textContent = label; return; } var badge = document.createElement(\"div\"); badge.id = \"pgsdBookingDateBadge\"; badge.className = \"pgsd-booking-date-badge\"; badge.style.cssText = \"margin:0 0 12px;padding:10px 12px;border:1px solid #9edff0;border-radius:8px;background:#f3faff;color:#003554;font-weight:900;\"; badge.innerHTML = \"Booking date: Please confirm this date before checkout.\"; badge.querySelector(\"span\").textContent = label; badge.querySelector(\"small\").style.cssText = \"display:block;margin-top:2px;color:#195c70;font-weight:600;\"; host.insertBefore(badge, host.firstChild); } document.addEventListener(\"shown.bs.modal\", function (event) { if (event && event.target && event.target.id === \"add_new_popup\") injectLabel(); }, true); function clickCartButton(partId) { var el = document.getElementById(\"cart_btn_\" + partId) || document.querySelector(\'a#cart_btn_\' + partId + \',button#cart_btn_\' + partId + \',input#cart_btn_\' + partId); if (el && !el.disabled) { try { el.click(); return true; } catch (e) {} } return false; } function showAvailable(partId, label) { pendingPartId = partId; pendingLabel = label; result.className = \"pgsd-date__result pgsd-date__result--success\"; result.innerHTML = \"\"; var heading = document.createElement(\"strong\"); heading.textContent = label + \" is available\"; var message = document.createElement(\"p\"); message.textContent = \"Continue when you are ready to open the booking form for this date.\"; var continueButton = document.createElement(\"button\"); continueButton.className = \"pgsd-date__continue\"; continueButton.type = \"button\"; continueButton.textContent = \"Continue to booking\"; continueButton.addEventListener(\"click\", function () { if (!pendingPartId) return; continueButton.disabled = true; continueButton.textContent = \"Opening booking form\\u2026\"; storeLabel(pendingLabel); if (!clickCartButton(pendingPartId)) { setResult( \"error\", \"The booking form didn\\u2019t open\", \"Please scroll to the available dates below and select Book Now for \" + pendingLabel + \".\", true ); return; } setTimeout(injectLabel, 450); }); result.appendChild(heading); result.appendChild(message); result.appendChild(continueButton); result.hidden = false; try { result.focus(); } catch (e) {} } function tryParseVisibleDateFromText(text) { var match = String(text || \"\").match(/\\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\b\\s+(\\d{1,2}),\\s*(\\d{4})/i); if (!match) return null; var d = new Date(match[1] + \" \" + match[2] + \", \" + match[3] + \" 12:00:00\"); return isNaN(d.getTime()) ? null : toYMD(d); } function findPartIdForYMD(ymd) { var monthRx = /\\b(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\b\\s+\\d{1,2},\\s*\\d{4}/i; var buttons = document.querySelectorAll(\'a[id^=\"cart_btn_\"],button[id^=\"cart_btn_\"],input[id^=\"cart_btn_\"]\'); function findDateBox(button) { var el = button; var i; for (i = 0; i < 14 && el; i++) { if (monthRx.test(el.textContent || \"\")) return el; el = el.parentElement; } el = button.parentElement; for (i = 0; i < 10 && el; i++) { var previous = el.previousElementSibling; if (previous && monthRx.test(previous.textContent || \"\")) return previous; el = el.parentElement; } return null; } for (var i = 0; i < buttons.length; i++) { var button = buttons[i]; if (!button || !button.id) continue; var idMatch = button.id.match(/cart_btn_(\\d+)/i); if (!idMatch) continue; var dateBox = findDateBox(button); if (!dateBox) continue; if (tryParseVisibleDateFromText(dateBox.textContent || \"\") === ymd) return idMatch[1]; } return null; } function getHandle() { var handleButton = document.querySelector(\"#show_more_calc[data-handle]\"); if (handleButton) return String(handleButton.getAttribute(\"data-handle\") || \"\").trim(); var parts = path.replace(/\\/+$/, \"\").split(\"/\"); return String(parts[2] || \"\").trim(); } function getInitialPartTokens() { var tokens = []; var seen = {}; var events = document.querySelectorAll(\".event_list\"); for (var i = 0; i < events.length; i++) { var token = String(events[i].getAttribute(\"data-part\") || events[i].id || \"\").trim(); if (token && !seen[token]) { seen[token] = true; tokens.push(token); } } return tokens; } function ajaxLoadMore(handle, partTokens, offset) { return new Promise(function (resolve, reject) { if (!window.jQuery) { reject(new Error(\"jQuery not available\")); return; } window.jQuery.ajax({ url:(window.BASE_PATH || \"\") + \"/calendar/ajax_list\", type:\"POST\", data:{ handle:handle, part:partTokens, offset:offset }, success:function (response) { resolve(response); }, error:function () { reject(new Error(\"ajax_list failed\")); } }); }); } async function ensureDateLoadedAndGetPartId(ymd) { var partId = findPartIdForYMD(ymd); if (partId) return { partId:partId, failed:false }; var handle = getHandle(); var partTokens = getInitialPartTokens(); var list = document.querySelector(\".label-grp.float-left\"); if (!handle || !partTokens.length || !list) return { partId:null, failed:true }; var maxOffsets = 18; for (var offset = 0; offset < maxOffsets; offset++) { var html; try { html = await ajaxLoadMore(handle, partTokens, offset); } catch (e) { return { partId:null, failed:true }; } if (html) list.insertAdjacentHTML(\"beforeend\", html); partId = findPartIdForYMD(ymd); if (partId) return { partId:partId, failed:false }; } return { partId:null, failed:false }; } async function checkDate() { var date = parseInputToDate(input.value); if (!date) { input.setAttribute(\"aria-invalid\", \"true\"); setResult( \"error\", \"Please enter a valid date\", \"Use DD-MM-YYYY, for example 19-08-2026.\", true ); return; } input.removeAttribute(\"aria-invalid\"); input.value = pad2(date.getDate()) + \"-\" + pad2(date.getMonth() + 1) + \"-\" + date.getFullYear(); var ymd = toYMD(date); var label = formatLabel(date); setBusy(true); setResult(\"checking\", \"Checking \" + label + \"\\u2026\", \"Please wait while we check the available booking dates.\", false); var search = await ensureDateLoadedAndGetPartId(ymd); if (search.failed) { setBusy(false); setResult( \"error\", \"We couldn\\u2019t complete the date check\", \"Please try again. If the problem continues, contact the Abyss team and tell us your preferred date.\", true ); return; } if (!search.partId) { setBusy(false); setResult( \"unavailable\", \"No online availability on \" + label, \"Please choose another date above, or contact us and we’ll see what may be possible.\", true ); return; } setBusy(false); showAvailable(search.partId, label); } if (window.jQuery && window.jQuery.fn && window.jQuery.fn.datepicker) { window.jQuery(input).datepicker({ format:\"dd-mm-yyyy\", autoclose:true, todayHighlight:true }); } form.addEventListener(\"submit\", function (event) { event.preventDefault(); checkDate(); }); input.addEventListener(\"input\", clearResult); if (window.jQuery) { window.jQuery(input).on(\"changeDate\", clearResult); } })();" />
This is your dive — not a group tour.
For a flat fee of $295, you’ll have your own experienced guide dedicated to just your group (1–4 divers). Move at your pace, focus on what interests you, and enjoy a relaxed, personalised dive from start to finish.
Perfect if you want more confidence, flexibility, or simply a better overall diving experience.
Booking is simple: choose the option that matches your group size and register each diver under the same option. The total cost remains $295 for your private guide.
First, check your preferred date. If it’s available, you can then choose Continue to booking to open the booking form.
Availability: In Stock
One guide · One private group · One flexible dive plan
Your group, your pace and a Sydney shore dive planned around what you want to achieve.
Book an experienced Abyss guide exclusively for your group of one to four certified divers. Whether you want a supported first dive in Sydney, more confidence, local orientation, time for photography or a focused marine-life search, the plan begins with your experience and interests.
The private guiding fee is $295 for the group—not $295 per diver. Rental equipment is additional. The final dive site and plan are confirmed around diver suitability, weather, swell, visibility and safe entry conditions.
Your guide looks after only your group, allowing more time for questions, support and local insight.
Discuss confidence, buoyancy, marine life, photography or local orientation before the site is selected.
Abyss selects a suitable shore site for your group based on the conditions on the day.
How to book your group
Diver 1 is the Organiser and carries the one-off $295 private guiding fee. Use Add another diver for up to three Buddies; they are included in the guiding fee.
Register every diver separately. Rental equipment is additional for each person and is the only selection that should increase the $295 group total.
Hoping to see a weedy seadragon?
A private guide can dedicate suitable dive time to searching known local habitat when your experience and the day’s conditions align. The hub explains where Sydney’s common or weedy seadragons live, how to spot them, responsible photography and every Abyss encounter option.
These are wild animals, so no guide, site or scheduled dive can guarantee a sighting.
Sydney’s speciesCommon or weedy seadragon
Private formatOne guide for 1–4 divers
Site choiceMatched to the group and conditions
WildlifeSightings are never guaranteed
Know what you are booking
The flat fee reserves a guide for your certified group of one to four divers. Equipment remains individual, so each person can bring or hire exactly what they need.
Need equipment? Review Sydney scuba gear rental and arrange it before the dive.
Personalised, not predetermined
Your preferred site and interests guide the conversation, but safe conditions and suitability determine the final plan.
Share your certification, recent experience, confidence and what you hope to get from the dive.
Abyss considers swell, visibility, entry and exit, diver ability and the wildlife or skills focus.
Your guide briefs the route, conditions, communication, limits and safe entry and exit.
The plan adapts to comfort, air consumption and conditions while remaining safe and relaxed.
Before you book
This is a guided dive for certified divers, not an introductory scuba experience or certification course.
A private guide can provide personal attention, but the booking is not a formal skills-review program. If you have not dived recently, feel unsure about essential skills or want structured practice, complete a refresher first.
Unsure whether the dive suits your certification, recent experience or confidence? Contact Abyss before booking so the team can recommend the right next step.
A better wildlife encounter
A private format creates time to slow down, hold position and let wildlife behave naturally. It does not change the rules of responsible diving: never touch, chase, surround or reposition an animal for a photograph.
For seadragon-specific advice on buoyancy, approach distance, egg-carrying males and photography, use the responsible seadragon-diving guide.
Stay neutrally buoyantKeep fins, gauges and alternate air sources clear of reef, kelp and animals.
Leave an open routeNever box wildlife in or block its direction of travel.
Use light thoughtfullyAvoid prolonged bright video lights and repeated close flash.
Accept the ocean’s answerA wild-animal search can be rewarding even when the hoped-for species is not found.
Clear booking conditions
Private guided shore dives are covered by Abyss’s local-dive booking terms. Please read these conditions before booking.
For the complete policy, read the Local Dives Terms and Conditions. If this summary and the full terms differ, the full terms apply.
Frequently asked questions
No. It is the private guiding fee for one group of one to four certified divers. Any rental equipment required is additional for each diver.
Tell Abyss which site or experience interests you. The final site is selected for your group’s experience and the day’s weather, swell, visibility and entry conditions.
Yes, when group suitability and conditions make an appropriate habitat practical. Local knowledge can improve the search, but a wild seadragon sighting is never guaranteed.
The local-dive recency rule applies, and a formal refresher may be the safer first step when essential skills or confidence need structured practice. Contact Abyss before booking if you are unsure.
Choose an available date above, complete Diver 1 as the Organiser, then add up to three Buddies. Register every diver and arrange any required rental equipment before the dive.