Progress {{vm.returnStageIndex(vm.currentStage)}} of {{vm.stages.length}}: {{vm.currentStage}}
  • Before you book…

  • Why not add a few extra days of magic and relaxation to your holiday by choosing one of these great-value extensions?
  • Choose from
  • with…

{{vm.returnExtensionShortName(item.tourName)}}

  • Additional Price
  • +£{{vm.decimalString(item.priceDifference)}}pp
  • {{item._extraDays}} Extra Days
Find out more
  • Selected Tour
  • {{vm.moment(vm.data.ga.departureDetails.outbound[0].depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}} - {{vm.moment(vm.data.ga.departureDetails.inbound[0].arrDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
  • {{vm.duration && vm.duration > 1 ? vm.duration + ' Days' : vm.duration + ' Day'}}, {{vm.data.ga.departureDetails.outbound[0].departsDesc}} ({{vm.data.ga.departureDetails.outbound[0].departs}})
From £{{vm.decimalString(vm.cheapestHotel.CheapestPrice)}}pp

Choose any of the extensions offered and your booking will automatically be moved to that version of the tour. Your departure date and airport will stay the same, but the holiday name will change and the Price will increase to include the Additional Price for the extension.

  • Before you go…
  • Why not get more from your tour by selecting one of these extensions?
  • Selected Tour
  • {{vm.moment(vm.data.ga.departureDetails.outbound[0].depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}} - {{vm.moment(vm.data.ga.departureDetails.inbound[0].arrDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
  • {{vm.duration && vm.duration > 1 ? vm.duration + ' Days' : vm.duration + ' Day'}}, {{vm.data.ga.departureDetails.inbound[0].arrivesDesc}} ({{vm.data.ga.departureDetails.inbound[0].arrives}})
Total price £

{{vm.error.title}}

{{vm.error.subtitle}}

  • Flights & Transfers

  • Your included flights

  • Included trains

  • Your included train tickets

  • Duration
    {{vm.getDuration(flight.depDate+' '+flight.depTime,flight.departs,flight.arrDate+' '+flight.arrTime,flight.arrives,flight)}}
    Departure
    {{flight.depTime}} - {{vm.moment(flight.depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.departsDesc}} {{flight.departs ? '(' + flight.departs + ')' : ''}}
    Flight Number
    {{flight.description}}
    Class
    {{flight.seat}}
    Arrival
    {{flight.arrTime}} - {{vm.moment(flight.arrDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
    Airline
    Operator
    {{flight.supplierDesc}}
    Hold Baggage
    {{flight._baggage.altText}}
    {{vm.getDuration(flight.arrDate+' '+flight.arrTime,flight.arrives,$flight[$index+1].depDate+' '+$flight[$index+1].depTime,$flight[$index+1].departs)}} stopover at {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
  • Duration
    {{vm.getDuration(flight.depDate+' '+flight.depTime,flight.departs,flight.arrDate+' '+flight.arrTime,flight.arrives,flight)}}
    Departure
    {{flight.depTime}} - {{vm.moment(flight.depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.departsDesc}} {{flight.departs ? '(' + flight.departs + ')' : ''}}
    Flight Number
    {{flight.description}}
    Class
    {{flight.seat}}
    Arrival
    {{flight.arrTime}} - {{vm.moment(flight.arrDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
    Airline
    Operator
    {{flight.supplierDesc}}
    Hold Baggage
    {{flight._baggage.altText}}
    {{vm.getDuration(flight.arrDate+' '+flight.arrTime,flight.arrives,$flight[$index+1].depDate+' '+$flight[$index+1].depTime,$flight[$index+1].departs)}} stopover at {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
  • All times are local
  • Return airport-to-hotel transfers included Airport transfer included
  • Rail station to {{vm.data.ga.accommodations[0].accName}} transfer included

  • Hotels & Rooms

  • {{vm.data.ga.accommodations.length > 1 ? 'Choose your hotel and rooms' : 'Choose your rooms' }}

  • River Cruise & Cabins

  • {{vm.data.ga.accommodations.length > 1 ? 'Cabins for ' + vm.data.ga.accommodations[0].nights + ' night'+(vm.data.ga.accommodations[0].nights>1?'s':'') : 'Select your cabins for ' + vm.data.ga.accommodations[0].nights + ' night'+(vm.data.ga.accommodations[0].nights>1?'s':'') }}

  • Ocean Cruise & Cabins

  • {{vm.data.ga.accommodations.length > 1 ? 'Cabins for ' + vm.data.ga.accommodations[0].nights + ' night'+(vm.data.ga.accommodations[0].nights>1?'s':'') : 'Select your cabins for ' + vm.data.ga.accommodations[0].nights + ' night'+(vm.data.ga.accommodations[0].nights>1?'s':'') }}

{{vm.filteredHotels.length}} hotel option{{vm.filteredHotels.length > 1 ? "s" : ""}} available
Filter Options
  • £{{vm.hotelPriceSlider.minValue}}
    £{{vm.hotelPriceSlider.maxValue}}

{{ hotel.accDescription[0].strippedBody | limitTo: 150 }}{{hotel.accDescription[0].strippedBody.length > 150 ? '... ' : ''}}

Check in/out
  • {{vm.moment(hotel.checkIn,"YYYY-MM-DD").format("DD MMM YYYY") + ' - ' + vm.moment(hotel.checkOut,"YYYY-MM-DD").format("DD MMM YYYY")}}
Departing From
  • {{vm.oceanPort}}
Board Basis
  • {{hotel.boardBasisDesc}}
Prices From
  • {{hotel.CheapestRoom.wasPrice > 0 ? 'Now £' + vm.decimalString(hotel.CheapestRoom.price) + 'pp' : '£' + vm.decimalString(hotel.CheapestRoom.price) + 'pp'}}
  • was £{{vm.decimalString(hotel.CheapestRoom.wasPrice)}}
Loading...

Your Selection

  • {{vm.getNoOfRooms(vm.selectedHotel.hotel)}} Room{{vm.getNoOfRooms(vm.selectedHotel.hotel)>1?'s':''}} selected
  • £{{vm.decimalString(vm.selectedHotel.hotel.total)}}
  • from
  • £{{vm.decimalString(hotel.CheapestPrice)}} was £{{vm.decimalString(hotel.CheapestRoom.wasPrice)}}
  • per person
Explore the ships deck plan

The best way to find your way around {{vm.selectedHotel.hotel.accName}}, explore the ships deck plan.

Showing {{vm.getCabinCount()}} cabin{{vm.getCabinCount() > 1 ? "s" : ""}}
Filter Options
  • £{{vm.priceSlider.minValue}}
    £{{vm.priceSlider.maxValue}}
Cabin type
Price (pp)
No. of cabins

Single Cabins

Sold Out
  • Price Includes
  • {{unitExtra.name}}
  • Now £{{vm.decimalString(unit.price)}}
  • was £{{vm.decimalString(unit.wasPrice)}}
  • Ambassador Fare
  • Upgrade for an extra £{{vm.decimalString(unit.ambassadorPrice - unit.price)}}pp
Selected Cabin(s)
{{gradeUnit.unitNumber}} Change | Remove
There are no results. Please change or clear filter options to try again
{{vm.data.ga.accommodations[0].units.length}} option{{vm.data.ga.accommodations[0].units.length > 1 ? "s" : ""}} available
Filter Options
  • £{{vm.priceSlider.minValue}}
    £{{vm.priceSlider.maxValue}}
{{vm.productType == 'River' ? 'Cabin type' : 'Room Type'}}
Board Basis
Max Occupancy
Price Per Person
Number of Rooms
  • {{unit.unitName}}
  • {{unit.avail}} remaining
{{vm.data.ga.accommodations[0].boardBasisDesc}}
{{unit.adultMaxOcc}}
  • £{{vm.decimalString(unit.price)}}
  • £{{vm.decimalString(unit.wasPrice)}}
  • Event Tickets

  • Choose {{vm.getExtrasItem("EVENTTICKETS").minQty}} tickets from the options below

Your holiday includes tickets to the event below. Please make sure that you add a ticket for every person in your party before continuing with your booking.

{{vm.getExtrasItem('EVENTTICKETS').name}}

{{vm.getExtrasItem('EVENTTICKETS').date}}

  • {{tag}}

{{ vm.stripHTML(vm.getExtrasItem('EVENTTICKETS').description) | limitTo: 150 }}{{vm.stripHTML(vm.getExtrasItem('EVENTTICKETS').description).length > 150 ? '... ' : ''}}read more

Ticket Category
Supplement
Number of Tickets
{{ticket.name}}
{{ticket.price > 0 ? '£' + vm.decimalString(ticket.price) : 'Included'}}

Optional Excursions

Choose any of the following options

Our optional excursions give you the chance to see even more on your holiday. Discover new sights, explore new places and enjoy some unforgettable experiences.

{{excursion.name}}

{{excursion.date}}

  • {{tag}}

{{ excursion.strippedBody | limitTo: 150 }}{{excursion.strippedBody.length > 150 ? '... ' : ''}}

  • from
  • £{{vm.decimalString(excursion.price)}}
  • {{excursion.priceBasis == 'pp' ? 'per person' : excursion.priceBasis}}

Coach Tickets

Book coach transfers to and from the airport

Travelling out to join your cruise by train or coach? You can book a coach transfer from nearby bus or rail stations to the port itself. On cruises that start and finish in different ports, coach transfers between the two ports may also be available. (One-way and return tickets are available. Prices are per person.)

Ticket
Price (pp)
No. of Tickets
{{ticket.name}}
£{{vm.decimalString(ticket.price)}}

Vehicle Parking

Reserve departure-port parking spaces

Travelling out to join your cruise by car? You can book secure long-term port parking at the departure port. (The price shown below is the total per-car charge based on the duration of your cruise, not a per-person amount.)

Product
Price
Action
{{vm.carParking.items[0].name}}
£{{vm.decimalString(vm.carParking.items[0].price)}}

Your Vehicles

    • Loading...
    • {{car.make}} {{car.model}}
    • {{car.registration}} - {{car.colour}}

{{drinksPackage.name}}{{vm.userType != 'scs' ? vm.returnDrinksPackageSelectedUnitIndex(drinksPackage) : ""}}

Add Ambassador Moments drinks packages for people in this cabin

Whats included in this drinks package? Find out more

Product
Price (pp)
No. of Items
{{item.name}}
£{{vm.decimalString(item.price)}}
  • Promo Code

  • If you have a promo code to apply to your booking, please enter it here.

If you have a promo code to apply to your booking, please enter it here.

  • {{promo.text}}

  • Use code {{promo.code}}
  • *Valid until {{promo.validUntil}}
This field is required
  • Promo Code Applied
  • {{vm.ecommsPromoCode}}
  • Passengers

  • Click the plus signs below to provide personal details for each passenger

Adult Passengers

Loading...
Add Passenger {{$index + 1}}
  • {{item.profile.title}} {{item.profile.firstName}} {{item.profile.lastName}}
  • DOB: {{vm.moment(item.profile.dateOfBirth, 'YYYY-MM-DD').format("DD-MM-YYYY")}}
  • {{item.profile.accommodation ? vm.getUnitFromIdAndIndex(item.profile.accommodation).name : 'No room selected'}}
Travel Insurance £{{vm.decimalString(vm.getTravelInsurancePrice(true,vm.moment(item.profile.dateOfBirth, 'YYYY-MM-DD').format("DD/MM/YYYY")))}}
Excess Waiver £{{vm.decimalString(vm.getExcessWaiverPrice(true,vm.moment(item.profile.dateOfBirth, 'YYYY-MM-DD').format("DD/MM/YYYY")))}}
Dietry Requirements

Child Passengers

Loading...
Add Passenger {{vm.adults + ($index + 1)}}
  • {{item.profile.title}} {{item.profile.firstName}} {{item.profile.lastName}}
  • DOB: {{vm.moment(item.profile.dateOfBirth, 'YYYY-MM-DD').format("DD-MM-YYYY")}}
  • {{item.profile.accommodation ? vm.getUnitFromIdAndIndex(item.profile.accommodation).name : 'No room selected'}}
Travel Insurance £{{vm.decimalString(vm.getTravelInsurancePrice(true,vm.moment(item.profile.dateOfBirth, 'YYYY-MM-DD').format("DD/MM/YYYY")))}}
Excess Waiver £{{vm.decimalString(vm.getExcessWaiverPrice(true,vm.moment(item.profile.dateOfBirth, 'YYYY-MM-DD').format("DD/MM/YYYY")))}}
Dietry Requirements
  • Choose Lead Passenger

  • This passenger will receive all letters, emails and paperwork related to this booking

  • Emergency Contact

  • In case of an emergency this person will be contacted

This field is required

You must have at least 1 adult passenger (above) to complete this step.

Important:
The customers contact details should be provided. Agent and/or company email addresses should not be used.

  • {{vm.correspondent.correspondentProfile.title + ' ' + vm.correspondent.correspondentProfile.firstName + ' ' + vm.correspondent.correspondentProfile.lastName}}
  • {{vm.moment(vm.correspondent.correspondentProfile.dateOfBirth, 'YYYY-MM-DD').format("DD-MM-YYYY")}} ({{vm.momentAge(vm.correspondent.correspondentProfile.dateOfBirth, 'YYYY-MM-DD')}} years)
This field is required
This field is required
This field is required
This field is required Please enter a valid email
This field is required Enter a valid number Value must be at least 11 characters
This field is required Enter a valid number Value must be at least 11 characters
This field is required
This field is required
This field is required
This field is required
This field is required
This field is required
This field is required

Not sure? Use postcode lookup


  • Safe travel
  • COVID Vaccination

Your safety is of utmost importance to us, and as such, following direct consultation with our customers on their preferences, and also taking advice from independent safety bodies, we have made the difficult decision to require that all guests on our tours must have had at least one vaccine shot, no less than three weeks before the departure date. Please note that this decision will be reviewed regularly, based on the very latest safety advice.

This field is required

We recognise that this requirement may not work for everyone, and sincerely apologise for any inconvenience caused - if you do have any concerns, please contact us on 0330 341 1927 and we will be happy to discuss further options for you.

  • Safe travel
  • COVID Vaccination

Your safety is of utmost importance. We have made it a requirement for all guests over the age of 18 to be fully vaccinated. This includes two original doses, plus a booster dose (three doses in total) of a UK-approved Covid-19 vaccination. Children aged 12-17 years, must have had two doses of a UK-approved Covid-19 vaccination to travel with us.

Your safety is of utmost importance. We require all customers to be fully vaccinated in order to travel on our tours or cruises.

This field is required

You’ll need to bring proof of your vaccinations, which will be checked prior to embarkation. The easiest, and our preferred way to do this, is to download and login to the NHS app, then download a digital Covid-19 vaccination certificate as proof that you have received your full dose (including booster) of a UK-approved Covid-19 vaccination. Your digital certificate can only be obtained via the NHS App or website, or the HSC equivalent for Northern Ireland. If you do not have access to a smartphone or tablet, you can request an official letter from the NHS.

  1. People under the age of 18 at the time of travel.
  2. People who are unable to take the vaccine for medical reasons.
  • For people who can prove they fall into one of these exceptions, we will require proof of a negative PCR test result within 72 hours of departure. Whilst we do not stipulate a type of PCR test, please note that there may be official government guidelines for some destinations that require this to be a specific type of PCR test, as well as the potential requirement for additional tests. These official guidelines are liable to change periodically, and it remains the customer’s responsibility to ensure that they have adhered to those requirements.

  • Please note that we do sell some holidays where our suppliers dictate that there are no agreed exceptions to the rule that all passengers must be fully vaccinated. This will be covered within the terms & conditions for that holiday, and it remains the customer’s responsibility to ensure that they have adhered to those requirements.

To provide a seamless and smooth embarkation process when you arrive at London Tilbury and to save our guests time by not having to queue, we have decided that pre-departure Covid-19 tests are best taken at home. We’re delighted to be working with Chronomics, who provide a simple and fast way to order your home testing kits and provide you with a negative certificate, to present on arrival at the cruise terminal. Further details of how to order your home testing kits will be sent to you by email, 14 days prior to your sailing date.

We withold the right to ask to see proof of vaccine status for all passengers, including those that fall into an agreed exception, any time between the payment of balance and the end of the holiday (for people still awaiting their second dose, this would require proof of their first dose, and the date that it was carried out). If we are not satisfied with this proof we may decline the relevant person from joining the tour (or re-joining if the tour is already under way) at any time, and in these cases the standard cancellation terms and conditions will apply.

We recognise that this requirement may not work for everyone, and sincerely apologise for any inconvenience caused - if you do have any concerns, please contact us on 0330 341 1927 and we will be happy to discuss further options for you.


  • Booking Conditions & Destination Entry Requirements

You have not accepted the terms and conditions

  • Wimbledon Booking Requirements

Smart phone required
Please note that entry to Wimbledon is by digital ticket, so all customers will be required to download the Wimbledon App in order to enable them to present their tickets via a mobile phone on arrival. Further information on how to do this will be communicated nearer the start of the tournament.
Booking amendments
Name changes cannot be made within 12 weeks of the date of departure of your tour.
You have not accepted the terms and conditions

  • Special Assistance and Medical Information

To ensure you have a fantastic holiday, it is extremely important that we know about any disability, pre-existing medical, mobility or specific needs (including, but not limited to wheelchair use) that you have. If you are unsure, please call before booking. We will endeavour to accommodate all requirements, but we reserve the right to cancel your booking should we judge that the holiday you have booked is unsuitable given your needs.


  • Special Assistance and Medical Information

To ensure you have a fantastic holiday, it is extremely important that we know about any disability, pre-existing medical, mobility or specific needs (including, but not limited to wheelchair use) that you have.

Please read and answer the following carefully:

{{item.text}}

This field is required

  • Contacting You Again

From time to time, we may use your address and email to contact you about other holidays, deals and discounts that we think will interest you. If your booking has been made in partnership with one of our media partners, we may also share your contact details with them, and they may contact you about travel offers and to ask if you'd like to hear about other products and services they offer. We will never share your Personal Data with any other third party for marketing purposes. Read more


  • Special Assistance and Medical Information

Please read this and act as necessary:

It is extremely important that we know about any special assistance, disability, medical or mobility needs (such as wheelchair use) that any of the passengers on the booking have - particularly if they may affect their holiday.

Please ask the travel agent to check with the customer about their medical needs, and inform them that supplying the information to you also means that they have given their consent to us using and storing their medical information, and to our sharing it with our suppliers, to ensure that their needs are met as far as possible during their holiday.

Please read the following carefully:

{{item.text}}

This field is required

  • Special Assistance and Medical Information

Please read this and act as necessary:

It is extremely important that we know about any special assistance, disability, medical or mobility needs (such as wheelchair use) that any of the passengers on the booking have - particularly if they may affect their holiday.

Please ask the customer about their medical needs, and inform them that supplying the information to you also means that they have given their consent to us using and storing their medical information, and to our sharing it with our suppliers, to ensure that their needs are met as far as possible during their holiday.

Please read and answer the following carefully:

{{item.text}}

This field is required

Please read this and act as necessary:

It is extremely important that we know about any special assistance, disability, medical or mobility needs (such as wheelchair use) that any of the passengers on the booking have - particularly if they may affect their holiday. We will try our best to accommodate all requirements, but reserve the right to refuse carriage if we consider the holiday booked to be unsuitable given their needs. If this happens, we will refund any payments they have made to us in full.

Please ask the customer about their medical needs, and inform them that supplying the information to you also means that they have given their consent to us using and storing their medical information, and to our sharing it with our suppliers, to ensure that their needs are met as far as possible during their holiday.

Please supply any medical information to us as soon as possible by telephone once you have collected it, and do not retain any copies of it without the customer's explicit consent.


  • Data Protection and Privacy

PLEASE READ THIS ALOUD TO THE CUSTOMER:

Newmarket Holidays understands that making purchases with us involves a great deal of trust on your part. We take this trust very seriously, and make ensuring the security and confidentiality of the Personal Data that you provide to us one of our highest priorities. We will never share your Personal Data with an un-named third party for marketing purposes. You can find out more about how we use and protect your Personal Data online at https://www.newmarketholidays.co.uk/privacy

Review Your Booking

Please check this information carefully. Later alterations, especially name changes, may lead to additional charges

COVID Vaccination

You have confirmed that all passengers of this booking will have had at least one vaccine shot, no less than three weeks before the departure date.

COVID Vaccination

You have confirmed that all passengers of this booking will be fully vaccinated against COVID-19.

COVID Vaccination

You have confirmed that all passengers of this booking will be fully vaccinated against COVID-19 no less than 14 days prior to sailing.

Special Assistance

You have specified that a member of this booking may have a disability, pre-existing medical, mobility or specific needs. Upon completion of your booking a member of our team will be in touch to discuss any requirements you may have in further detail.

  • {{vm.moment(vm.departureDate,"YYYY-MM-DD").format("DD MMM")}} - {{vm.moment(vm.departureDate,"YYYY-MM-DD").add(vm.duration-1,"days").format("DD MMM, YYYY")}}
  • {{vm.adults}} {{vm.adults==1?'Adult':'Adults'}}{{vm.children>0 ?', ' + vm.children +' '+ (vm.children==1?'Child':'Children') : ''}}
  • Departing from {{vm.data.ga.departureDetails.outbound[0].departsDesc}}
Transport
Transport
  • Duration
    {{vm.getDuration(flight.depDate+' '+flight.depTime,flight.departs,flight.arrDate+' '+flight.arrTime,flight.arrives,flight)}}
    Departure
    {{flight.depTime}} - {{vm.moment(flight.depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.departsDesc}} {{flight.departs ? '(' + flight.departs + ')' : ''}}
    Flight Number
    {{flight.description}}
    Class
    {{flight.seat}}
    Arrival
    {{flight.arrTime}} - {{vm.moment(flight.arrDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
    Airline
    Operator
    {{flight.supplierDesc}}
    Hold Baggage
    {{flight._baggage.altText}}
    {{vm.getDuration(flight.arrDate+' '+flight.arrTime,flight.arrives,$flight[$index+1].depDate+' '+$flight[$index+1].depTime,$flight[$index+1].departs)}} stopover at {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
  • Duration
    {{vm.getDuration(flight.depDate+' '+flight.depTime,flight.departs,flight.arrDate+' '+flight.arrTime,flight.arrives,flight)}}
    Departure
    {{flight.depTime}} - {{vm.moment(flight.depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.departsDesc}} {{flight.departs ? '(' + flight.departs + ')' : ''}}
    Flight Number
    {{flight.description}}
    Class
    {{flight.seat}}
    Arrival
    {{flight.arrTime}} - {{vm.moment(flight.arrDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
    Airline
    Operator
    {{flight.supplierDesc}}
    Hold Baggage
    {{flight._baggage.altText}}
    {{vm.getDuration(flight.arrDate+' '+flight.arrTime,flight.arrives,$flight[$index+1].depDate+' '+$flight[$index+1].depTime,$flight[$index+1].departs)}} stopover at {{flight.arrivesDesc}} {{flight.arrives ? '(' + flight.arrives + ')' : ''}}
  • All times are local
  • Return airport-to-hotel transfers included Airport transfer included
  • Rail station to {{vm.data.ga.accommodations[0].accName}} transfer included
Accommodation
Hotel Ship Price
  • {{acc.accName}}
  • {{vm.moment(acc.accommodation.checkIn,"YYYY-MM-DD").format("DD MMM")}} - {{vm.moment(acc.accommodation.checkOut,"YYYY-MM-DD").format("DD MMM, YYYY")}}
£{{vm.decimalString(vm.getBasketAccommodationTotal(acc))}}
Room Cabin Price
{{unit.unitDesc}} £{{vm.decimalString(unit.price)}}
Passengers
Name Insurance
{{card.profile.title}} {{card.profile.firstName}} {{card.profile.lastName}} {{((card.profile.insurances.travel?card.travelInsurancePrice:0) + (card.profile.insurances.excessWaiver?card.excessWaiverPrice:0))?'£'+vm.decimalString((card.profile.insurances.travel?card.travelInsurancePrice:0) + (card.profile.insurances.excessWaiver?card.excessWaiverPrice:0)):'None'}}
Room Cabin
{{card.profile.accommodation ? vm.getUnitFromIdAndIndex(card.profile.accommodation).name : ''}}
Extras
Type Qty Total
Event Tickets {{vm.getSelectedExtrasCount('EVENTTICKETS')}} £{{vm.decimalString(vm.getTotalPriceForExtras('EVENTTICKETS'))}}
  • {{vm.getExtrasItem('EVENTTICKETS').name}}
Name Qty Price
{{item.name}} {{item.qty}} £{{vm.decimalString(item.price*item.qty)}}
Optional Excursions {{vm.getSelectedExtrasCount('OPTIONALEXCURSION')}} £{{vm.decimalString(vm.getTotalPriceForExtras('OPTIONALEXCURSION'))}}
Name Qty Price
{{item.name}} {{item.qty}} £{{vm.decimalString(item.price*item.qty)}}
Coach Tickets {{vm.getSelectedExtrasCount('COACHTICKETS')}} £{{vm.decimalString(vm.getTotalPriceForExtras('COACHTICKETS'))}}
Name Qty Price
  • {{item.name}}
{{item.qty}} £{{vm.decimalString(item.price*item.qty)}}
Vehicle Parking {{vm.getSelectedExtrasCount('CARPARKING')}} £{{vm.decimalString(vm.getTotalPriceForExtras('CARPARKING'))}}
Vehicle Qty Price
  • {{item.registration}}
  • {{item.make}} {{item.model}}, {{item.colour}}
1 £{{vm.decimalString(vm.getSelectedExtras('CARPARKING')[0].price)}}
Drinks Packages {{vm.getSelectedExtrasCount('DRINKSPACKAGE')}} £{{vm.decimalString(vm.getTotalPriceForExtras('DRINKSPACKAGE'))}}
Name Qty Price (pp)
{{item.name}} {{item.qty}} £{{vm.decimalString(item.price)}}
{{vm.reviewExpanded ? "Close summary" : "Expand to see full summary"}}

Payment & Billing

All correspondence for this booking will be addressed to the person below

Lead Passenger
{{vm.correspondent.correspondentProfile.title}} {{vm.correspondent.correspondentProfile.firstName}} {{vm.correspondent.correspondentProfile.lastName}}
{{vm.correspondent.correspondentProfile.address1}},
{{vm.correspondent.correspondentProfile.address2}},
{{vm.correspondent.correspondentProfile.town}},
{{vm.correspondent.correspondentProfile.county}},
{{vm.correspondent.correspondentProfile.postcode}},
{{vm.correspondent.correspondentProfile.country}}
{{vm.correspondent.correspondentProfile.emailAddress}}
Landline: {{vm.correspondent.correspondentProfile.personalLandline}}
Mobile: {{vm.correspondent.correspondentProfile.personalMobile}}
Subtotal £{{vm.decimalString(vm.basket.priceSummary.totalPrice+vm.getDiscountsTotal())}}
Discount: {{discount.unitDesc}} -£{{vm.decimalString(vm.mathAbs(discount.price))}}

Total £{{vm.decimalString(vm.basket.priceSummary.totalPrice)}}
Deposit required (including insurance) £{{vm.decimalString(vm.basket.priceSummary.deposit)}}
Remainder due by {{vm.moment(vm.basket.priceSummary.balanceDueDate,"YYYY-MM-DD").format("DD MMM YYYY")}}

You can pay by debit or credit card. No card charges will be made for payments whichever card type you choose.

All our payments are made through a secure gateway. This gives our customers the added security of knowing that their card details are never held on our system and that the transactions are made in the most secure online environment possible.

Something went wrong
An error occurred. Please try again, if this issue persists contact our booking hotline.

Price Breakdown

Lead Passenger
{{vm.correspondent.correspondentProfile.title}} {{vm.correspondent.correspondentProfile.firstName}} {{vm.correspondent.correspondentProfile.lastName}}
{{vm.correspondent.correspondentProfile.emailAddress}}
Mobile: {{vm.correspondent.correspondentProfile.personalMobile}}
Subtotal £{{vm.decimalString(vm.basket.priceSummary.totalPrice+vm.getDiscountsTotal())}}
Discount: {{discount.unitDesc}} -£{{vm.decimalString(vm.mathAbs(discount.price))}}

Total £{{vm.decimalString(vm.basket.priceSummary.totalPrice)}}

Payment on Account

This field is required
This field is required Please enter a valid email

This is the email address to which any ATOL certificates will be sent, if required.

This field is required

Important:
All the flight-inclusive holidays on this website are financially protected by the ATOL scheme. When you pay you will be supplied with an ATOL Certificate. Please ask for it and check to ensure that everything you booked (flights, hotels and other services) is listed on it. Please see our booking conditions for further information or for more information about financial protection and the ATOL Certificate go to: www.atol.org.uk/ATOLcertificate. (This does not apply to those flights departing from the Isle of Man and Jersey which are covered by our ABTA bond.)

Customer Information

All correspondence for this booking will be addressed to the person below

Lead Passenger
{{vm.correspondent.correspondentProfile.title}} {{vm.correspondent.correspondentProfile.firstName}} {{vm.correspondent.correspondentProfile.lastName}}
Please note:
The lead passengers address and contact details are taken from the phonepop
Subtotal £{{vm.decimalString(vm.basket.priceSummary.totalPrice+vm.getDiscountsTotal())}}
Discount: {{discount.unitDesc}} -£{{vm.decimalString(vm.mathAbs(discount.price))}}

Total £{{vm.decimalString(vm.basket.priceSummary.totalPrice)}}
Deposit required (including insurance) £{{vm.decimalString(vm.basket.priceSummary.deposit)}}
Remainder due by {{vm.moment(vm.basket.priceSummary.balanceDueDate,"YYYY-MM-DD").format("DD MMM YYYY")}}

Important:
Please ensure you have checked that all the customer and booking details are correct before clicking the "Complete Booking" button. Once you click the "Complete Booking" button you will not be able to edit these details and you will need to restart the booking from the beginning.

Price Breakdown

Lead Passenger
{{vm.correspondent.correspondentProfile.title}} {{vm.correspondent.correspondentProfile.firstName}} {{vm.correspondent.correspondentProfile.lastName}}
{{vm.correspondent.correspondentProfile.emailAddress}}
Mobile: {{vm.correspondent.correspondentProfile.personalMobile}}
Please note:
The agency details such as address and ABTA number are taken from the phonepop
Subtotal £{{vm.decimalString(vm.basket.priceSummary.totalPrice+vm.getDiscountsTotal())}}
Discount: {{discount.unitDesc}} -£{{vm.decimalString(vm.mathAbs(discount.price))}}

Total £{{vm.decimalString(vm.basket.priceSummary.totalPrice)}}

Booking Agent Details

Please enter the details of the travel agent making the reservation on behalf of the customer

This field is required
This field is required Please enter a valid email

This is the email address that any booking information including ATOL certificates (if required) will be sent

Important:
Please ensure you have checked that all the customer and booking details are correct before clicking the "Complete Booking" button. Once you click the "Complete Booking" button you will not be able to edit these details and you will need to restart the booking from the beginning.

Thank you for booking

We are confident you’re going to have a wonderful time on your holiday!

{{vm.confirmation.reservationDetails.holidayName}}

Booking Ref {{vm.confirmation.reservationDetails.bookingRef}}
Email {{vm.c.emailAddress}}
Passengers {{vm.r.adults}} Adult{{vm.r.adults>1?'s':''}}, {{vm.r.children}} Child{{vm.r.children==1?'':'ren'}}
Dates {{vm.moment(vm.r.departureDate,"YYYY-MM-DD").format("DD MMM")}} - {{vm.moment(vm.r.departureDate,"YYYY-MM-DD").add(vm.r.duration.replace(" nights",""),"days").format("DD MMM, YYYY")}}
Total £{{vm.decimalString(vm.r.priceSummary.totalPrice)}}
Deposit Paid £{{vm.decimalString(vm.r.priceSummary.deposit)}}
Remainder Due By {{vm.moment(vm.r.priceSummary.balanceDueDate,"YYYY-MM-DD").format("DD MMM YYYY")}}

Within 24 hours you will receive a confirmation email containing all the details from your booking.

If you don’t receive your confirmation after 24 hours please contact our support team at [email protected] or call us on 0330 341 1927.

  • © Newmarket Holidays
  • ABTA: V7812. ATOL: 2325

Newmarket Holidays Ltd, Cantium House, Railway Approach, Wallington, SM6 0BP

Company Registration No. 02238316 (England and Wales)

Loading...
Calculating...
  • from {{vm.oceanPort}}
    • Departing
    • {{vm.moment(vm.basket.departureDetails.outbound[0].depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    • {{vm.basket.departureDetails.outbound[0].departsDesc}} ({{vm.basket.departureDetails.outbound[0].departs}})
    • {{vm.basket.departureDetails.outbound[vm.basket.departureDetails.outbound.length - 1].depTime}} - {{vm.basket.departureDetails.outbound[vm.basket.departureDetails.outbound.length - 1].arrTime}}
    • Returning
    • {{vm.moment(vm.basket.departureDetails.inbound[0].depDate,"YYYY-MM-DD").format("ddd DD MMM YYYY")}}
    • {{vm.basket.departureDetails.inbound[0].departsDesc}} ({{vm.basket.departureDetails.inbound[0].departs}})
    • {{vm.basket.departureDetails.inbound[vm.basket.departureDetails.inbound.length - 1].depTime}} - {{vm.basket.departureDetails.inbound[vm.basket.departureDetails.inbound.length - 1].arrTime}}
  • Accommodation Details Ship & Cabin(s)
    • {{acc.accName}}
    {{unit.unitDesc}} £{{vm.decimalString(unit.price)}}
  • Insurance
{{discount.unitDesc}} -£{{vm.decimalString(vm.mathAbs(discount.price))}}
Total Price £{{vm.decimalString(vm.basket.priceSummary.totalPrice)}}
Call us now on
0330 341 1927

Booking Hotline
Mon, Wed, Thu 9am - 6:30pm
Tuesday 9:15am - 6:30pm
Friday 9am - 6pm
Saturday 9am - 5pm
Sunday 10am - 4pm
Customer Services
Mon, Tue, Wed, Thu, Fri 9am - 6pm
Tuesday 9am - 6:30pm
Saturday 9am - 5pm
Sunday 10am - 4pm