loading
Retrieving sailings…
There was an error retrieving our updated time table. Please try again later. Our time table system is currently offline. Please try again later.
There are currently no scheduled sailings in the next 3 days.

Melbourne to Devonport (MEL to DPO)

Scheduled sailing Check-in Departure Arrival
{{sailing.departureDateTime | date: 'd MMM yyyy - h:mma'}} {{sailing.checkInStart | date: 'h:mma'}} - {{sailing.checkInEnd | date: 'h:mma'}} {{sailing.estimatedDepartureDateTime | date: 'h:mma'}} {{sailing.departureDateTime | date: 'h:mma'}} {{sailing.estimatedArrivalDateTime | date: 'h:mma'}} {{sailing.arrivalDateTime | date: 'h:mma'}}

Devonport to Melbourne (DPO to MEL)

Scheduled sailing Check-in Departure Arrival
{{dpoMelSailing.departureDateTime | date: 'd MMM yyyy - h:mma'}} {{dpoMelSailing.checkInStart | date: 'h:mma'}} - {{dpoMelSailing.checkInEnd | date: 'h:mma'}} {{dpoMelSailing.estimatedDepartureDateTime | date: 'h:mma'}} {{dpoMelSailing.departureDateTime | date: 'h:mma'}} {{dpoMelSailing.estimatedArrivalDateTime | date: 'h:mma'}} {{dpoMelSailing.arrivalDateTime | date: 'h:mma'}}
07 June, 2019

Pop the Champagne and soak up the scenery in these amazing alfresco baths

From seaside and mountain retreats to city rooftop, it’s bath time in Tasmania’s great outdoors.

Taking time out for a bath is one of life’s great pleasures, which only gets better when you’re soaking up Tasmania’s stunning scenery or starry sky in an outdoor tub. From luxurious lodges to budget bliss like Hastings Caves’ thermal springs, we’ve found the state’s best alfresco bathing.

Bucket-list baths

Ready to totally treat yourself amid breathtaking vistas of the Freycinet region’s Great Oyster Bay? Choose from Thalia Haven’s main private pavilion, complete with an outdoor bath on the waterside deck, or Freycinet Lodge’s exclusive Coastal Pavilions, which have alfresco bathtubs – and bay views if you go the deluxe option.

Thalia Haven (Image: Marcus Walter)

Or mix exercise and indulgence on the Bay of Fires guided walk, the only way to access Bay of Fires Lodge. There are all manner of pampering options on the spa menu, including the simple pleasure of soaking up the bay view while soaking in an outdoor bath sprinkled with nature’s gifts, such as native flora and pink salt crystals.

Cradle Mountain Lodge’s beautiful King Billy Suites include an outdoor jacuzzi nestled among sub-alpine bushland scents and sounds. At dusk you’ll probably see native animals like wombats and wallabies getting out and about. To the south of Cradle Mountain-Lake St Clair National Park, on the edge of the eponymous lake, Pumphouse Point’s new top-of-the-range Retreat offers an all-inclusive wilderness escape. Its locally handcrafted features include two baths, one of which is outside so you can really breathe in the natural beauty.

The Retreat (Image: Adam Gibson)

Luxurious baths

Overlooking a dairy farm just south of Devonport, Eagles Nest Retreat’s three distinctively designed, self-contained accommodation options all boast alfresco baths. There’s Nest I’s secluded rustic-meets-luxe ‘farmer’s bath’ with 12 micro-jets, Nest III’s ingenious milk-vat conversion, and Nest II’s twin options: a mountain-view bath and lakeside spa bath.

Avalon’s luxury private properties include Rocky Hills Retreat in bushland overlooking Great Oyster Bay, and Avalon City Retreat, a penthouse atop a Hobart office tower. Both offer massive outdoor baths crafted from Huon pine, which take 30 minutes to fill and exude a wonderfully woody scent.

Affordably fancy baths

There are several ways to settle into Launceston’s opulent 19th century Hatherley House, but if you’re into outdoor baths then look no further than Magnolia Garden Pavilion. This contemporary space includes a tub carved from volcanic stone on the private deck.

Magnolia Garden Pavillion (Image: The Hatherley Collection)

