Seven-day Heartlands road trip

A journey in central Tasmania will nudge your sense of time in unexpected directions. Your drive through the Heartlands winds through lands traditionally owned by Tasmanian Aboriginal nations, settled by Europeans in the early 1800s, and farmed and loved by generations of Tasmanians since. Detour on convict-built roads and follow country lanes hemmed by hedgerows. Find traditional country hospitality along streets lined with Georgian-era facades. Then venture into the Central Highlands, a wild landscape of lakes, mountains and moors with a rich hydro-industrial legacy.

Mole Creek Caves tour (formerly Marakoopa Cave tour). Photo: Tourism Australia & Graham Freeman

Day 1: Devonport to Deloraine

On arrival at Devonport, disembark Spirit of Tasmania and drive south to Mole Creek, where caves, critters and cliffs will easily fill most of the days. The surrounding Mole Creek Karst National Park has about 300 caves – head underground into Marakoopa Cave, featuring glow worms and fantastic limestone formations.

Stop for coffee or lunch at Earthwater Café, near Mole Creek, and then delve into the world of Tasmanian devils and a cohort of other wildlife at Trowunna Wildlife Sanctuary.

Take a short walk to Tulumpanga/Alum Cliffs, where a lookout shadows the Mersey River as it bends through a gorge. This is a place of social and spiritual significance to Palawa people, Tasmanian Aboriginal people, because of the ochre found in the area.

An easy way to combine all these experiences in Mole Creek is on a full-day cultural tour with Kooparoona Niara Tours.

The streets of nearby Deloraine are lined with Georgian and Victorian buildings classified by the National Trust, making this artsy town a fascinating place for a   leisurely walk. The Deloraine Streetscape Sculptures is a collection of 23 works spread around town, creating an hour-long walk along the banks of the Meander River and Emu Bay Road, past art galleries and vintage boutiques.

Find dinner and curiosity at Cycles at the Empire, a cafe-restaurant in a corner of the Empire Hotel – Deloraine’s tallest building and a former bike factory.

Spend the night at Blakes Manor, or head 25 minutes out of town to the solitude of The Peak Forest Retreat, and sleep under the summit of Mother Cummings Peak.

Great Short Walks - Liffey Forest Reserve. Photo: Sarajayne Lada

Day 2: Deloraine to Bothwell

As you climb through the Great Western Tiers, detour to admire the popular Liffey Falls. Take a 45-minute walk from the picnic ground to the base of the falls.

Stop for lunch at the Great Lake Hotel, a traditional country pub on the shores of Great Lake in Miena.

Drive the self-guided Highlands Power Trail and wander through the turbine hall of the century-old Waddamana Power Station, Tasmania's first hydro power plant.

Back on Highland Lakes Road, stop at the curious Steppes sculptures, a stone circle populated with bronze sculptures of Tasmanian native animals. The Steppes Homestead, connected to the sculptures by a short walking trail, was home to the Wilson family for 112 years from 1863.

Tartan street signs indicate Bothwell's Scottish heritage, while its 50 heritage-listed buildings make this town utterly charming. Take a walk through its streets, stopping at St Michael's and All Angels Church to find the rarest of ecclesiastical features – a fireplace.

Stay overnight at Bothwell. Sleep surrounded by history at Ratho Farm, with guestrooms in convict-built barns and stables, or at Bothwell Grange B&B, an old sandstone coach house.

Ratho Farm. Photo: Tourism Tasmania & Rob Burnett

Day 3: Bothwell to Oatlands

This morning, tee off at Ratho Farm, home to Australia's oldest golf course, built in 1822. Test your skills on the challenging 18-holes golf course, restored and expanded in recent years.

Driving through Midland Highway, take a short detour south to Kempton. Settled in the 1820s by Anthony Kemp – a Rum Rebellion mutineer and pioneer of the Tasmanian wool industry – the town is lined with striking colonial buildings from its time as a busy 19th-century coaching stop.

