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'}}
20 February, 2019

Good food meets good times at Tasmania’s cooking schools

Get hands-on with the island’s prime produce at gourmet cooking classes to suit every taste.

If you’re coming to Tassie to feast on its famous food, why not dive right in at a cooking school? Some of the state’s top chefs can take you from harvesting produce so local it’s often just outside the kitchen, to savouring your creations with new friends and gorgeous views.

The Agrarian Kitchen

One of Australia’s great paddock-to-plate cooking-school experiences, The Agrarian Kitchen uses the heirloom fruits and vegetables and rare animal breeds thriving around its Derwent Valley farm setting. Classes are held in a handsomely converted 19th century school, and usually led by host Rodney Dunn, former Gourmet Traveller magazine food editor. Whether it’s autumn’s tomato gluttony class or cooking with fire in winter, just reading about what’s in store is mouthwatering.

The Agrarian Kitchen (Image: Adam Gibson
The Agrarian Kitchen (Image: Adam Gibson

The Farmhouse Kitchen

From a miniclass dedicated to making perfect tiramisu to a masterclass in alfresco food, The Farmhouse Kitchen has got Italian cooking covered. Your host is Giuliana White, whose parents migrated from Italy in the 1950s. She learnt everything there is to know about the southern region of Puglia’s traditional cooking from her mum, and passes on the secrets of la dolce vita in her big, beautiful country-style kitchen in the Huon Valley.

Farmhouse Kitchen (Image: Farmhouse Kitchen)

Fat Pig Farm

Matthew Evans’ ongoing transformation from high-profile Sydney food critic to Huon Valley farmer has made great TV on the SBS series Gourmet Farmer. Since 2016, visitors have been able to get behind the Fat Pig Farm scenes to enjoy his produce and cooking at long lunches, usually only offered weekly, and even more rare cooking classes. Book early if you want to be part of these seasonal sessions that start with harvesting ingredients and saying hello to the Wessex Saddleback pigs.

Fat Pig Restaurant (Image: Alan Benson)

Provenance Kitchen

From visiting local producers and foraging for ingredients to the four-course meal at the end, a Provenance Kitchen cooking class is an all-day foodies’ delight. The setting is part of the pleasure: the 1830s Highfield Historic Site in Stanley, a fishing town on the wild north-west coast. The recipes you take home will be enduring reminders of a tasty day in Tasmania, and with classes limited to eight people you might make some lasting friendships too.

Sally Wise Cooking School

Spanish cooking, slow cooking, bottling the season’s produce or building a wood-fired oven and creating the perfect pizza, Sally Wise Cooking School has a class for every taste. The author of oodles of cookbooks, and 2019 Tasmanian Senior Australian of the Year, Sally shares her wisdom and recipes using produce from local farmers and her own garden and orchard in the Derwent Valley.

Sally Wise (Image: Sally Wise)

Hinton Bay Kitchen

Former cafe owner and chef Jane Bissett now shares her kitchen smarts in her own home in the Tamar Valley, overlooking Hinton Bay Vineyard and the Tamar River. In lovely light-filled spaces made for feasting and fun, with a welcoming open fire on chilly days, you can prepare then eat dishes she’s designed to impress. Hinton Bay Kitchen’s classes include authentic Thai, vegan and vegetarian Italian, or for romantic escapes with a delicious difference, weekend cooking retreats for couples.

Sylvia’s Kitchen Tasmania

Want to master handmade pasta or Moroccan tajine cooking, or do you simply need to learn the basics? Sylvia’s Kitchen Tasmania has a class to suit, with a maximum of six participants (or just two for private classes) so everyone gets hands-on help and the mood’s relaxed. Sylvia welcomes you into her own Launceston kitchen, where she reveals techniques, tips and recipes gleaned from decades of professional experience in restaurants, catering and teaching cooking.

Fabulous fish class (Image: Sylvia's kitchen)

A journey measured in moments

Begin your holiday the minute you step on board. 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 {{legOfJourney.toLowerCase()}} 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()}} 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}}