Not far from Launceston, in the Tamar Valley, The Trig is renowned for its eco-luxe approach, including judicious recycling such as the claw-footed baths outside each of the three private accommodation options. There’s no better way to use those natural Aesop bath products.

The Trig (Image: Eugene Hyland)

Bruny Island’s Hundred Acre Hideaway has two self-contained holiday homes, each with a red-cedar hot tub on a private deck overlooking land and sea. One is in the North American big wine-barrel style, heated with a wood fire. The other is Japanese-inspired, with taps for hot and cold water so you can get the temperature just right.

Hundred Acre Hideaway (Image: Hundred Acre Hideaway)

Budget-friendly baths

Taking a bath outdoors on holiday doesn’t have to mean taking out a loan. The Left of Field camping and caravan park next to Mount Field National Park has lots of quirky charm, including a wood-fired outdoor bathtub. Settle in with a glass of bubbly and feel smug about all that money you’re saving!

For just $5 (even cheaper for kids and concession), enjoy all-day access to the Hastings Caves State Reserve’s natural thermal spring pool and its facilities, including hot showers. Or splurge with the $24 combo of cave tour and as many hours of thermal bathing as you can handle.

Journey at your leisure

Wind down, kick back and take everything in. Book now
{{booking.getDepartureDate(legOfJourney, 'D MMM').toUpperCase()}} {{booking.getDepartureDate(legOfJourney, 'h:mm A')}}
Arrive {{booking.getArrivalDate(legOfJourney, 'D MMM h:mm A')}}
Your {{legOfJourney.toLowerCase()}} ticket
{{legOfJourney}} ticket
Departing {{getSailing().getOriginName()}}
{{getSailing().origin}} to {{Utils.reverseLocationCode(getSailing().origin)}}
{{legOfJourney}}
  • Fares Change
    • {{passengerLine.displayOverride}} {{passengerLine.currentQuantity}} x {{passengerLine.displayName}} ${{getSelectedFareTypePassengerGroupPrice(passengerLine)}} $0 ${{getSelectedPassengerGroupPrice(passengerLine) || 'To be selected'}} ({{getPassengerNet(passengerLine) | money}})
    • {{booking.getPetCount(legOfJourney)}} x {{Utils.pluralize('Pet', booking.getPetCount(legOfJourney))}} $0
    • 1 x {{vehicle.getSummaryDisplay()}}
      • {{extra}}
      • {{vehicle.getTotalLength()}}
      ${{getVehiclePrice($index) || 'To be selected'}} ({{getVehicleNet($index) | money }})
    • {{getPushbikesCount()}} x {{Utils.pluralize('Bicycle', getPushbikesCount())}} ${{getPushbikesPrice() || 'To be selected'}}
  • Date Change
    • Departing {{booking.getDepartureDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getDepartureDate(legOfJourney, 'h:mm A')}}
    • Arriving {{booking.getArrivalDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getArrivalDate(legOfJourney, 'h:mm A')}}
  • Accommodation Change
    • {{getAppliedDealProduct().productName}} deal applied
    • To be selected
    • {{selectedAccommodationOption.quantity}} x {{selectedAccommodationOption.displayText}} ${{getSelectedFareTypeAccommodationOptionPrice(selectedAccommodationOption)}} ${{getSelectedAccommodationOptionPrice(selectedAccommodationOption)}} ({{getSelectedAccommodationOptionNet(selectedAccommodationOption) | money}})
    • Total {{legOfJourney.toLowerCase()}}
    • {{ getSailingTotalPriceText(legOfJourney) }} ({{getSailingTotalNet(legOfJourney) | money}})
{{booking.getDepartureDate(legOfJourney, 'D MMM').toUpperCase()}} {{booking.getDepartureDate(legOfJourney, 'h:mm A')}}
Arrive {{booking.getArrivalDate(legOfJourney, 'D MMM h:mm A')}}
Your {{legOfJourney.toLowerCase()}} ticket
{{legOfJourney}} ticket
Departing {{getSailing().getOriginName()}}
{{getSailing().origin}} to {{Utils.reverseLocationCode(getSailing().origin)}}
{{legOfJourney}}
  • Fares Change
    • {{passengerLine.displayOverride}} {{passengerLine.currentQuantity}} x {{passengerLine.displayName}} ${{getSelectedFareTypePassengerGroupPrice(passengerLine)}} $0 ${{getSelectedPassengerGroupPrice(passengerLine) || 'To be selected'}} ({{getPassengerNet(passengerLine) | money}})
    • {{booking.getPetCount(legOfJourney)}} x {{Utils.pluralize('Pet', booking.getPetCount(legOfJourney))}} $0
    • 1 x {{vehicle.getSummaryDisplay()}}
      • {{extra}}
      • {{vehicle.getTotalLength()}}
      ${{getVehiclePrice($index) || 'To be selected'}} ({{getVehicleNet($index) | money }})
    • {{getPushbikesCount()}} x {{Utils.pluralize('Bicycle', getPushbikesCount())}} ${{getPushbikesPrice() || 'To be selected'}}
  • Date Change
    • Departing {{booking.getDepartureDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getDepartureDate(legOfJourney, 'h:mm A')}}
    • Arriving {{booking.getArrivalDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getArrivalDate(legOfJourney, 'h:mm A')}}
  • Accommodation Change
    • {{getAppliedDealProduct().productName}} deal applied
    • To be selected
    • {{selectedAccommodationOption.quantity}} x {{selectedAccommodationOption.displayText}} ${{getSelectedFareTypeAccommodationOptionPrice(selectedAccommodationOption)}} ${{getSelectedAccommodationOptionPrice(selectedAccommodationOption)}} ({{getSelectedAccommodationOptionNet(selectedAccommodationOption) | money}})
    • Total {{legOfJourney.toLowerCase()}}
    • {{ getSailingTotalPriceText(legOfJourney) }} ({{getSailingTotalNet(legOfJourney) | money}})