Before leaving Kempton, discover some of the most popular distilleries around town. The Old Kempton Distillery is housed in an 1842 coaching inn, with tastings and afternoon tours available. Nearby, Shene Distillery's roadside stall offers tastings of Tasmania's only triple-distilled whisky. You can also tour the distillery, set in a storied estate built in the early 19th century in Pontville.

In the heritage town of Oatlands, wander the grounds of the 18th century Callington Mill, which is being repurposed and transformed into a whisky distillery. Make sure to visit The Jardin Room for antiques, The Imbibers for local wine and produce, and the Oatlands Pancake and Crepe Shop for brunch.

Grab a pub-style dinner at the Kentish Hotel in Oatlands before staying overnight in town.

Red Bridge. Photo: Tourism Tasmania & Brian Dullaghan

Day 4: Oatlands to Ross

Take a morning stroll along the shores of Lake Dulverton, a waterbird sanctuary where over 80 bird species have been recorded.

On the drive to Ross, duck into the town of Tunbridge, where the convict-built 1848 Blackman River Bridge is Australia's oldest wooden span bridge. Admire Tunbridge Manor, one of three inns that once served the town. Today it's a stately private residence.

Hit Ross in time for lunch at one of its two bakeries. Bakery 31 is famed for scallop pies, while Ross Village Bakery is known for the “world’s greatest” vanilla slice.

Ross is one of Australia's most alluring 19th-century villages. Explore its elm-lined streets in retro style on a vintage bicycle from Dinki Bike Hire.

Tasmania's merino industry began in the Midlands around Ross in the 1830s and is celebrated in the Tasmanian Wool Centre, which features a re-created shearing shed, galleries and one of the state's largest retail areas dedicated to woollens.

Stay overnight at the Ross Hotel, built in 1835 from local hand-cut sandstone.

Ross Female Factory. Photo: Tourism Tasmania & Dan Fellow

Day 5: Ross to Longford

Ross is the perfect size for exploring on foot. Stroll past the red phone boxes on the main street and pick up the phone to listen to audio stories of the town's history.

Ross Bridge, built in 1836, spans the Macquarie River. The 186 carvings on Australia's third-oldest bridge were considered so exquisite that the stonemasons were issued free pardons.

End your walk at the Ross Female Factory Historic Site, a 19th century probation station for female convicts and their children. This is one of the 11 locations that form the Heritage-Listed Australian Convict Sites and one of the best preserved in the country.

Brush up on local history at the Campbell Town Museum, and then acquire your own artefacts among the town's antique shops and second-hand bookshops.

Grab a picnic lunch from one of Campbell Town's cafes and head to the banks of Elizabeth River. Admire the Red Bridge, built in 1838 and said to contain over a million bricks.

Spend the night in Longford, where you’ll have the chance to sleep in heritage-listed cottages at Brickendon and at Woolmers Estate.

Brickendon Estate. Photo: Chris Crerar

Day 6: Longford to Westbury

Brickendon and Woolmers estates are both part of the Australian Convict Sites World Heritage listing – allow a morning to explore the properties.

Brickendon features a farm village dating back to the 1820s, while Woolmers Estate offers homestead tours and visits to Australia's oldest operating shearing shed. The leisurely, 2.8-kilometre Convict Farm Walk links the two properties.

As the trout-shaped street signs attest, the town of Cressy it’s a hub for fly fishing. The town offers access to some of the world's best fly-fishing waters – Brumbys Creek, the Weirs and the Macquarie River to name a few – and hosts the annual Tasmanian Trout Expo. Find a local fishing guide at Trout Territory and test your skills in the water.

Fill a hamper with baked goods from the Rustic Bakehouse in Cressy and head to the village of Bracknell for a picnic by the Liffey River.

Take the slow road, meandering beside the Liffey River across the foot of the Great Western Tiers to the village of Liffey, before swinging north into Westbury past Quamby Bluff, the northernmost peak in the Tasmanian Wilderness World Heritage Area.

The classically Georgian architecture of Westbury and a six-metre-high set of cricket stumps create a true British atmosphere.

Spend the night in Westbury, maybe staying at the Westbury Gingerbread Cottages.