Your {{LegOfJourney.Return.toLowerCase()}} ticket
{{LegOfJourney.Return}} ticket
No {{LegOfJourney.Return}} Trip
No {{LegOfJourney.Return}} Trip
{{LegOfJourney.Return}}
{{ getChosenSoFarAmount() }} See breakdown
Trip total
$AUD
  • Outbound{{ getSailingTotalPriceText(LegOfJourney.Outbound) }} ({{getSailingTotalNet(LegOfJourney.Outbound) | money}})
  • Return{{ getSailingTotalPriceText(LegOfJourney.Return) }} ({{getSailingTotalNet(LegOfJourney.Return) | money}})
  • Travel Insurance${{booking.getTravelInsurancePrice()}}
  • Credit card fees{{ booking.getCreditCardFeePrice() | money }}
  • Total{{ getBookingTotalPriceText() }} ({{ booking.totalNet() | money }})
You're ready to get started building your fare.
Along the way you'll add passengers, any vehicles and accommodation.
Let's get started!
Select vehicle
{{vehicleOptions.getDisplay()}}
Including: {{vehicleOptions.getExtrasDisplay()}}
Change Remove Editing
Or use one from a recent search:
{{vehicleOptions.getDisplay()}} Including: {{vehicleOptions.getExtrasDisplay()}} Add Remove
{{IbpCms.vehiclesBookMotorhomeAsCarError}}
Total length cannot exceed {{getVehicleMaxTotalLength()}} metres.
Please call 1800 884 305 to complete your booking.
Please ring 1800 634 906 to make this booking.

Your model of vehicle is up to {{getEditableVehicleOptions().vehicle.heightInMetres | number: 2}}m high.

Carrying anything on the roof?

How high is the cargo on your roof?

Towing a caravan or trailer?

{{IbpCms.vehiclesFifthWheelerNotice}}

Towing a caravan or trailer?

{{IbpCms.vehiclesFifthWheelerNotice}}
loading
Select vehicle
{{vehicleOptions.getDisplay()}}
Including: {{vehicleOptions.getExtrasDisplay()}}
Change Remove Editing
Or use one from a recent search:
{{vehicleOptions.getDisplay()}} Including: {{vehicleOptions.getExtrasDisplay()}} Add Remove
{{IbpCms.vehiclesBookMotorhomeAsCarError}}
Total length cannot exceed {{getVehicleMaxTotalLength()}} metres.
Please call 1800 884 305 to complete your booking.
Please ring 1800 634 906 to make this booking.

Your model of vehicle is up to {{getEditableVehicleOptions().vehicle.heightInMetres | number: 2}}m high.

Carrying anything on the roof?

How high is the cargo on your roof?

Towing a caravan or trailer?

{{IbpCms.vehiclesFifthWheelerNotice}}

Towing a caravan or trailer?

{{IbpCms.vehiclesFifthWheelerNotice}}
loading
Select {{legOfJourney.toLowerCase()}} date

{{ IbpCms.fareTotalMinimumPrice.replace('%LEGOFJOURNEY%', legOfJourney.toLowerCase()) }} ${{getTotalMinimumPriceAdvice().totalMinimumPrice}}

{{ IbpCms.fareNotManyPlacesLeftAtThisPriceMessage }}
{{getNumberOfPeopleViewingText()}}
{{getDealAvailableText()}}
  • {{mode}}
loading loading loading loading loading
  • Previous day sailing {{Utils.dateFormat(getPrevDaySailingDate(), 'MMM DD')}}
    No day sailings during this period
    Next day sailing {{Utils.dateFormat(getNextDaySailingDate(), 'MMM DD')}}
  • {{Utils.dateFormat(date.date, 'ddd').toUpperCase()}} {{Utils.dateFormat(date.date, 'DD')}} {{Utils.dateFormat(date.date, 'MMM').toUpperCase()}}
    • No day
      sailing
    • {{Utils.dateFormat(sailingPriceSet.departureDateTime, 'h:mm A')}}
      {{getFareTotalPrice(sailingPriceSet)}}
      {{ getPriceDifferenceAmountText(sailingPriceSet) }}
      Day
      sold out
      Night
      sold out
      Special Fare
    • {{Utils.dateFormat(sailingPriceSet.departureDateTime, 'h:mm A')}}
      {{getFareTotalPrice(sailingPriceSet)}}
      {{ getPriceDifferenceAmountText(sailingPriceSet) }}
      Day
      sold out
      Night
      sold out
      Special Fare
    • No night
      sailing

Accommodation availability – {{booking.getDepartureDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getDepartureDate(legOfJourney, 'HH:mm')}}

  • {{option.displayText}}
    AM only Pets only
    Sold out
    From ${{getCheapestPrice(option)}} per {{option.unitText}}
    Included
Spirit Tip
{{IbpCms.accommodationSpiritTipCotSoldOut}}

{{ getFareDescription() }}
{{ IbpCms.fareAdditionalDescription }}

Select {{legOfJourney.toLowerCase()}} date

{{ IbpCms.fareTotalMinimumPrice.replace('%LEGOFJOURNEY%', legOfJourney.toLowerCase()) }} ${{getTotalMinimumPriceAdvice().totalMinimumPrice}}

{{ IbpCms.fareNotManyPlacesLeftAtThisPriceMessage }}
{{getNumberOfPeopleViewingText()}}
{{getDealAvailableText()}}
  • {{mode}}
loading loading loading loading loading
  • Previous day sailing {{Utils.dateFormat(getPrevDaySailingDate(), 'MMM DD')}}
    No day sailings during this period
    Next day sailing {{Utils.dateFormat(getNextDaySailingDate(), 'MMM DD')}}
  • {{Utils.dateFormat(date.date, 'ddd').toUpperCase()}} {{Utils.dateFormat(date.date, 'DD')}} {{Utils.dateFormat(date.date, 'MMM').toUpperCase()}}
    • No day
      sailing
    • {{Utils.dateFormat(sailingPriceSet.departureDateTime, 'h:mm A')}}
      {{getFareTotalPrice(sailingPriceSet)}}
      {{ getPriceDifferenceAmountText(sailingPriceSet) }}
      Day
      sold out
      Night
      sold out
      Special Fare
    • {{Utils.dateFormat(sailingPriceSet.departureDateTime, 'h:mm A')}}
      {{getFareTotalPrice(sailingPriceSet)}}
      {{ getPriceDifferenceAmountText(sailingPriceSet) }}
      Day
      sold out
      Night
      sold out
      Special Fare
    • No night
      sailing

Accommodation availability – {{booking.getDepartureDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getDepartureDate(legOfJourney, 'HH:mm')}}

  • {{option.displayText}}
    AM only Pets only
    Sold out
    From ${{getCheapestPrice(option)}} per {{option.unitText}}
    Included