Christmas Hills Raspberry Farm Cafe. Photo: Danielle Prowse.

Day 7: Westbury to Devonport

Start the day on foot along the Westbury Silhouette Trail, an easy hour-long walk that connects eight artworks around town and passes historical buildings from Westbury's early days as a garrison town.

Delve into agricultural history at Pearns Steam World, where a collection of more than 200 steam engines and tractors awaits.

Before leaving town, head to The Green Door Café-Restaurant-Apothecary for delicious baked goods and fresh flowers.

When in Elizabeth Town, indulge in some sweet treats. Stop at Van Diemens Land Creamery, with 24 flavours of ice-cream, and sample chocolate-coated raspberries at Christmas Hills Raspberry Farm.

After a sweet adventure, head back to Devonport to board Spirit of Tasmania, where your road trip ends. 1

Original content is courtesy of Tourism Tasmania.

{{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) === 0 ? 'Free' : '$' + getVehiclePrice($index)}} ({{getVehicleNet($index) | money }}) To be selected
    • ${{getPushbikesPrice(ExtrasCode.PushbikeRebate) || 'To be selected'}}
    • ${{getPushbikesPrice(ExtrasCode.PushbikeNoRebate) || '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) === 0 ? 'Free' : '$' + getVehiclePrice($index)}} ({{getVehicleNet($index) | money }}) To be selected
    • ${{getPushbikesPrice(ExtrasCode.PushbikeRebate) || 'To be selected'}}
    • ${{getPushbikesPrice(ExtrasCode.PushbikeNoRebate) || '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() }} View trip summary
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 }}
  • Credit card fee refund
  • 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!

Passengers

Outbound Vehicle{{getVehiclePluralisation(LegOfJourney.Outbound)}}

Return Vehicle{{getVehiclePluralisation(LegOfJourney.Return)}}

Outbound Trip

Return Trip

Outbound Accommodation

  • {{option.quantity}} x {{option.displayText}}

Return Accommodation

  • {{option.quantity}} x {{option.displayText}}
Select vehicle{{getVehicleTitlePluralisation()}}
{{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{{getVehicleTitlePluralisation()}}
{{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

${{getTotalMinimumPriceAdvice().totalMinimumPrice}}

Are all passengers Tasmanian residents?

Select {{legOfJourney.toLowerCase()}} date

${{getTotalMinimumPriceAdvice().totalMinimumPrice}}

Are all passengers Tasmanian residents?

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
    Unavailable
    Due to COVID-19 restrictions
    {{IbpCms.accommodationNotEnoughPeople}}
    {{option.displayText}}s not available with this deal.
    Remove Deal
    {{IbpCms.accommodationReclinersBlockedMessage}}
    {{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
    Unavailable
    Due to COVID-19 restrictions
    {{IbpCms.accommodationNotEnoughPeople}}
    {{option.displayText}}s not available with this deal.
    Remove Deal
    {{IbpCms.accommodationReclinersBlockedMessage}}
    {{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) === 0 ? 'Free' : '$' + getVehiclePrice($index)}} ({{getVehicleNet($index) | money }}) To be selected
    • {{extra}}
    • {{vehicle.getTotalLength()}}
  • ${{getPushbikesPrice(ExtrasCode.PushbikeRebate) || 'To be selected'}}
  • ${{getPushbikesPrice(ExtrasCode.PushbikeNoRebate) || '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) === 0 ? 'Free' : '$' + getVehiclePrice($index)}} ({{getVehicleNet($index) | money }}) To be selected
    • {{extra}}
    • {{vehicle.getTotalLength()}}
  • ${{getPushbikesPrice(ExtrasCode.PushbikeRebate) || 'To be selected'}}
  • ${{getPushbikesPrice(ExtrasCode.PushbikeNoRebate) || '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}}

Contact Details

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

Reason for cancellation

We’re sorry that you are no longer travelling with us and would like to understand why. Please note this response is optional and fully confidential.

I am cancelling my booking because:

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}}

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}}
Booking Process Complete!

An e-Ticket with your booking number will be issued automatically after approval.
You will be redirected in seconds...