Spirit Tip
{{IbpCms.accommodationSpiritTipCotSoldOut}}

{{ getFareDescription() }}
{{ IbpCms.fareAdditionalDescription }}

Select {{legOfJourney.toLowerCase()}} accommodation

{{booking.getDepartureDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getDepartureDate(legOfJourney, 'h:mm A')}}

Spirit Tip
{{IbpCms.accommodationSpiritTipCotSoldOut}}
Deal applied
  • {{getDealDetails(getAppliedDeal()).title}} Details

    {{getDealDetails(getAppliedDeal()).shortDescription}}

    Nice! Now it's time to add your cabin to the package.
    Remove
{{Utils.pluralize('Deal', numDealsOnSailing())}} available
  • {{getDealDetails(code).title}} Details

    {{getDealDetails(code).shortDescription}}

    Deal available
    Remove
loading
Accommodation available
  • Pet Kennels
    Twin Bed Four Bed

    {{option.displayText}} Details

    {{IbpCms.accommodationDayTicketsFlavourText}}
    {{IbpCms.accommodationPetKennelsFlavourText}}
    • 2 4 2 4 {{feature.displayName}}
    ${{getOptionUnitPrice(option)}}
    per {{option.unitText}}
    ${{getSelectedFareTypeOptionUnitPrice(option)}} Original Price
    {{getOptionQuantity(option)}} or fewer {{Utils.pluralize(option.unitText, getOptionQuantity(option))}} available
    {{option.tooltipText}} {{IbpCms.accommodationTypeDescriptionSharedMale2Berth}} {{IbpCms.accommodationTypeDescriptionSharedMale4Berth}} {{IbpCms.accommodationTypeDescriptionSharedFemale2Berth}} {{IbpCms.accommodationTypeDescriptionSharedFemale4Berth}}
    Sold out
    For this sailing
    Find availability
    {{IbpCms.accommodationNotEnoughPeople}}
    {{option.displayText}}s not available with this deal.
    Remove Deal
    {{IbpCms.accommodationNoDayTicketsForNightSailings}}
    Kennels are available for pets only.
loading
loading
Book the same accommodation on your return? Return accommodation price is {{ getReturnPriceForSameSelection() | money }}
loading
Select {{legOfJourney.toLowerCase()}} accommodation

{{booking.getDepartureDate(legOfJourney, 'dddd D MMMM')}} at {{booking.getDepartureDate(legOfJourney, 'h:mm A')}}

Spirit Tip
{{IbpCms.accommodationSpiritTipCotSoldOut}}
Deal applied
  • {{getDealDetails(getAppliedDeal()).title}} Details

    {{getDealDetails(getAppliedDeal()).shortDescription}}

    Nice! Now it's time to add your cabin to the package.
    Remove
{{Utils.pluralize('Deal', numDealsOnSailing())}} available
  • {{getDealDetails(code).title}} Details

    {{getDealDetails(code).shortDescription}}

    Deal available
    Remove
loading
Accommodation available
  • Pet Kennels
    Twin Bed Four Bed

    {{option.displayText}} Details

    {{IbpCms.accommodationDayTicketsFlavourText}}
    {{IbpCms.accommodationPetKennelsFlavourText}}
    • 2 4 2 4 {{feature.displayName}}
    ${{getOptionUnitPrice(option)}}
    per {{option.unitText}}
    ${{getSelectedFareTypeOptionUnitPrice(option)}} Original Price
    {{getOptionQuantity(option)}} or fewer {{Utils.pluralize(option.unitText, getOptionQuantity(option))}} available
    {{option.tooltipText}} {{IbpCms.accommodationTypeDescriptionSharedMale2Berth}} {{IbpCms.accommodationTypeDescriptionSharedMale4Berth}} {{IbpCms.accommodationTypeDescriptionSharedFemale2Berth}} {{IbpCms.accommodationTypeDescriptionSharedFemale4Berth}}
    Sold out
    For this sailing
    Find availability
    {{IbpCms.accommodationNotEnoughPeople}}
    {{option.displayText}}s not available with this deal.
    Remove Deal
    {{IbpCms.accommodationNoDayTicketsForNightSailings}}
    Kennels are available for pets only.
loading
loading
Book the same accommodation on your return? Return accommodation price is {{ getReturnPriceForSameSelection() | money }}
loading
Your trip summary

Your {{legOfJourney.toLowerCase()}} ticket {{legOfJourney}} ticket Departing {{getSailing().getOriginName()}} {{getSailing().origin}} to {{Utils.reverseLocationCode(getSailing().origin)}}

{{getDealName(legOfJourney)}} deal applied See details
Date
  • Departing {{booking.getDepartureDate(legOfJourney, 'dddd D MMMM, YYYY')}} at {{booking.getDepartureDate(legOfJourney, 'h:mm A')}} Change
  • Arriving {{booking.getArrivalDate(legOfJourney, 'dddd D MMMM, YYYY')}} at {{booking.getArrivalDate(legOfJourney, 'h:mm A')}}
  • Disembarking from {{booking.getDisembarkTime(legOfJourney, 'h:mm A')}}
Fares
  • Details Change
  • {{passengerLine.displayOverride}} {{passengerLine.currentQuantity}} x {{passengerLine.displayName}} ${{getSelectedFareTypePassengerGroupPrice(passengerLine)}} $0 ${{getSelectedPassengerGroupPrice(passengerLine) || 'To be selected'}} ({{getPassengerNet(passengerLine) | money}})
  • {{booking.getPetCount(legOfJourney)}} x {{Utils.pluralize('Pet', booking.getPetCount(legOfJourney))}} $0
  •  
    {{ IbpCms.fareNotManyPlacesLeftAtThisPriceMessage }}
Vehicles
  • Details Change Update Rego
  • No vehicles
  • 1 x {{vehicle.getSummaryDisplay()}} ${{getVehiclePrice($index) || 'To be selected'}} ({{getVehicleNet($index) | money }})
    • {{extra}}
    • {{vehicle.getTotalLength()}}
  • {{getPushbikesCount()}} x {{Utils.pluralize('Bicycle', getPushbikesCount())}} ${{getPushbikesPrice() || 'To be selected'}}
Accommodation
  • Details Change
  • {{getAppliedDealProduct().productName}} deal applied
  • To be selected
  • {{option.quantity}} x {{option.displayText}} ${{getSelectedFareTypeAccommodationOptionPrice(option)}} ${{getSelectedAccommodationOptionPrice(option)}} ({{getSelectedAccommodationOptionNet(option) | money}})
Pets & Kennels
  • Details Change
  • {{getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel).quantity}} x {{Utils.pluralize("Pet", getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel).quantity)}} with {{Utils.pluralize("kennel", getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel).quantity)}} ${{getSelectedFareTypeAccommodationOptionPrice(getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel))}} ${{getSelectedAccommodationOptionPrice(getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel))}}
  • No pets travelling
Passengers & Allocation
  • Full Name Change
  • {{passenger.passengerDetails.firstName}} {{passenger.passengerDetails.lastName}}
    {{passenger.passengerDetails.firstName}} {{passenger.passengerDetails.lastName}}
    In a {{getAccommodationDisplayName(allocation.categoryCode, allocation.categorySpecificationCode)}}
Cancel this sailing
Refund due: {{ getSailing().refundableAmount | money }}
  • {{ fee.description }}: {{ fee.price | money:false }}

Your {{legOfJourney.toLowerCase()}} ticket {{legOfJourney}} ticket Departing {{getSailing().getOriginName()}} {{getSailing().origin}} to {{Utils.reverseLocationCode(getSailing().origin)}}

{{getDealName(legOfJourney)}} deal applied See details
Date
  • Departing {{booking.getDepartureDate(legOfJourney, 'dddd D MMMM, YYYY')}} at {{booking.getDepartureDate(legOfJourney, 'h:mm A')}} Change
  • Arriving {{booking.getArrivalDate(legOfJourney, 'dddd D MMMM, YYYY')}} at {{booking.getArrivalDate(legOfJourney, 'h:mm A')}}
  • Disembarking from {{booking.getDisembarkTime(legOfJourney, 'h:mm A')}}
Fares
  • Details Change
  • {{passengerLine.displayOverride}} {{passengerLine.currentQuantity}} x {{passengerLine.displayName}} ${{getSelectedFareTypePassengerGroupPrice(passengerLine)}} $0 ${{getSelectedPassengerGroupPrice(passengerLine) || 'To be selected'}} ({{getPassengerNet(passengerLine) | money}})
  • {{booking.getPetCount(legOfJourney)}} x {{Utils.pluralize('Pet', booking.getPetCount(legOfJourney))}} $0
  •  
    {{ IbpCms.fareNotManyPlacesLeftAtThisPriceMessage }}
Vehicles
  • Details Change Update Rego
  • No vehicles
  • 1 x {{vehicle.getSummaryDisplay()}} ${{getVehiclePrice($index) || 'To be selected'}} ({{getVehicleNet($index) | money }})
    • {{extra}}
    • {{vehicle.getTotalLength()}}
  • {{getPushbikesCount()}} x {{Utils.pluralize('Bicycle', getPushbikesCount())}} ${{getPushbikesPrice() || 'To be selected'}}
Accommodation
  • Details Change
  • {{getAppliedDealProduct().productName}} deal applied
  • To be selected
  • {{option.quantity}} x {{option.displayText}} ${{getSelectedFareTypeAccommodationOptionPrice(option)}} ${{getSelectedAccommodationOptionPrice(option)}} ({{getSelectedAccommodationOptionNet(option) | money}})
Pets & Kennels
  • Details Change
  • {{getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel).quantity}} x {{Utils.pluralize("Pet", getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel).quantity)}} with {{Utils.pluralize("kennel", getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel).quantity)}} ${{getSelectedFareTypeAccommodationOptionPrice(getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel))}} ${{getSelectedAccommodationOptionPrice(getSailing().selectedAccommodation.getExtra(ExtrasCode.Kennel))}}
  • No pets travelling
Passengers & Allocation
  • Full Name Change
  • {{passenger.passengerDetails.firstName}} {{passenger.passengerDetails.lastName}}
    {{passenger.passengerDetails.firstName}} {{passenger.passengerDetails.lastName}}
    In a {{getAccommodationDisplayName(allocation.categoryCode, allocation.categorySpecificationCode)}}
Cancel this sailing
Refund due: {{ getSailing().refundableAmount | money }}
  • {{ fee.description }}: {{ fee.price | money:false }}
Grand total: {{ getBookingTotalPrice() | money }} ({{ booking.totalNet() | money }})
loading
loading
{{getHeaderText()}}

{{ IbpCms.passengerDetailsIntro }} {{ IbpCms.vehicleRegoIntro }}

Oops, you must be travelling in order to make this booking
Adults
Remove {{detail.firstName}} {{detail.lastName}}

Pensioners (booked as adults)
Pensioner No. Expiry Date
Invalid Date Date must be in the future Required
Remove {{detail.firstName}} {{detail.lastName}}

Children
Date of birth
Required Invalid Date
{{IbpCms.validationChildAge}} change to infant fare {{IbpCms.validationChildAge}} change to adult fare
Remove {{detail.firstName}} {{detail.lastName}}

Infants
Date of birth
Required Invalid Date Date of birth is in the future.
{{IbpCms.validationInfantAge}} change to child fare
Remove {{detail.firstName}} {{detail.lastName}}

Vehicle Registrations{{getSailingDisplay(LegOfJourney.Outbound)}}
{{vehicle.getDisplay()}} With Extras: {{vehicle.getExtrasDisplay()}}

Vehicle Registrations{{getSailingDisplay(LegOfJourney.Return)}}
{{vehicle.getDisplay()}} With Extras: {{vehicle.getExtrasDisplay()}}

loading
Review where everyone's staying

We've assigned accommodation automatically – feel free to re-arrange

Your {{legOfJourney.toLowerCase()}} accommodation

{{room.sectionName}}

  • {{Utils.convertNameCase(passenger.passengerDetails.title)}} {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} {{Utils.convertNameCase(passenger.passengerDetails.lastName)}}
    Bed available
    Ticket available
    Move {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Leave {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} here Swap with {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Move {{Utils.convertNameCase(getActiveSwapPassenger().passengerDetails.firstName)}} here {{passenger.message}}
  • {{Utils.convertNameCase(passenger.passengerDetails.title)}} {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} {{Utils.convertNameCase(passenger.passengerDetails.lastName)}}
    Cot space available No cot space available Infant ticket available
    Move {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Leave {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} here Swap with {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Move {{Utils.convertNameCase(getActiveSwapPassenger().passengerDetails.firstName)}} here {{passenger.message}}
loading
{{IbpCms.cabinAllocationBookSameForReturn}}

We've assigned accommodation automatically – feel free to re-arrange

Your {{legOfJourney.toLowerCase()}} accommodation

{{room.sectionName}}

  • {{Utils.convertNameCase(passenger.passengerDetails.title)}} {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} {{Utils.convertNameCase(passenger.passengerDetails.lastName)}}
    Bed available
    Ticket available
    Move {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Leave {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} here Swap with {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Move {{Utils.convertNameCase(getActiveSwapPassenger().passengerDetails.firstName)}} here {{passenger.message}}
  • {{Utils.convertNameCase(passenger.passengerDetails.title)}} {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} {{Utils.convertNameCase(passenger.passengerDetails.lastName)}}
    Cot space available No cot space available Infant ticket available
    Move {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Leave {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} here Swap with {{Utils.convertNameCase(passenger.passengerDetails.firstName)}} Move {{Utils.convertNameCase(getActiveSwapPassenger().passengerDetails.firstName)}} here {{passenger.message}}
loading
{{IbpCms.cabinAllocationBookSameForReturn}}
{{getPaymentHeading()}}

{{IbpCms.paymentIntro}}

Total due: {{getBookingTotalPriceBeforeVouchers()}}

Applied vouchers

  • #{{voucher.voucherNumber}}:  ${{voucher.value}}
Total now due: {{getBookingTotalPriceAfterVouchers()}}
Your voucher(s) will cover the cost of your booking. Please fill in the remaining details below. Add another voucher or use another payment method.
{{giftVoucherResult.message}}

You are cancelling the following sailing(s):
{{ sailing.getOriginName() }} to {{ LocationCode.getLocationName(Utils.reverseLocationCode(sailing.origin)) }} departing {{ Utils.dateFormat(sailing.getDate(), 'dddd D MMMM, YYYY') }}
Card # must match type Required
Expiry date
{{IbpCms.validationCreditCardExpiry}} Required

Travel insurance

{{IbpCms.paymentTravelInsuranceFlavourText}}
Get travel insurance

{{payment.insurance.quote.label}} - Travel insurance premium = {{ payment.insurance.quote.price | money}}

View Details Remove
{{IbpCms.paymentNoTravelInsuranceWithGiftVouchers}}


Agency details

Show/hide net value ${{ getBalanceToBePaid() }}

You must agree to the following Terms and Conditions: Conditions of Carriage, Tasmanian Quarantine Conditions, Privacy Policy, Refund Policy, and the full terms and conditions of each fare linked below.

View our Privacy Statement regarding the personal information we have collected

Outbound fare summary
See full Terms & Conditions
Return fare summary
See full Terms & Conditions
loading
Booking updated

Dear {{ getCancelledBookingFirstName() }}

Your cancellation has been successful. {{ getPartialCancellationMessage() }}

Kind regards,

The team at Spirit of Tasmania

Cancellation successful

Dear {{ getCancelledBookingFirstName() }}

Your cancellation has been successful. We hope you book with us again soon.

Kind regards,

The team at Spirit of Tasmania

Booking confirmed!

Your booking reference is {{getBookingReference()}}.

Your travel insurance was successfully processed. Your policy number is {{getInsurancePolicyNumber()}}. Documentation will be sent to your specified email address.

Your travel insurance purchase was not successfully processed. To add travel insurance to your existing booking, please login to 'Manage my booking'.

Request

{{IbpCms.bookingConfirmedTextRequest}}

Insurance

{{IbpCms.bookingConfirmedTextInsurance}}

Sailors Club

{{IbpCms.bookingConfirmedTextSailorsClub}}

Show/hide net value {{ Utils.formatCurrency(getAgentActualPaymentAmount()) }}

Internet Banking Details


Bank Receipt Number: {{getInternetBankingDetails().bankReceiptNumber}}; Poli Transaction Reference Number: {{getInternetBankingDetails().transactionReferenceNumber}}
Completed At: {{getInternetBankingDetails().completedDateTime}}; Amount Paid: ${{getInternetBankingDetails().amountPaid}}; Status: {{getInternetBankingDetails().status}}